From 7cd9b70bd69f65c4ea055bf96c96959af25b9348 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Wed, 3 May 2023 16:48:26 +0200 Subject: [PATCH 01/20] feat: added possibility to define postPrepare Actions on Stage and Wave level. Further added the possibility to set all prepare nodes at first in a stage --- .vscode/launch.json | 1 + .../test/pipelines/test/integ.newpipeline.ts | 133 ++++- ...g.newpipeline_with_allPrepareNodesFirst.ts | 75 +++ .../integ.newpipeline_with_postPrepare.ts | 79 +++ packages/aws-cdk-lib/pipelines/README.md | 41 +- .../lib/blueprint/stack-deployment.ts | 34 +- .../lib/blueprint/stage-deployment.ts | 63 +- .../pipelines/lib/blueprint/step.ts | 9 +- .../pipelines/lib/blueprint/wave.ts | 45 +- .../lib/codepipeline/codepipeline.ts | 541 ++++++++++++------ .../lib/helpers-internal/pipeline-graph.ts | 233 ++++++-- .../lib/helpers-internal/pipeline-queries.ts | 8 +- .../helpers-internal/pipeline-graph.test.ts | 40 +- .../helpers-internal/pipeline-queries.test.ts | 6 +- 14 files changed, 1043 insertions(+), 265 deletions(-) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 66f6db80dcd14..936bf55717b05 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { // Has convenient settings for attaching to a NodeJS process for debugging purposes // that are NOT the default and otherwise every developers has to configure for diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index 258b3e80d1bdc..f399a5d004a8e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,60 +1,139 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true -import * as sqs from 'aws-cdk-lib/aws-sqs'; -import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; -import { Construct } from 'constructs'; +import { App, Fn, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import * as s3 from 'aws-cdk-lib/aws-s3'; import * as pipelines from 'aws-cdk-lib/pipelines'; - +import { Construct } from 'constructs'; class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); + const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { + availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], + vpcId: Fn.importValue('VPC1-VPC-ID'), + privateSubnetIds: [ + Fn.importValue('VPC1-AZ1Subnet1'), + Fn.importValue('VPC1-AZ2Subnet1'), + Fn.importValue('VPC1-AZ3Subnet1'), + ], + privateSubnetRouteTableIds: [ + Fn.importValue('VPC1-RouteTableIDAZ1'), + Fn.importValue('VPC1-RouteTableIDAZ2'), + Fn.importValue('VPC1-RouteTableIDAZ3'), + ], + }); + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub('rix0rrr/cdk-pipelines-demo', 'main'), - commands: [ - 'npm ci', - 'npm run build', - 'npx cdk synth', - ], + input: pipelines.CodePipelineSource.s3( + s3.Bucket.fromBucketName( + this, + 'SourceBucket-' + id, + '290582178775-gitsync', + ), + 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + + 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), + pipelineName: 'test-cdk-contribution', + selfMutation: false, + synthCodeBuildDefaults: { + vpc: vpc, + }, + allPrepareNodesFirst: true, }); - pipeline.addStage(new AppStage(this, 'Beta')); + // const beta = new AppStage(this, 'Beta'); + // pipeline.addStage(beta, { + // allPrepareNodesFirst: true, + // stackSteps: [ + // { + // stack: beta.stack1, + // changeSet: [new pipelines.ManualApprovalStep('b approve')], // Executed after stack is prepared but before the stack is deployed + // }, + // ], + // }); + // const st=pipeline.addStage(new AppStage(this, 'test'), { + // allPrepareNodesFirst: true, + // postPrepare: [new pipelines.ManualApprovalStep('Approval0')], + // }); + // console.log(st.postPrepare); + const group = pipeline + .addWave('Wave1', { + postPrepare: [new pipelines.ManualApprovalStep('Approval1')], + }); + // group.addPostPrepare(new pipelines.ManualApprovalStep('Approval11')); - const group = pipeline.addWave('Wave1'); - group.addStage(new AppStage(this, 'Prod1')); + // group.addStage(new AppStage2(this, 'Prod1'), { + // // postPrepare: [new pipelines.ManualApprovalStep('Approval13')], + // }); group.addStage(new AppStage(this, 'Prod2')); - const group2 = pipeline.addWave('Wave2'); + const group2 = pipeline.addWave('Wave2', { + // postPrepare: [new pipelines.ManualApprovalStep('Approval2')], + }); group2.addStage(new AppStage(this, 'Prod3')); - group2.addStage(new AppStage(this, 'Prod4')); - group2.addStage(new AppStage(this, 'Prod5')); - group2.addStage(new AppStage(this, 'Prod6')); + // group2.addStage(new AppStage(this, 'Prod4')); + // group2.addStage(new AppStage(this, 'Prod5')); + // group2.addStage(new AppStage(this, 'Prod6')); } + } + class AppStage extends Stage { + public readonly stack1: Stack; + public readonly stack2: Stack; constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack1 = new Stack(this, 'Stack1'); - const queue1 = new sqs.Queue(stack1, 'Queue'); + this.stack1 = new Stack(this, 'Stack1'); - const stack2 = new Stack(this, 'Stack2'); - new sqs.Queue(stack2, 'OtherQueue', { - deadLetterQueue: { - queue: queue1, - maxReceiveCount: 5, - }, - }); + // const q1=new sqs.Queue(this.stack1, 'Queue'); + this.stack2 = new Stack(this, 'Stack2'); + this.stack2.addDependency(this.stack1); + // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); } + } +// class AppStage3 extends Stage { +// public readonly stack1: Stack; + +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// this.stack1 = new Stack(this, 'Stack1'); + + +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage4 extends Stage { + +// public readonly stack2: Stack; +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// // const q1=new sqs.Queue(this.stack1, 'Queue'); +// this.stack2 = new Stack(this, 'Stack2'); +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage2 extends Stage { +// public readonly stack3: Stack; +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); +// this.stack3 = new Stack(this, 'Stack3'); +// } +// } + const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineStack'); +new PipelineStack(app, 'TestCdkContributionStack'); app.synth(); \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts new file mode 100644 index 0000000000000..391166fd12628 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts @@ -0,0 +1,75 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as pipelines from 'aws-cdk-lib/pipelines'; +import { Construct } from 'constructs'; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { + synth: new pipelines.ShellStep('Synth', { + input: pipelines.CodePipelineSource.gitHub( + 'rix0rrr/cdk-pipelines-demo', + 'main', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], + }), + allPrepareNodesFirst: true, + }); + + pipeline.addStage(new AppStage(this, 'Beta'), { + }); + + const group = pipeline.addWave('Wave1'); + group.addStage(new AppStage(this, 'Prod1')); + group.addStage(new AppStage(this, 'Prod2')); + + const group2 = pipeline.addWave('Wave2'); + group2.addStage(new AppStage2(this, 'Prod3')); + group2.addStage(new AppStage3(this, 'Prod4')); + } +} + +class AppStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); + } +} + +class AppStage2 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack1'); + } +} + +class AppStage3 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack2'); + } +} + +const app = new App({ + context: { + '@aws-cdk/core:newStyleStackSynthesis': '1', + }, +}); +new PipelineStack(app, 'PipelineWithAllPrepareNodesFirstStack'); +app.synth(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts new file mode 100644 index 0000000000000..72ca8de2d3843 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts @@ -0,0 +1,79 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as pipelines from 'aws-cdk-lib/pipelines'; +import { Construct } from 'constructs'; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'PipelineWithPostPrepare', { + synth: new pipelines.ShellStep('Synth', { + input: pipelines.CodePipelineSource.gitHub( + 'rix0rrr/cdk-pipelines-demo', + 'main', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], + }), + allPrepareNodesFirst: true, + }); + + pipeline.addStage(new AppStage(this, 'Beta'), { + postPrepare: [new pipelines.ManualApprovalStep('Approval0')], + }); + + const group = pipeline.addWave('Wave1', { + + postPrepare: [new pipelines.ManualApprovalStep('Approval1')], + }); + group.addStage(new AppStage(this, 'Prod1')); + group.addStage(new AppStage(this, 'Prod2')); + + const group2 = pipeline.addWave('Wave2', { postPrepare: [new pipelines.ManualApprovalStep('Approval2')] }); + group2.addStage(new AppStage2(this, 'Prod3')); + group2.addStage(new AppStage3(this, 'Prod4')); + } +} + +class AppStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); + } +} + +class AppStage2 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack1'); + } +} + +class AppStage3 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack2'); + } +} + +const app = new App({ + context: { + '@aws-cdk/core:newStyleStackSynthesis': '1', + }, +}); +new PipelineStack(app, 'PipelineWithPostPrepareStack'); +app.synth(); diff --git a/packages/aws-cdk-lib/pipelines/README.md b/packages/aws-cdk-lib/pipelines/README.md index 1bd9403dbeb91..a08081ea3d717 100644 --- a/packages/aws-cdk-lib/pipelines/README.md +++ b/packages/aws-cdk-lib/pipelines/README.md @@ -1,6 +1,5 @@ # CDK Pipelines - A construct library for painless Continuous Delivery of CDK applications. CDK Pipelines is an *opinionated construct library*. It is purpose-built to @@ -162,9 +161,9 @@ has been bootstrapped (see below), and then execute deploying the Run the following commands to get the pipeline going: ```console -$ git commit -a -$ git push -$ cdk deploy PipelineStack +git commit -a +git push +cdk deploy PipelineStack ``` Administrative permissions to the account are only necessary up until @@ -565,6 +564,38 @@ class PipelineStack extends Stack { } ``` +#### Deploying with all change sets at first + +Deployment is done by default with `CodePipeline` engine using change sets, +i.e. to first create a change set and then execute it. This allows you to inject +steps that inspect the change set and approve or reject it, but failed deployments +are not retryable and creation of the change set costs time. The change sets tough are +being sorted within the pipeline by its dependencies. This means that some of the change set +might not be at the top level of a stage. Therefore there is the possibility to define, that +every change set is set as the first action (all in parallel) + +The creation of change sets at the top level can be switched on by setting `allPrepareNodesFirst: true`. +`useChangeSets` needs to be activated in order to use this feature. + +```ts +declare const synth: pipelines.ShellStep; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { + synth, + + allPrepareNodesFirst: true, + }); + } +} +``` + +It is further possible to add Steps in between the change sets and the deploy nodes (e.g. a manual approval step). This allows inspecting all change sets before deploying the stacks +in the desired order. + ### Validation Every `addStage()` and `addWave()` command takes additional options. As part of these options, @@ -1595,7 +1626,7 @@ $ env CDK_NEW_BOOTSTRAP=1 npx cdk bootstrap \ ``` - Update all impacted stacks in the pipeline to use this new qualifier. -See https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html for more info. +See for more info. ```ts new Stack(this, 'MyStack', { diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts index aa4f7e6c25ffa..65c3d1a8f835c 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts @@ -1,9 +1,9 @@ import * as path from 'path'; import * as cxapi from '../../../cx-api'; -import { AssetType } from './asset-type'; -import { Step } from './step'; import { AssetManifestReader, DockerImageManifestEntry, FileManifestEntry } from '../private/asset-manifest'; import { isAssetManifest } from '../private/cloud-assembly-internals'; +import { AssetType } from './asset-type'; +import { Step } from './step'; /** * Properties for a `StackDeployment` @@ -91,11 +91,14 @@ export class StackDeployment { /** * Build a `StackDeployment` from a Stack Artifact in a Cloud Assembly. */ - public static fromArtifact(stackArtifact: cxapi.CloudFormationStackArtifact): StackDeployment { + public static fromArtifact( + stackArtifact: cxapi.CloudFormationStackArtifact, + ): StackDeployment { const artRegion = stackArtifact.environment.region; const region = artRegion === cxapi.UNKNOWN_REGION ? undefined : artRegion; const artAccount = stackArtifact.environment.account; - const account = artAccount === cxapi.UNKNOWN_ACCOUNT ? undefined : artAccount; + const account = + artAccount === cxapi.UNKNOWN_ACCOUNT ? undefined : artAccount; return new StackDeployment({ account, @@ -104,7 +107,10 @@ export class StackDeployment { stackArtifactId: stackArtifact.id, constructPath: stackArtifact.hierarchicalId, stackName: stackArtifact.stackName, - absoluteTemplatePath: path.join(stackArtifact.assembly.directory, stackArtifact.templateFile), + absoluteTemplatePath: path.join( + stackArtifact.assembly.directory, + stackArtifact.templateFile, + ), assumeRoleArn: stackArtifact.assumeRoleArn, executionRoleArn: stackArtifact.cloudFormationExecutionRoleArn, assets: extractStackAssets(stackArtifact), @@ -206,6 +212,12 @@ export class StackDeployment { */ public readonly post: Step[] = []; + /** + * Additional steps to run after all of the prepare-nodes in the stage + */ + + public readonly postPrepare: Step[] = []; + private constructor(props: StackDeploymentProps) { this.stackArtifactId = props.stackArtifactId; this.constructPath = props.constructPath; @@ -216,7 +228,9 @@ export class StackDeployment { this.executionRoleArn = props.executionRoleArn; this.stackName = props.stackName; this.absoluteTemplatePath = props.absoluteTemplatePath; - this.templateUrl = props.templateS3Uri ? s3UrlFromUri(props.templateS3Uri, props.region) : undefined; + this.templateUrl = props.templateS3Uri + ? s3UrlFromUri(props.templateS3Uri, props.region) + : undefined; this.assets = new Array(); @@ -242,10 +256,16 @@ export class StackDeployment { * @param changeSet steps executed after stack.prepare and before stack.deploy * @param post steps executed after stack.deploy */ - public addStackSteps(pre: Step[], changeSet: Step[], post: Step[]) { + public addStackSteps( + pre: Step[], + changeSet: Step[], + post: Step[], + postPrepare: Step[], + ) { this.pre.push(...pre); this.changeSet.push(...changeSet); this.post.push(...post); + this.postPrepare.push(...postPrepare); } } diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts index b2fedfcc0dd9f..78fa4f79d3daa 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts @@ -1,9 +1,9 @@ import * as cdk from '../../../core'; import { CloudFormationStackArtifact } from '../../../cx-api'; -import { StackDeployment } from './stack-deployment'; -import { StackSteps, Step } from './step'; import { isStackArtifact } from '../private/cloud-assembly-internals'; import { pipelineSynth } from '../private/construct-internals'; +import { StackDeployment } from './stack-deployment'; +import { StackSteps, Step } from './step'; /** * Properties for a `StageDeployment` @@ -30,6 +30,13 @@ export interface StageDeploymentProps { */ readonly post?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Instructions for additional steps that are run at the stack level * @@ -56,36 +63,54 @@ export class StageDeployment { if (assembly.stacks.length === 0) { // If we don't check here, a more puzzling "stage contains no actions" // error will be thrown come deployment time. - throw new Error(`The given Stage construct ('${stage.node.path}') should contain at least one Stack`); + throw new Error( + `The given Stage construct ('${stage.node.path}') should contain at least one Stack`, + ); } - const stepFromArtifact = new Map(); + const stepFromArtifact = new Map< + CloudFormationStackArtifact, + StackDeployment + >(); for (const artifact of assembly.stacks) { const step = StackDeployment.fromArtifact(artifact); stepFromArtifact.set(artifact, step); } if (props.stackSteps) { for (const stackstep of props.stackSteps) { - const stackArtifact = assembly.getStackArtifact(stackstep.stack.artifactId); + const stackArtifact = assembly.getStackArtifact( + stackstep.stack.artifactId, + ); const thisStep = stepFromArtifact.get(stackArtifact); if (!thisStep) { - throw new Error('Logic error: we just added a step for this artifact but it disappeared.'); + throw new Error( + 'Logic error: we just added a step for this artifact but it disappeared.', + ); } - thisStep.addStackSteps(stackstep.pre ?? [], stackstep.changeSet ?? [], stackstep.post ?? []); + thisStep.addStackSteps( + stackstep.pre ?? [], + stackstep.changeSet ?? [], + stackstep.post ?? [], + stackstep.postPrepare ?? [], + ); } } for (const artifact of assembly.stacks) { const thisStep = stepFromArtifact.get(artifact); if (!thisStep) { - throw new Error('Logic error: we just added a step for this artifact but it disappeared.'); + throw new Error( + 'Logic error: we just added a step for this artifact but it disappeared.', + ); } const stackDependencies = artifact.dependencies.filter(isStackArtifact); for (const dep of stackDependencies) { const depStep = stepFromArtifact.get(dep); if (!depStep) { - throw new Error(`Stack '${artifact.id}' depends on stack not found in same Stage: '${dep.id}'`); + throw new Error( + `Stack '${artifact.id}' depends on stack not found in same Stage: '${dep.id}'`, + ); } thisStep.addStackDependency(depStep); } @@ -112,6 +137,13 @@ export class StageDeployment { */ public readonly post: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + public readonly postPrepare: Step[]; + /** * Instructions for additional steps that are run at stack level */ @@ -123,12 +155,16 @@ export class StageDeployment { */ public readonly prepareStep?: boolean; + private constructor( /** The stacks deployed in this stage */ - public readonly stacks: StackDeployment[], props: StageDeploymentProps = {}) { + public readonly stacks: StackDeployment[], + props: StageDeploymentProps = {}, + ) { this.stageName = props.stageName ?? ''; this.pre = props.pre ?? []; this.post = props.post ?? []; + this.postPrepare = props.postPrepare ?? []; this.stackSteps = props.stackSteps ?? []; } @@ -145,4 +181,11 @@ export class StageDeployment { public addPost(...steps: Step[]) { this.post.push(...steps); } + + /** + * Add an additional step to run after all of the stacks in this stage + */ + public addPostPrepare(...steps: Step[]) { + this.postPrepare.push(...steps); + } } \ No newline at end of file diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts index 3c61e7df5d309..6fc586fb68ed5 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts @@ -1,7 +1,7 @@ import { Stack, Token } from '../../../core'; +import { StepOutput } from '../helpers-internal/step-output'; import { FileSet, IFileSetProducer } from './file-set'; import { StackOutputReference } from './shell-step'; -import { StepOutput } from '../helpers-internal/step-output'; /** * A generic Step which can be added to a Pipeline @@ -142,6 +142,13 @@ export interface StackSteps { */ readonly pre?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Steps that execute after stack is prepared but before stack is deployed * diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts index 5234ae18c8aec..a0b3a5e3df72b 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts @@ -19,6 +19,14 @@ export interface WaveProps { * @default - No additional steps */ readonly post?: Step[]; + + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + } /** @@ -35,16 +43,27 @@ export class Wave { */ public readonly post: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + */ + public readonly postPrepare: Step[]; + /** * The stages that are deployed in this wave */ public readonly stages: StageDeployment[] = []; + constructor( /** Identifier for this Wave */ - public readonly id: string, props: WaveProps = {}) { + public readonly id: string, + props: WaveProps = {}, + ) { this.pre = props.pre ?? []; this.post = props.post ?? []; + this.postPrepare = props.postPrepare ?? []; + } /** @@ -72,6 +91,13 @@ export class Wave { public addPost(...steps: Step[]) { this.post.push(...steps); } + + /** + * Add an additional step to run after all of the stacks in this stage + */ + public addPostPrepare(...steps: Step[]) { + this.postPrepare.push(...steps); + } } /** @@ -92,12 +118,21 @@ export interface AddStageOpts { */ readonly post?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Instructions for stack level steps * * @default - No additional instructions */ readonly stackSteps?: StackSteps[]; + + } /** @@ -117,4 +152,12 @@ export interface WaveOptions { * @default - No additional steps */ readonly post?: Step[]; + + /** + * Additional steps to run after all of the prepare-nodes in the stage + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + } \ No newline at end of file diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts index 94682cc6fb1a1..fc5a5e09d8ab0 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; import * as cb from '../../../aws-codebuild'; @@ -6,18 +7,11 @@ import * as cpa from '../../../aws-codepipeline-actions'; import * as ec2 from '../../../aws-ec2'; import * as iam from '../../../aws-iam'; import * as s3 from '../../../aws-s3'; -import { Aws, CfnCapabilities, Duration, PhysicalName, Stack, Names } from '../../../core'; +import { Aws, CfnCapabilities, Duration, Names, PhysicalName, Stack } from '../../../core'; import * as cxapi from '../../../cx-api'; -import { Construct } from 'constructs'; -import { ArtifactMap } from './artifact-map'; -import { CodeBuildStep } from './codebuild-step'; -import { CodePipelineActionFactoryResult, ICodePipelineActionFactory } from './codepipeline-action-factory'; -import { CodeBuildFactory, mergeCodeBuildOptions } from './private/codebuild-factory'; -import { namespaceStepOutputs } from './private/outputs'; -import { StackOutputsMap } from './stack-outputs-map'; import { AssetType, FileSet, IFileSetProducer, ManualApprovalStep, ShellStep, StackAsset, StackDeployment, Step } from '../blueprint'; -import { DockerCredential, dockerCredentialsInstallCommands, DockerCredentialUsage } from '../docker-credentials'; -import { GraphNodeCollection, isGraph, AGraphNode, PipelineGraph } from '../helpers-internal'; +import { DockerCredential, DockerCredentialUsage, dockerCredentialsInstallCommands } from '../docker-credentials'; +import { AGraphNode, GraphNodeCollection, PipelineGraph, isGraph } from '../helpers-internal'; import { PipelineBase } from '../main'; import { AssetSingletonRole } from '../private/asset-singleton-role'; import { CachedFnSub } from '../private/cached-fnsub'; @@ -28,6 +22,12 @@ import { toPosixPath } from '../private/fs'; import { actionName, stackVariableNamespace } from '../private/identifiers'; import { enumerate, flatten, maybeSuffix, noUndefined } from '../private/javascript'; import { writeTemplateConfiguration } from '../private/template-configuration'; +import { ArtifactMap } from './artifact-map'; +import { CodeBuildStep } from './codebuild-step'; +import { CodePipelineActionFactoryResult, ICodePipelineActionFactory } from './codepipeline-action-factory'; +import { CodeBuildFactory, mergeCodeBuildOptions } from './private/codebuild-factory'; +import { namespaceStepOutputs } from './private/outputs'; +import { StackOutputsMap } from './stack-outputs-map'; /** @@ -245,6 +245,12 @@ export interface CodePipelineProps { * @default - A new S3 bucket will be created. */ readonly artifactBucket?: s3.IBucket; + + /** + * If all "prepare" step should be placed all together as the first actions within a stage/wave + */ + + readonly allPrepareNodesFirst?: boolean; } /** @@ -351,11 +357,12 @@ export class CodePipeline extends PipelineBase { private readonly dockerCredentials: DockerCredential[]; private readonly cachedFnSub = new CachedFnSub(); private stackOutputs: StackOutputsMap; - + private readonly allPrepareNodesFirst: boolean; /** * Asset roles shared for publishing */ - private readonly assetCodeBuildRoles: Map = new Map(); + private readonly assetCodeBuildRoles: Map = + new Map(); /** * This is set to the very first artifact produced in the pipeline @@ -367,7 +374,11 @@ export class CodePipeline extends PipelineBase { private readonly singlePublisherPerAssetType: boolean; private readonly cliVersion?: string; - constructor(scope: Construct, id: string, private readonly props: CodePipelineProps) { + constructor( + scope: Construct, + id: string, + private readonly props: CodePipelineProps, + ) { super(scope, id, props); this.selfMutationEnabled = props.selfMutation ?? true; @@ -376,6 +387,7 @@ export class CodePipeline extends PipelineBase { this.cliVersion = props.cliVersion ?? preferredCliVersion(); this.useChangeSets = props.useChangeSets ?? true; this.stackOutputs = new StackOutputsMap(this); + this.allPrepareNodesFirst = props.allPrepareNodesFirst ?? false; } /** @@ -385,7 +397,9 @@ export class CodePipeline extends PipelineBase { */ public get synthProject(): cb.IProject { if (!this._synthProject) { - throw new Error('Call pipeline.buildPipeline() before reading this property'); + throw new Error( + 'Call pipeline.buildPipeline() before reading this property', + ); } return this._synthProject; } @@ -398,10 +412,14 @@ export class CodePipeline extends PipelineBase { */ public get selfMutationProject(): cb.IProject { if (!this._pipeline) { - throw new Error('Call pipeline.buildPipeline() before reading this property'); + throw new Error( + 'Call pipeline.buildPipeline() before reading this property', + ); } if (!this._selfMutationProject) { - throw new Error('No selfMutationProject since the selfMutation property was set to false'); + throw new Error( + 'No selfMutationProject since the selfMutation property was set to false', + ); } return this._selfMutationProject; } @@ -418,7 +436,6 @@ export class CodePipeline extends PipelineBase { return this._pipeline; } - protected doBuildPipeline(): void { if (this._pipeline) { throw new Error('Pipeline already created'); @@ -428,26 +445,45 @@ export class CodePipeline extends PipelineBase { if (this.props.codePipeline) { if (this.props.pipelineName) { - throw new Error('Cannot set \'pipelineName\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'pipelineName' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.crossAccountKeys !== undefined) { - throw new Error('Cannot set \'crossAccountKeys\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'crossAccountKeys' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.enableKeyRotation !== undefined) { - throw new Error('Cannot set \'enableKeyRotation\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'enableKeyRotation' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.reuseCrossRegionSupportStacks !== undefined) { - throw new Error('Cannot set \'reuseCrossRegionSupportStacks\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'reuseCrossRegionSupportStacks' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.role !== undefined) { - throw new Error('Cannot set \'role\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'role' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.artifactBucket !== undefined) { - throw new Error('Cannot set \'artifactBucket\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'artifactBucket' if an existing CodePipeline is given using 'codePipeline'", + ); } this._pipeline = this.props.codePipeline; } else { + + if (this.props.allPrepareNodesFirst && this.props.useChangeSets === false) { + throw new Error( + "Cannot set 'allPrepareNodesFirst: true' if 'useChangeSets' is set to false.", + ); + } + this._pipeline = new cp.Pipeline(this, 'Pipeline', { pipelineName: this.props.pipelineName, crossAccountKeys: this.props.crossAccountKeys ?? false, @@ -465,6 +501,7 @@ export class CodePipeline extends PipelineBase { selfMutation: this.selfMutationEnabled, singlePublisherPerAssetType: this.singlePublisherPerAssetType, prepareStep: this.useChangeSets, + allPrepareNodesFirst: this.allPrepareNodesFirst, }); this._cloudAssemblyFileSet = graphFromBp.cloudAssemblyFileSet; @@ -472,12 +509,18 @@ export class CodePipeline extends PipelineBase { // Write a dotfile for the pipeline layout const dotFile = `${Names.uniqueId(this)}.dot`; - fs.writeFileSync(path.join(this.myCxAsmRoot, dotFile), graphFromBp.graph.renderDot().replace(/input\.dot/, dotFile), { encoding: 'utf-8' }); + fs.writeFileSync( + path.join(this.myCxAsmRoot, dotFile), + graphFromBp.graph.renderDot().replace(/input\.dot/, dotFile), + { encoding: 'utf-8' }, + ); } private get myCxAsmRoot(): string { if (!this._myCxAsmRoot) { - throw new Error('Can\'t read \'myCxAsmRoot\' if build deployment not called yet'); + throw new Error( + "Can't read 'myCxAsmRoot' if build deployment not called yet", + ); } return this._myCxAsmRoot; } @@ -496,7 +539,9 @@ export class CodePipeline extends PipelineBase { let beforeSelfMutation = this.selfMutationEnabled; for (const stageNode of flatten(structure.graph.sortedChildren())) { if (!isGraph(stageNode)) { - throw new Error(`Top-level children must be graphs, got '${stageNode}'`); + throw new Error( + `Top-level children must be graphs, got '${stageNode}'`, + ); } // Group our ordered tranches into blocks of 50. @@ -504,10 +549,14 @@ export class CodePipeline extends PipelineBase { const chunks = chunkTranches(50, stageNode.sortedLeaves()); const actionsOverflowStage = chunks.length > 1; for (const [i, tranches] of enumerate(chunks)) { - const stageName = actionsOverflowStage ? `${stageNode.id}.${i + 1}` : stageNode.id; + const stageName = actionsOverflowStage + ? `${stageNode.id}.${i + 1}` + : stageNode.id; const pipelineStage = this.pipeline.addStage({ stageName }); - const sharedParent = new GraphNodeCollection(flatten(tranches)).commonAncestor(); + const sharedParent = new GraphNodeCollection( + flatten(tranches), + ).commonAncestor(); let runOrder = 1; for (const tranche of tranches) { @@ -519,9 +568,10 @@ export class CodePipeline extends PipelineBase { const nodeType = this.nodeTypeFromNode(node); const name = actionName(node, sharedParent); - const variablesNamespace = node.data?.type === 'step' - ? namespaceStepOutputs(node.data.step, pipelineStage, name) - : undefined; + const variablesNamespace = + node.data?.type === 'step' + ? namespaceStepOutputs(node.data.step, pipelineStage, name) + : undefined; const result = factory.produceAction(pipelineStage, { actionName: name, @@ -531,7 +581,9 @@ export class CodePipeline extends PipelineBase { fallbackArtifact: this._fallbackArtifact, pipeline: this, // If this step happens to produce a CodeBuild job, set the default options - codeBuildDefaults: nodeType ? this.codeBuildDefaultsFor(nodeType) : undefined, + codeBuildDefaults: nodeType + ? this.codeBuildDefaultsFor(nodeType) + : undefined, beforeSelfMutation, variablesNamespace, stackOutputsMap: this.stackOutputs, @@ -558,11 +610,16 @@ export class CodePipeline extends PipelineBase { * Some minor state manipulation of CodeBuild projects and pipeline * artifacts. */ - private postProcessNode(node: AGraphNode, result: CodePipelineActionFactoryResult) { + private postProcessNode( + node: AGraphNode, + result: CodePipelineActionFactoryResult, + ) { const nodeType = this.nodeTypeFromNode(node); if (result.project) { - const dockerUsage = dockerUsageFromCodeBuild(nodeType ?? CodeBuildProjectType.STEP); + const dockerUsage = dockerUsageFromCodeBuild( + nodeType ?? CodeBuildProjectType.STEP, + ); if (dockerUsage) { for (const c of this.dockerCredentials) { c.grantRead(result.project, dockerUsage); @@ -577,8 +634,14 @@ export class CodePipeline extends PipelineBase { } } - if (node.data?.type === 'step' && node.data.step.primaryOutput?.primaryOutput && !this._fallbackArtifact) { - this._fallbackArtifact = this.artifacts.toCodePipeline(node.data.step.primaryOutput?.primaryOutput); + if ( + node.data?.type === 'step' && + node.data.step.primaryOutput?.primaryOutput && + !this._fallbackArtifact + ) { + this._fallbackArtifact = this.artifacts.toCodePipeline( + node.data.step.primaryOutput?.primaryOutput, + ); } } @@ -591,7 +654,9 @@ export class CodePipeline extends PipelineBase { case 'group': case 'stack-group': case undefined: - throw new Error(`actionFromNode: did not expect to get group nodes: ${node.data?.type}`); + throw new Error( + `actionFromNode: did not expect to get group nodes: ${node.data?.type}`, + ); case 'self-update': return this.selfMutateAction(); @@ -604,14 +669,22 @@ export class CodePipeline extends PipelineBase { case 'execute': return node.data.withoutChangeSet - ? this.executeDeploymentAction(node.data.stack, node.data.captureOutputs) - : this.executeChangeSetAction(node.data.stack, node.data.captureOutputs); + ? this.executeDeploymentAction( + node.data.stack, + node.data.captureOutputs, + ) + : this.executeChangeSetAction( + node.data.stack, + node.data.captureOutputs, + ); case 'step': return this.actionFromStep(node, node.data.step); default: - throw new Error(`CodePipeline does not support graph nodes of type '${node.data?.type}'. You are probably using a feature this CDK Pipelines implementation does not support.`); + throw new Error( + `CodePipeline does not support graph nodes of type '${node.data?.type}'. You are probably using a feature this CDK Pipelines implementation does not support.`, + ); } } @@ -627,7 +700,10 @@ export class CodePipeline extends PipelineBase { * The rest is expressed in terms of these 3, or in terms of graph nodes * which are handled elsewhere. */ - private actionFromStep(node: AGraphNode, step: Step): ICodePipelineActionFactory { + private actionFromStep( + node: AGraphNode, + step: Step, + ): ICodePipelineActionFactory { const nodeType = this.nodeTypeFromNode(node); // CodePipeline-specific steps first -- this includes Sources @@ -638,9 +714,8 @@ export class CodePipeline extends PipelineBase { // Now built-in steps if (step instanceof ShellStep || step instanceof CodeBuildStep) { // The 'CdkBuildProject' will be the construct ID of the CodeBuild project, necessary for backwards compat - let constructId = nodeType === CodeBuildProjectType.SYNTH - ? 'CdkBuildProject' - : step.id; + let constructId = + nodeType === CodeBuildProjectType.SYNTH ? 'CdkBuildProject' : step.id; return step instanceof CodeBuildStep ? CodeBuildFactory.fromCodeBuildStep(constructId, step) @@ -650,101 +725,174 @@ export class CodePipeline extends PipelineBase { if (step instanceof ManualApprovalStep) { return { produceAction: (stage, options) => { - stage.addAction(new cpa.ManualApprovalAction({ - actionName: options.actionName, - runOrder: options.runOrder, - additionalInformation: step.comment, - })); + stage.addAction( + new cpa.ManualApprovalAction({ + actionName: options.actionName, + runOrder: options.runOrder, + additionalInformation: step.comment, + }), + ); return { runOrdersConsumed: 1 }; }, }; } - throw new Error(`Deployment step '${step}' is not supported for CodePipeline-backed pipelines`); + throw new Error( + `Deployment step '${step}' is not supported for CodePipeline-backed pipelines`, + ); } - private createChangeSetAction(stack: StackDeployment): ICodePipelineActionFactory { + private createChangeSetAction( + stack: StackDeployment, + ): ICodePipelineActionFactory { const changeSetName = 'PipelineChange'; - const templateArtifact = this.artifacts.toCodePipeline(this._cloudAssemblyFileSet!); + const templateArtifact = this.artifacts.toCodePipeline( + this._cloudAssemblyFileSet!, + ); const templateConfigurationPath = this.writeTemplateConfiguration(stack); - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; - const relativeTemplatePath = path.relative(this.myCxAsmRoot, stack.absoluteTemplatePath); + const relativeTemplatePath = path.relative( + this.myCxAsmRoot, + stack.absoluteTemplatePath, + ); return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationCreateReplaceChangeSetAction({ - actionName: options.actionName, - runOrder: options.runOrder, - changeSetName, - stackName: stack.stackName, - templatePath: templateArtifact.atPath(toPosixPath(relativeTemplatePath)), - adminPermissions: true, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - deploymentRole: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.executionRoleArn), - region: region, - templateConfiguration: templateConfigurationPath - ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) - : undefined, - cfnCapabilities: [CfnCapabilities.NAMED_IAM, CfnCapabilities.AUTO_EXPAND], - })); + stage.addAction( + new cpa.CloudFormationCreateReplaceChangeSetAction({ + actionName: options.actionName, + runOrder: options.runOrder, + changeSetName, + stackName: stack.stackName, + templatePath: templateArtifact.atPath( + toPosixPath(relativeTemplatePath), + ), + adminPermissions: true, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + deploymentRole: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.executionRoleArn, + ), + region: region, + templateConfiguration: templateConfigurationPath + ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) + : undefined, + cfnCapabilities: [ + CfnCapabilities.NAMED_IAM, + CfnCapabilities.AUTO_EXPAND, + ], + }), + ); return { runOrdersConsumed: 1 }; }, }; } - private executeChangeSetAction(stack: StackDeployment, captureOutputs: boolean): ICodePipelineActionFactory { + private executeChangeSetAction( + stack: StackDeployment, + captureOutputs: boolean, + ): ICodePipelineActionFactory { const changeSetName = 'PipelineChange'; - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationExecuteChangeSetAction({ - actionName: options.actionName, - runOrder: options.runOrder, - changeSetName, - stackName: stack.stackName, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - region: region, - variablesNamespace: captureOutputs ? stackVariableNamespace(stack) : undefined, - })); + stage.addAction( + new cpa.CloudFormationExecuteChangeSetAction({ + actionName: options.actionName, + runOrder: options.runOrder, + changeSetName, + stackName: stack.stackName, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + region: region, + variablesNamespace: captureOutputs + ? stackVariableNamespace(stack) + : undefined, + }), + ); return { runOrdersConsumed: 1 }; }, }; } - private executeDeploymentAction(stack: StackDeployment, captureOutputs: boolean): ICodePipelineActionFactory { - const templateArtifact = this.artifacts.toCodePipeline(this._cloudAssemblyFileSet!); + private executeDeploymentAction( + stack: StackDeployment, + captureOutputs: boolean, + ): ICodePipelineActionFactory { + const templateArtifact = this.artifacts.toCodePipeline( + this._cloudAssemblyFileSet!, + ); const templateConfigurationPath = this.writeTemplateConfiguration(stack); - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; - const relativeTemplatePath = path.relative(this.myCxAsmRoot, stack.absoluteTemplatePath); + const relativeTemplatePath = path.relative( + this.myCxAsmRoot, + stack.absoluteTemplatePath, + ); return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationCreateUpdateStackAction({ - actionName: options.actionName, - runOrder: options.runOrder, - stackName: stack.stackName, - templatePath: templateArtifact.atPath(toPosixPath(relativeTemplatePath)), - adminPermissions: true, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - deploymentRole: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.executionRoleArn), - region: region, - templateConfiguration: templateConfigurationPath - ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) - : undefined, - cfnCapabilities: [CfnCapabilities.NAMED_IAM, CfnCapabilities.AUTO_EXPAND], - variablesNamespace: captureOutputs ? stackVariableNamespace(stack) : undefined, - })); + stage.addAction( + new cpa.CloudFormationCreateUpdateStackAction({ + actionName: options.actionName, + runOrder: options.runOrder, + stackName: stack.stackName, + templatePath: templateArtifact.atPath( + toPosixPath(relativeTemplatePath), + ), + adminPermissions: true, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + deploymentRole: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.executionRoleArn, + ), + region: region, + templateConfiguration: templateConfigurationPath + ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) + : undefined, + cfnCapabilities: [ + CfnCapabilities.NAMED_IAM, + CfnCapabilities.AUTO_EXPAND, + ], + variablesNamespace: captureOutputs + ? stackVariableNamespace(stack) + : undefined, + }), + ); return { runOrdersConsumed: 1 }; }, @@ -755,16 +903,17 @@ export class CodePipeline extends PipelineBase { const installSuffix = this.cliVersion ? `@${this.cliVersion}` : ''; const pipelineStack = Stack.of(this.pipeline); - const pipelineStackIdentifier = pipelineStack.node.path ?? pipelineStack.stackName; + const pipelineStackIdentifier = + pipelineStack.node.path ?? pipelineStack.stackName; const step = new CodeBuildStep('SelfMutate', { projectName: maybeSuffix(this.props.pipelineName, '-selfupdate'), input: this._cloudAssemblyFileSet, - installCommands: [ - `npm install -g aws-cdk${installSuffix}`, - ], + installCommands: [`npm install -g aws-cdk${installSuffix}`], commands: [ - `cdk -a ${toPosixPath(embeddedAsmPath(this.pipeline))} deploy ${pipelineStackIdentifier} --require-approval=never --verbose`, + `cdk -a ${toPosixPath( + embeddedAsmPath(this.pipeline), + )} deploy ${pipelineStackIdentifier} --require-approval=never --verbose`, ], rolePolicyStatements: [ @@ -774,7 +923,11 @@ export class CodePipeline extends PipelineBase { resources: [`arn:*:iam::${Stack.of(this.pipeline).account}:role/*`], conditions: { 'ForAnyValue:StringEquals': { - 'iam:ResourceTag/aws-cdk:bootstrap-role': ['image-publishing', 'file-publishing', 'deploy'], + 'iam:ResourceTag/aws-cdk:bootstrap-role': [ + 'image-publishing', + 'file-publishing', + 'deploy', + ], }, }, }), @@ -797,38 +950,47 @@ export class CodePipeline extends PipelineBase { }); } - private publishAssetsAction(node: AGraphNode, assets: StackAsset[]): ICodePipelineActionFactory { + private publishAssetsAction( + node: AGraphNode, + assets: StackAsset[], + ): ICodePipelineActionFactory { const installSuffix = this.cliVersion ? `@${this.cliVersion}` : ''; - const commands = assets.map(asset => { - const relativeAssetManifestPath = path.relative(this.myCxAsmRoot, asset.assetManifestPath); - return `cdk-assets --path "${toPosixPath(relativeAssetManifestPath)}" --verbose publish "${asset.assetSelector}"`; + const commands = assets.map((asset) => { + const relativeAssetManifestPath = path.relative( + this.myCxAsmRoot, + asset.assetManifestPath, + ); + return `cdk-assets --path "${toPosixPath( + relativeAssetManifestPath, + )}" --verbose publish "${asset.assetSelector}"`; }); const assetType = assets[0].assetType; - if (assets.some(a => a.assetType !== assetType)) { - throw new Error('All assets in a single publishing step must be of the same type'); + if (assets.some((a) => a.assetType !== assetType)) { + throw new Error( + 'All assets in a single publishing step must be of the same type', + ); } const role = this.obtainAssetCodeBuildRole(assets[0].assetType); - for (const roleArn of assets.flatMap(a => a.assetPublishingRoleArn ? [a.assetPublishingRoleArn] : [])) { + for (const roleArn of assets.flatMap((a) => + a.assetPublishingRoleArn ? [a.assetPublishingRoleArn] : [], + )) { // The ARNs include raw AWS pseudo parameters (e.g., ${AWS::Partition}), which need to be substituted. role.addAssumeRole(this.cachedFnSub.fnSub(roleArn)); - }; + } // The base commands that need to be run const script = new CodeBuildStep(node.id, { commands, - installCommands: [ - `npm install -g cdk-assets${installSuffix}`, - ], + installCommands: [`npm install -g cdk-assets${installSuffix}`], input: this._cloudAssemblyFileSet, buildEnvironment: { - privileged: ( - assets.some(asset => asset.assetType === AssetType.DOCKER_IMAGE) || - this.props.codeBuildDefaults?.buildEnvironment?.privileged - ), + privileged: + assets.some((asset) => asset.assetType === AssetType.DOCKER_IMAGE) || + this.props.codeBuildDefaults?.buildEnvironment?.privileged, }, role, }); @@ -846,7 +1008,9 @@ export class CodePipeline extends PipelineBase { private nodeTypeFromNode(node: AGraphNode) { if (node.data?.type === 'step') { - return !!node.data?.isBuildStep ? CodeBuildProjectType.SYNTH : CodeBuildProjectType.STEP; + return !!node.data?.isBuildStep + ? CodeBuildProjectType.SYNTH + : CodeBuildProjectType.STEP; } if (node.data?.type === 'publish-assets') { return CodeBuildProjectType.ASSETS; @@ -857,7 +1021,9 @@ export class CodePipeline extends PipelineBase { return undefined; } - private codeBuildDefaultsFor(nodeType: CodeBuildProjectType): CodeBuildOptions | undefined { + private codeBuildDefaultsFor( + nodeType: CodeBuildProjectType, + ): CodeBuildOptions | undefined { const defaultOptions: CodeBuildOptions = { buildEnvironment: { buildImage: CDKP_DEFAULT_CODEBUILD_IMAGE, @@ -867,32 +1033,46 @@ export class CodePipeline extends PipelineBase { const typeBasedCustomizations = { [CodeBuildProjectType.SYNTH]: this.props.dockerEnabledForSynth - ? mergeCodeBuildOptions(this.props.synthCodeBuildDefaults, { buildEnvironment: { privileged: true } }) + ? mergeCodeBuildOptions(this.props.synthCodeBuildDefaults, { + buildEnvironment: { privileged: true }, + }) : this.props.synthCodeBuildDefaults, - [CodeBuildProjectType.ASSETS]: this.props.assetPublishingCodeBuildDefaults, + [CodeBuildProjectType.ASSETS]: + this.props.assetPublishingCodeBuildDefaults, - [CodeBuildProjectType.SELF_MUTATE]: this.props.dockerEnabledForSelfMutation - ? mergeCodeBuildOptions(this.props.selfMutationCodeBuildDefaults, { buildEnvironment: { privileged: true } }) + [CodeBuildProjectType.SELF_MUTATE]: this.props + .dockerEnabledForSelfMutation + ? mergeCodeBuildOptions(this.props.selfMutationCodeBuildDefaults, { + buildEnvironment: { privileged: true }, + }) : this.props.selfMutationCodeBuildDefaults, [CodeBuildProjectType.STEP]: {}, }; const dockerUsage = dockerUsageFromCodeBuild(nodeType); - const dockerCommands = dockerUsage !== undefined - ? dockerCredentialsInstallCommands(dockerUsage, this.dockerCredentials, 'both') - : []; - const typeBasedDockerCommands = dockerCommands.length > 0 ? { - partialBuildSpec: cb.BuildSpec.fromObject({ - version: '0.2', - phases: { - pre_build: { - commands: dockerCommands, - }, - }, - }), - } : {}; + const dockerCommands = + dockerUsage !== undefined + ? dockerCredentialsInstallCommands( + dockerUsage, + this.dockerCredentials, + 'both', + ) + : []; + const typeBasedDockerCommands = + dockerCommands.length > 0 + ? { + partialBuildSpec: cb.BuildSpec.fromObject({ + version: '0.2', + phases: { + pre_build: { + commands: dockerCommands, + }, + }, + }), + } + : {}; return mergeCodeBuildOptions( defaultOptions, @@ -902,31 +1082,53 @@ export class CodePipeline extends PipelineBase { ); } - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string): iam.IRole; - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string | undefined): iam.IRole | undefined; - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string | undefined): iam.IRole | undefined { - - if (!arn) { return undefined; } + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string + ): iam.IRole; + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string | undefined + ): iam.IRole | undefined; + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string | undefined, + ): iam.IRole | undefined { + if (!arn) { + return undefined; + } // Use placeholder arn as construct ID. const id = arn; // https://github.com/aws/aws-cdk/issues/7255 - let existingRole = scope.node.tryFindChild(`ImmutableRole${id}`) as iam.IRole; - if (existingRole) { return existingRole; } + let existingRole = scope.node.tryFindChild( + `ImmutableRole${id}`, + ) as iam.IRole; + if (existingRole) { + return existingRole; + } // For when #7255 is fixed. existingRole = scope.node.tryFindChild(id) as iam.IRole; - if (existingRole) { return existingRole; } + if (existingRole) { + return existingRole; + } const arnToImport = cxapi.EnvironmentPlaceholders.replace(arn, { region: region ?? Aws.REGION, accountId: account ?? Aws.ACCOUNT_ID, partition: Aws.PARTITION, }); - return iam.Role.fromRoleArn(scope, id, arnToImport, { mutable: false, addGrantsToResources: true }); + return iam.Role.fromRoleArn(scope, id, arnToImport, { + mutable: false, + addGrantsToResources: true, + }); } /** @@ -934,8 +1136,12 @@ export class CodePipeline extends PipelineBase { * * Currently only supports tags. */ - private writeTemplateConfiguration(stack: StackDeployment): string | undefined { - if (Object.keys(stack.tags).length === 0) { return undefined; } + private writeTemplateConfiguration( + stack: StackDeployment, + ): string | undefined { + if (Object.keys(stack.tags).length === 0) { + return undefined; + } const absConfigPath = `${stack.absoluteTemplatePath}.config.json`; const relativeConfigPath = path.relative(this.myCxAsmRoot, absConfigPath); @@ -966,23 +1172,28 @@ export class CodePipeline extends PipelineBase { const stack = Stack.of(this); const rolePrefix = assetType === AssetType.DOCKER_IMAGE ? 'Docker' : 'File'; - const assetRole = new AssetSingletonRole(this.assetsScope, `${rolePrefix}Role`, { - roleName: PhysicalName.GENERATE_IF_NEEDED, - assumedBy: new iam.CompositePrincipal( - new iam.ServicePrincipal('codebuild.amazonaws.com'), - new iam.AccountPrincipal(stack.account), - ), - }); + const assetRole = new AssetSingletonRole( + this.assetsScope, + `${rolePrefix}Role`, + { + roleName: PhysicalName.GENERATE_IF_NEEDED, + assumedBy: new iam.CompositePrincipal( + new iam.ServicePrincipal('codebuild.amazonaws.com'), + new iam.AccountPrincipal(stack.account), + ), + }, + ); // Grant pull access for any ECR registries and secrets that exist if (assetType === AssetType.DOCKER_IMAGE) { - this.dockerCredentials.forEach(reg => reg.grantRead(assetRole, DockerCredentialUsage.ASSET_PUBLISHING)); + this.dockerCredentials.forEach((reg) => + reg.grantRead(assetRole, DockerCredentialUsage.ASSET_PUBLISHING), + ); } this.assetCodeBuildRoles.set(assetType, assetRole); return assetRole; } - } function dockerUsageFromCodeBuild(cbt: CodeBuildProjectType): DockerCredentialUsage | undefined { diff --git a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts index cad9fe7769c1a..f1195a9d32727 100644 --- a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts +++ b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts @@ -1,7 +1,20 @@ -import { DependencyBuilders, Graph, GraphNode, GraphNodeCollection } from './graph'; -import { PipelineQueries } from './pipeline-queries'; -import { AssetType, FileSet, StackAsset, StackDeployment, StageDeployment, Step, Wave } from '../blueprint'; +import { + AssetType, + FileSet, + StackAsset, + StackDeployment, + StageDeployment, + Step, + Wave, +} from '../blueprint'; import { PipelineBase } from '../main/pipeline-base'; +import { + DependencyBuilders, + Graph, + GraphNode, + GraphNodeCollection, +} from './graph'; +import { PipelineQueries } from './pipeline-queries'; export interface PipelineGraphProps { /** @@ -32,6 +45,12 @@ export interface PipelineGraphProps { * @default true */ readonly prepareStep?: boolean; + + /** + * If all "prepare" step should be placed all together as the first actions within a stage/wave + */ + + readonly allPrepareNodesFirst?: boolean; } /** @@ -43,7 +62,7 @@ export class PipelineGraph { /** * A Step object that may be used as the producer of FileSets that should not be represented in the graph */ - public static readonly NO_STEP: Step = new class extends Step { }('NO_STEP'); + public static readonly NO_STEP: Step = new (class extends Step {})('NO_STEP'); public readonly graph: AGraph = Graph.of('', { type: 'group' }); public readonly cloudAssemblyFileSet: FileSet; @@ -54,24 +73,31 @@ export class PipelineGraph { private readonly assetNodesByType = new Map(); private readonly synthNode?: AGraphNode; private readonly selfMutateNode?: AGraphNode; - private readonly stackOutputDependencies = new DependencyBuilders(); + private readonly stackOutputDependencies = + new DependencyBuilders(); /** Mapping steps to depbuilders, satisfied by the step itself */ private readonly nodeDependencies = new DependencyBuilders(); private readonly publishTemplate: boolean; private readonly prepareStep: boolean; private readonly singlePublisher: boolean; + private readonly allPrepareNodesFirst: boolean; private lastPreparationNode?: AGraphNode; private _fileAssetCtr = 0; private _dockerAssetCtr = 0; - constructor(public readonly pipeline: PipelineBase, props: PipelineGraphProps = {}) { + constructor( + public readonly pipeline: PipelineBase, + props: PipelineGraphProps = {}, + ) { this.publishTemplate = props.publishTemplate ?? false; this.prepareStep = props.prepareStep ?? true; this.singlePublisher = props.singlePublisherPerAssetType ?? false; this.queries = new PipelineQueries(pipeline); + this.allPrepareNodesFirst = props.allPrepareNodesFirst ?? false; + if (pipeline.synth instanceof Step) { this.synthNode = this.addBuildStep(pipeline.synth); if (this.synthNode?.data?.type === 'step') { @@ -82,7 +108,9 @@ export class PipelineGraph { const cloudAssembly = pipeline.synth.primaryOutput?.primaryOutput; if (!cloudAssembly) { - throw new Error(`The synth step must produce the cloud assembly artifact, but doesn't: ${pipeline.synth}`); + throw new Error( + `The synth step must produce the cloud assembly artifact, but doesn't: ${pipeline.synth}`, + ); } this.cloudAssemblyFileSet = cloudAssembly; @@ -97,7 +125,7 @@ export class PipelineGraph { this.lastPreparationNode = this.selfMutateNode; } - const waves = pipeline.waves.map(w => this.addWave(w)); + const waves = pipeline.waves.map((w) => this.addWave(w)); // Make sure the waves deploy sequentially for (let i = 1; i < waves.length; i++) { @@ -116,26 +144,60 @@ export class PipelineGraph { } private addWave(wave: Wave): AGraph { + if (wave.postPrepare.length > 0 && this.allPrepareNodesFirst === false) { + throw new Error( + '"postPrepare" is set, but property "allPrepareNodesFirst" is not set to "true"', + ); + } + // If the wave only has one Stage in it, don't add an additional Graph around it - const retGraph: AGraph = wave.stages.length === 1 - ? this.addStage(wave.stages[0]) - : Graph.of(wave.id, { type: 'group' }, wave.stages.map(s => this.addStage(s))); + const retGraph: AGraph = + wave.stages.length === 1 + ? this.addStage( + wave.stages[0], + wave.postPrepare ?? [], + ) + : Graph.of( + wave.id, + { type: 'group' }, + wave.stages.map((s) => + this.addStage( + s, + wave.postPrepare ?? [], + ), + ), + ); this.addPrePost(wave.pre, wave.post, retGraph); + // this.addPostPrepare(wave.postPrepare, retGraph); retGraph.dependOn(this.lastPreparationNode); this.graph.add(retGraph); return retGraph; } - private addStage(stage: StageDeployment): AGraph { + private addStage( + stage: StageDeployment, + wavePostPrepareSteps: Step[], + ): AGraph { const retGraph: AGraph = Graph.of(stage.stageName, { type: 'group' }); - + const prepareNodes = new GraphNodeCollection(new Array()); const stackGraphs = new Map(); + if (stage.postPrepare.length > 0 && this.allPrepareNodesFirst === false) { + throw new Error( + '"postPrepare" is set, but property "allPrepareNodesFirst" is not set to "true"', + ); + } + for (const stack of stage.stacks) { - const stackGraph: AGraph = Graph.of(this.simpleStackName(stack.stackName, stage.stageName), { type: 'stack-group', stack }); - const prepareNode: AGraphNode | undefined = this.prepareStep ? aGraphNode('Prepare', { type: 'prepare', stack }) : undefined; + const stackGraph: AGraph = Graph.of( + this.simpleStackName(stack.stackName, stage.stageName), + { type: 'stack-group', stack }, + ); + const prepareNode: AGraphNode | undefined = this.prepareStep + ? aGraphNode('Prepare-' + stack.stackName, { type: 'prepare', stack }) + : undefined; const deployNode: AGraphNode = aGraphNode('Deploy', { type: 'execute', stack, @@ -149,8 +211,43 @@ export class PipelineGraph { // node or node collection that represents first point of contact in each stack let firstDeployNode; if (prepareNode) { - stackGraph.add(prepareNode); - deployNode.dependOn(prepareNode); + prepareNodes.nodes.push(prepareNode); + // retGraph.add(prepareNode); + + if (this.allPrepareNodesFirst) { + retGraph.add(prepareNode); + } else { + stackGraph.add(prepareNode); + + // this.addPostPrepare(stage.postPrepare, stackGraph); + } + + const postPrepareNodesWave = this.addPostPrepare( + wavePostPrepareSteps ?? [], + retGraph, + ); + if (postPrepareNodesWave.nodes.length > 0) { + for (const n of postPrepareNodesWave.nodes) { + deployNode.dependOn(n); + n.dependOn(prepareNode); + } + } else { + deployNode.dependOn(prepareNode); + } + + const postPrepareNodes = this.addPostPrepare( + stage.postPrepare, + retGraph, + ); + if (postPrepareNodes.nodes.length > 0) { + for (const n of postPrepareNodes.nodes) { + deployNode.dependOn(n); + n.dependOn(prepareNode); + } + } else { + deployNode.dependOn(prepareNode); + } + firstDeployNode = prepareNode; } else { firstDeployNode = deployNode; @@ -159,9 +256,16 @@ export class PipelineGraph { // add changeset steps at the stack level if (stack.changeSet.length > 0) { if (prepareNode) { - this.addChangeSetNode(stack.changeSet, prepareNode, deployNode, stackGraph); + this.addChangeSetNode( + stack.changeSet, + prepareNode, + deployNode, + stackGraph, + ); } else { - throw new Error(`Cannot use \'changeSet\' steps for stack \'${stack.stackName}\': the pipeline does not support them or they have been disabled`); + throw new Error( + `Cannot use \'changeSet\' steps for stack \'${stack.stackName}\': the pipeline does not support them or they have been disabled`, + ); } } @@ -175,12 +279,16 @@ export class PipelineGraph { const cloudAssembly = this.cloudAssemblyFileSet; - firstDeployNode.dependOn(this.addStepNode(cloudAssembly.producer, retGraph)); + firstDeployNode.dependOn( + this.addStepNode(cloudAssembly.producer, retGraph), + ); // add the template asset if (this.publishTemplate) { if (!stack.templateAsset) { - throw new Error(`"publishTemplate" is enabled, but stack ${stack.stackArtifactId} does not have a template asset`); + throw new Error( + `"publishTemplate" is enabled, but stack ${stack.stackArtifactId} does not have a template asset`, + ); } firstDeployNode.dependOn(this.publishAsset(stack.templateAsset)); @@ -215,11 +323,17 @@ export class PipelineGraph { } this.addPrePost(stage.pre, stage.post, retGraph); - + // this.addPostPrepare(stage.addPostPrepare,) + // this.addPostPrepare(stage.postPrepare, retGraph); return retGraph; } - private addChangeSetNode(changeSet: Step[], prepareNode: AGraphNode, deployNode: AGraphNode, graph: AGraph) { + private addChangeSetNode( + changeSet: Step[], + prepareNode: AGraphNode, + deployNode: AGraphNode, + graph: AGraph, + ) { for (const c of changeSet) { const changeSetNode = this.addStepNode(c, graph); changeSetNode?.dependOn(prepareNode); @@ -227,6 +341,17 @@ export class PipelineGraph { } } + private addPostPrepare(postPrepare: Step[], parent: AGraph) { + const currentNodes = new GraphNodeCollection(parent.nodes); + const postPrepareNodes = new GraphNodeCollection(new Array()); + for (const p of postPrepare) { + const preNode = this.addStepNode(p, parent); + postPrepareNodes?.dependOn(...currentNodes.nodes); + postPrepareNodes.nodes.push(preNode!); + } + return postPrepareNodes; + } + private addPrePost(pre: Step[], post: Step[], parent: AGraph) { const currentNodes = new GraphNodeCollection(parent.nodes); const preNodes = new GraphNodeCollection(new Array()); @@ -257,10 +382,14 @@ export class PipelineGraph { * Adds all dependencies for that Node to the same Step as well. */ private addStepNode(step: Step, parent: AGraph) { - if (step === PipelineGraph.NO_STEP) { return undefined; } + if (step === PipelineGraph.NO_STEP) { + return undefined; + } const previous = this.added.get(step); - if (previous) { return previous; } + if (previous) { + return previous; + } const node: AGraphNode = aGraphNode(step.id, { type: 'step', step }); @@ -302,25 +431,38 @@ export class PipelineGraph { // May need to do this more than once to recursively add all missing producers let attempts = 20; while (attempts-- > 0) { - const unsatisfied = this.nodeDependencies.unsatisfiedBuilders().filter(([s]) => s !== PipelineGraph.NO_STEP); - if (unsatisfied.length === 0) { return; } + const unsatisfied = this.nodeDependencies + .unsatisfiedBuilders() + .filter(([s]) => s !== PipelineGraph.NO_STEP); + if (unsatisfied.length === 0) { + return; + } for (const [step, builder] of unsatisfied) { // Add a new node for this step to the parent of the "leftmost" consumer. - const leftMostConsumer = new GraphNodeCollection(builder.consumers).first(); + const leftMostConsumer = new GraphNodeCollection( + builder.consumers, + ).first(); const parent = leftMostConsumer.parentGraph; if (!parent) { - throw new Error(`Consumer doesn't have a parent graph: ${leftMostConsumer}`); + throw new Error( + `Consumer doesn't have a parent graph: ${leftMostConsumer}`, + ); } this.addStepNode(step, parent); } } const unsatisfied = this.nodeDependencies.unsatisfiedBuilders(); - throw new Error([ - 'Recursion depth too large while adding dependency nodes:', - unsatisfied.map(([step, builder]) => `${builder.consumersAsString()} awaiting ${step}.`), - ].join(' ')); + throw new Error( + [ + 'Recursion depth too large while adding dependency nodes:', + unsatisfied.map( + ([step, builder]) => + `${builder.consumersAsString()} awaiting ${step}.`, + ), + ].join(' '), + ); } private publishAsset(stackAsset: StackAsset): AGraphNode { @@ -330,14 +472,22 @@ export class PipelineGraph { if (assetNode) { // If there's already a node publishing this asset, add as a new publishing // destination to the same node. - } else if (this.singlePublisher && this.assetNodesByType.has(stackAsset.assetType)) { + } else if ( + this.singlePublisher && + this.assetNodesByType.has(stackAsset.assetType) + ) { // If we're doing a single node per type, lookup by that assetNode = this.assetNodesByType.get(stackAsset.assetType)!; } else { // Otherwise add a new one - const id = stackAsset.assetType === AssetType.FILE - ? (this.singlePublisher ? 'FileAsset' : `FileAsset${++this._fileAssetCtr}`) - : (this.singlePublisher ? 'DockerAsset' : `DockerAsset${++this._dockerAssetCtr}`); + const id = + stackAsset.assetType === AssetType.FILE + ? this.singlePublisher + ? 'FileAsset' + : `FileAsset${++this._fileAssetCtr}` + : this.singlePublisher + ? 'DockerAsset' + : `DockerAsset${++this._dockerAssetCtr}`; assetNode = aGraphNode(id, { type: 'publish-assets', assets: [] }); assetsGraph.add(assetNode); @@ -352,7 +502,9 @@ export class PipelineGraph { throw new Error(`${assetNode} has the wrong data.type: ${data?.type}`); } - if (!data.assets.some(a => a.assetSelector === stackAsset.assetSelector)) { + if ( + !data.assets.some((a) => a.assetSelector === stackAsset.assetSelector) + ) { data.assets.push(stackAsset); } @@ -378,8 +530,7 @@ type GraphAnnotation = // Explicitly disable exhaustiveness checking on GraphAnnotation. This forces all consumers to adding // a 'default' clause which allows us to extend this list in the future. // The code below looks weird, 'type' must be a non-enumerable type that is not assignable to 'string'. - | { readonly type: { error: 'you must add a default case to your switch' } } - ; + | { readonly type: { error: 'you must add a default case to your switch' } }; interface ExecuteAnnotation { readonly type: 'execute'; @@ -412,4 +563,4 @@ function aGraphNode(id: string, x: GraphAnnotation): AGraphNode { function stripPrefix(s: string, prefix: string) { return s.startsWith(prefix) ? s.slice(prefix.length) : s; -} \ No newline at end of file +} diff --git a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts index 3d6fa25f11937..f1e0bdb800701 100644 --- a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts +++ b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts @@ -1,4 +1,4 @@ -import { Step, StackOutputReference, StackDeployment, StackAsset, StageDeployment } from '../blueprint'; +import { StackAsset, StackDeployment, StackOutputReference, StageDeployment, Step } from '../blueprint'; import { PipelineBase } from '../main/pipeline-base'; /** @@ -14,11 +14,11 @@ export class PipelineQueries { public stackOutputsReferenced(stack: StackDeployment): string[] { const steps = new Array(); for (const wave of this.pipeline.waves) { - steps.push(...wave.pre, ...wave.post); + steps.push(...wave.pre, ...wave.post, ...wave.postPrepare); for (const stage of wave.stages) { - steps.push(...stage.pre, ...stage.post); + steps.push(...stage.pre, ...stage.post, ...stage.postPrepare); for (const stackDeployment of stage.stacks) { - steps.push(...stackDeployment.pre, ...stackDeployment.changeSet, ...stackDeployment.post); + steps.push(...stackDeployment.pre, ...stackDeployment.changeSet, ...stackDeployment.post, ...stackDeployment.postPrepare); } } } diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index f473d4e0cf001..a4eceab4e6e8e 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -3,7 +3,7 @@ import * as cdkp from '../../../lib'; import { ManualApprovalStep, Step } from '../../../lib'; import { Graph, GraphNode, PipelineGraph } from '../../../lib/helpers-internal'; import { flatten } from '../../../lib/private/javascript'; -import { AppWithOutput, AppWithExposedStacks, OneStackApp, TestApp } from '../../testhelpers/test-app'; +import { AppWithExposedStacks, AppWithOutput, OneStackApp, TestApp } from '../../testhelpers/test-app'; let app: TestApp; @@ -114,6 +114,44 @@ describe('blueprint with wave and stage', () => { ]); }); + test('postPrepare and prepareNodes are added correctly inside stack graph', () => { + // GIVEN + const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + + blueprint.waves[0].addStage(appWithExposedStacks, { + postPrepare: [ + new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + ], + // stackSteps: [ + // { + // stack, + // pre: [ + // new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + // ], + // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], + // post: [new cdkp.ManualApprovalStep('Post Approval')], + // }, + // ], + }); + + // WHEN + const graph = new PipelineGraph(blueprint).graph; + console.log(graph); + // THEN + expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + 'Prepare-Gamma-Stack1', + 'Step1', + 'Step2', + 'Step3', + 'Deploy', + + ]); + }); + test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts index e18806b38c6bf..66212bc7cf914 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts @@ -57,17 +57,17 @@ describe('pipeline-queries', () => { }, { description: 'output referenced in stack pre step', - additionalSetup: () => stackDeployment.addStackSteps([step], [], []), + additionalSetup: () => stackDeployment.addStackSteps([step], [], [], []), expectedResultGetter: () => [outputName], }, { description: 'output referenced in stack changeSet step', - additionalSetup: () => stackDeployment.addStackSteps([], [step], []), + additionalSetup: () => stackDeployment.addStackSteps([], [step], [], []), expectedResultGetter: () => [outputName], }, { description: 'output referenced in stack post step', - additionalSetup: () => stackDeployment.addStackSteps([], [], [step]), + additionalSetup: () => stackDeployment.addStackSteps([], [], [step], []), expectedResultGetter: () => [outputName], }, { From 06c263f950f54c242e33d40c6a4d3bb31461903b Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Thu, 1 Jun 2023 14:09:37 +0200 Subject: [PATCH 02/20] fix --- .../test/pipelines/test/integ.newpipeline.ts | 127 ++++-------------- .../helpers-internal/pipeline-graph.test.ts | 74 +++++----- 2 files changed, 61 insertions(+), 140 deletions(-) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index f399a5d004a8e..b2caa6389407c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,139 +1,60 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true -import { App, Fn, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; -import * as ec2 from 'aws-cdk-lib/aws-ec2'; -import * as s3 from 'aws-cdk-lib/aws-s3'; +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; + class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); - const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { - availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], - vpcId: Fn.importValue('VPC1-VPC-ID'), - privateSubnetIds: [ - Fn.importValue('VPC1-AZ1Subnet1'), - Fn.importValue('VPC1-AZ2Subnet1'), - Fn.importValue('VPC1-AZ3Subnet1'), - ], - privateSubnetRouteTableIds: [ - Fn.importValue('VPC1-RouteTableIDAZ1'), - Fn.importValue('VPC1-RouteTableIDAZ2'), - Fn.importValue('VPC1-RouteTableIDAZ3'), - ], - }); - const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.s3( - s3.Bucket.fromBucketName( - this, - 'SourceBucket-' + id, - '290582178775-gitsync', - ), - 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + - 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', + input: pipelines.CodePipelineSource.gitHub( + 'rix0rrr/cdk-pipelines-demo', + 'main', ), commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), - pipelineName: 'test-cdk-contribution', - selfMutation: false, - synthCodeBuildDefaults: { - vpc: vpc, - }, - allPrepareNodesFirst: true, }); - // const beta = new AppStage(this, 'Beta'); - // pipeline.addStage(beta, { - // allPrepareNodesFirst: true, - // stackSteps: [ - // { - // stack: beta.stack1, - // changeSet: [new pipelines.ManualApprovalStep('b approve')], // Executed after stack is prepared but before the stack is deployed - // }, - // ], - // }); - // const st=pipeline.addStage(new AppStage(this, 'test'), { - // allPrepareNodesFirst: true, - // postPrepare: [new pipelines.ManualApprovalStep('Approval0')], - // }); - // console.log(st.postPrepare); - const group = pipeline - .addWave('Wave1', { - postPrepare: [new pipelines.ManualApprovalStep('Approval1')], - }); - // group.addPostPrepare(new pipelines.ManualApprovalStep('Approval11')); + pipeline.addStage(new AppStage(this, 'Beta')); - // group.addStage(new AppStage2(this, 'Prod1'), { - // // postPrepare: [new pipelines.ManualApprovalStep('Approval13')], - // }); + const group = pipeline.addWave('Wave1'); + group.addStage(new AppStage(this, 'Prod1')); group.addStage(new AppStage(this, 'Prod2')); - const group2 = pipeline.addWave('Wave2', { - // postPrepare: [new pipelines.ManualApprovalStep('Approval2')], - }); + const group2 = pipeline.addWave('Wave2'); group2.addStage(new AppStage(this, 'Prod3')); - // group2.addStage(new AppStage(this, 'Prod4')); - // group2.addStage(new AppStage(this, 'Prod5')); - // group2.addStage(new AppStage(this, 'Prod6')); + group2.addStage(new AppStage(this, 'Prod4')); + group2.addStage(new AppStage(this, 'Prod5')); + group2.addStage(new AppStage(this, 'Prod6')); } - } - class AppStage extends Stage { - public readonly stack1: Stack; - public readonly stack2: Stack; constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - this.stack1 = new Stack(this, 'Stack1'); + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); - // const q1=new sqs.Queue(this.stack1, 'Queue'); - this.stack2 = new Stack(this, 'Stack2'); - this.stack2.addDependency(this.stack1); - // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); } - } -// class AppStage3 extends Stage { -// public readonly stack1: Stack; - -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// this.stack1 = new Stack(this, 'Stack1'); - - -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage4 extends Stage { - -// public readonly stack2: Stack; -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// // const q1=new sqs.Queue(this.stack1, 'Queue'); -// this.stack2 = new Stack(this, 'Stack2'); -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage2 extends Stage { -// public readonly stack3: Stack; -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); -// this.stack3 = new Stack(this, 'Stack3'); -// } -// } const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'TestCdkContributionStack'); -app.synth(); \ No newline at end of file +new PipelineStack(app, 'PipelineStack'); +app.synth(); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index a4eceab4e6e8e..c6bd1ab22fb5f 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -114,43 +114,43 @@ describe('blueprint with wave and stage', () => { ]); }); - test('postPrepare and prepareNodes are added correctly inside stack graph', () => { - // GIVEN - const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - - blueprint.waves[0].addStage(appWithExposedStacks, { - postPrepare: [ - new cdkp.ManualApprovalStep('Step1'), - // new cdkp.ManualApprovalStep('Step2'), - // new cdkp.ManualApprovalStep('Step3'), - ], - // stackSteps: [ - // { - // stack, - // pre: [ - // new cdkp.ManualApprovalStep('Step1'), - // new cdkp.ManualApprovalStep('Step2'), - // new cdkp.ManualApprovalStep('Step3'), - // ], - // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], - // post: [new cdkp.ManualApprovalStep('Post Approval')], - // }, - // ], - }); - - // WHEN - const graph = new PipelineGraph(blueprint).graph; - console.log(graph); - // THEN - expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ - 'Prepare-Gamma-Stack1', - 'Step1', - 'Step2', - 'Step3', - 'Deploy', - - ]); - }); + // test('postPrepare and prepareNodes are added correctly inside stack graph', () => { + // // GIVEN + // const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + + // blueprint.waves[0].addStage(appWithExposedStacks, { + // postPrepare: [ + // new cdkp.ManualApprovalStep('Step1'), + // // new cdkp.ManualApprovalStep('Step2'), + // // new cdkp.ManualApprovalStep('Step3'), + // ], + // // stackSteps: [ + // // { + // // stack, + // // pre: [ + // // new cdkp.ManualApprovalStep('Step1'), + // // new cdkp.ManualApprovalStep('Step2'), + // // new cdkp.ManualApprovalStep('Step3'), + // // ], + // // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], + // // post: [new cdkp.ManualApprovalStep('Post Approval')], + // // }, + // // ], + // }); + + // // WHEN + // const graph = new PipelineGraph(blueprint).graph; + // console.log(graph); + // // THEN + // expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + // 'Prepare-Gamma-Stack1', + // 'Step1', + // 'Step2', + // 'Step3', + // 'Deploy', + + // ]); + // }); test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN From ca7310bca7c6dd7d09636fdbdceb3fff1ae761ee Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Fri, 2 Jun 2023 10:40:08 +0200 Subject: [PATCH 03/20] fix: Changed integ test to use the IntegTest construct --- ....newpipeline-with-allPrepareNodesFirst.ts} | 10 ++- ... => integ.newpipeline-with-postPrepare.ts} | 11 ++- .../helpers-internal/pipeline-graph.test.ts | 73 +++++++++---------- 3 files changed, 55 insertions(+), 39 deletions(-) rename packages/@aws-cdk-testing/framework-integ/test/pipelines/test/{integ.newpipeline_with_allPrepareNodesFirst.ts => integ.newpipeline-with-allPrepareNodesFirst.ts} (91%) rename packages/@aws-cdk-testing/framework-integ/test/pipelines/test/{integ.newpipeline_with_postPrepare.ts => integ.newpipeline-with-postPrepare.ts} (92%) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts similarity index 91% rename from packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts rename to packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts index 391166fd12628..6137a43859237 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts @@ -1,5 +1,6 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { IntegTest } from '@aws-cdk/integ-tests-alpha'; import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as pipelines from 'aws-cdk-lib/pipelines'; @@ -30,6 +31,7 @@ class PipelineStack extends Stack { const group2 = pipeline.addWave('Wave2'); group2.addStage(new AppStage2(this, 'Prod3')); group2.addStage(new AppStage3(this, 'Prod4')); + } } @@ -71,5 +73,11 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineWithAllPrepareNodesFirstStack'); + +const pipeStack = new PipelineStack(app, 'PipelineWithAllPrepareNodesFirstStack'); + +new IntegTest(app, 'Integ', { + testCases: [pipeStack], +}); + app.synth(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts similarity index 92% rename from packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts rename to packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts index 72ca8de2d3843..815bd574a2d9c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts @@ -1,5 +1,8 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { + IntegTest, +} from '@aws-cdk/integ-tests-alpha'; import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as pipelines from 'aws-cdk-lib/pipelines'; @@ -34,6 +37,7 @@ class PipelineStack extends Stack { const group2 = pipeline.addWave('Wave2', { postPrepare: [new pipelines.ManualApprovalStep('Approval2')] }); group2.addStage(new AppStage2(this, 'Prod3')); group2.addStage(new AppStage3(this, 'Prod4')); + } } @@ -75,5 +79,10 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineWithPostPrepareStack'); +const pipeStack = new PipelineStack(app, 'PipelineWithPostPrepareStack'); + +new IntegTest(app, 'Integ', { + testCases: [pipeStack], +}); + app.synth(); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index c6bd1ab22fb5f..340c5fb4dce62 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -114,43 +114,42 @@ describe('blueprint with wave and stage', () => { ]); }); - // test('postPrepare and prepareNodes are added correctly inside stack graph', () => { - // // GIVEN - // const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - - // blueprint.waves[0].addStage(appWithExposedStacks, { - // postPrepare: [ - // new cdkp.ManualApprovalStep('Step1'), - // // new cdkp.ManualApprovalStep('Step2'), - // // new cdkp.ManualApprovalStep('Step3'), - // ], - // // stackSteps: [ - // // { - // // stack, - // // pre: [ - // // new cdkp.ManualApprovalStep('Step1'), - // // new cdkp.ManualApprovalStep('Step2'), - // // new cdkp.ManualApprovalStep('Step3'), - // // ], - // // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], - // // post: [new cdkp.ManualApprovalStep('Post Approval')], - // // }, - // // ], - // }); - - // // WHEN - // const graph = new PipelineGraph(blueprint).graph; - // console.log(graph); - // // THEN - // expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ - // 'Prepare-Gamma-Stack1', - // 'Step1', - // 'Step2', - // 'Step3', - // 'Deploy', - - // ]); - // }); + test('postPrepare and prepareNodes are added correctly inside stack graph', () => { + // GIVEN + const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + + blueprint.waves[0].addStage(appWithExposedStacks, { + postPrepare: [ + new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + ], + // stackSteps: [ + // { + // stack, + // pre: [ + // new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + // ], + // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], + // post: [new cdkp.ManualApprovalStep('Post Approval')], + // }, + // ], + }); + + // WHEN + const graph = new PipelineGraph(blueprint).graph; + // THEN + expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + 'Prepare', + 'Step1', + 'Step2', + 'Step3', + 'Deploy', + + ]); + }); test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN From c74423c30d31fec317ea82aaee207f58cab67aae Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 5 Jun 2023 11:46:25 +0200 Subject: [PATCH 04/20] fixed tests --- .../test/pipelines/test/integ.newpipeline.ts | 145 ++++++++++++++---- .../helpers-internal/pipeline-graph.test.ts | 40 +---- .../test/codepipeline/codepipeline.test.ts | 14 +- .../test/compliance/basic-behavior.test.ts | 12 +- .../test/compliance/environments.test.ts | 10 +- .../test/compliance/stack-ordering.test.ts | 6 +- .../test/compliance/validations.test.ts | 29 ++-- 7 files changed, 157 insertions(+), 99 deletions(-) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index b2caa6389407c..2555c77476987 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,35 +1,95 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true -import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; -import * as sqs from 'aws-cdk-lib/aws-sqs'; +import { IntegTest } from '@aws-cdk/integ-tests-alpha'; +import * as cdk from 'aws-cdk-lib'; +import { App, Stage, StageProps } from 'aws-cdk-lib'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import * as kms from 'aws-cdk-lib/aws-kms'; +import * as logs from 'aws-cdk-lib/aws-logs'; +import * as s3 from 'aws-cdk-lib/aws-s3'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; +export class BaseStack extends cdk.Stack { + constructor(scope: Construct, id: string, props: cdk.StackProps) { + super(scope, id, props); + + const kmsKey = new kms.Key(this, 'KmsKey', { + + }); + ///////////////////////////////////////////////////////////////////////////////////// + /// ///////////////////////////////////////////// Exports /////////////////////////////////// + /// ///////////////////////////////////////////////////////////////////////////////////////// + + this.exportValue(kmsKey.keyArn, { + name: 'test-cdk-contribution', + }); + } +} -class PipelineStack extends Stack { - constructor(scope: Construct, id: string, props?: StackProps) { +export class Base2Stack extends cdk.Stack { + constructor(scope: Construct, id: string, props: cdk.StackProps) { super(scope, id, props); + const KmsKey = kms.Key.fromKeyArn( + this, + 'KmsKey', + cdk.Fn.importValue('test-cdk-contribution'), + ); + new logs.LogGroup(this, 'logGroup', { + retention: logs.RetentionDays.ONE_MONTH, + removalPolicy: cdk.RemovalPolicy.DESTROY, + logGroupName: 'test-cdk-contribution', + encryptionKey: KmsKey, + }); + } +} + +export class TestCdkContributionStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { + availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], + vpcId: cdk.Fn.importValue('VPC1-VPC-ID'), + privateSubnetIds: [ + cdk.Fn.importValue('VPC1-AZ1Subnet1'), + cdk.Fn.importValue('VPC1-AZ2Subnet1'), + cdk.Fn.importValue('VPC1-AZ3Subnet1'), + ], + privateSubnetRouteTableIds: [ + cdk.Fn.importValue('VPC1-RouteTableIDAZ1'), + cdk.Fn.importValue('VPC1-RouteTableIDAZ2'), + cdk.Fn.importValue('VPC1-RouteTableIDAZ3'), + ], + }); + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub( - 'rix0rrr/cdk-pipelines-demo', - 'main', + input: pipelines.CodePipelineSource.s3( + s3.Bucket.fromBucketName( + this, + 'SourceBucket-' + id, + '290582178775-gitsync', + ), + 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + + 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', ), commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), + pipelineName: 'test-cdk-contribution', + selfMutation: false, + synthCodeBuildDefaults: { + vpc: vpc, + }, + allPrepareNodesFirst: true, + + }); + + const group = pipeline.addWave('Wave1', { + postPrepare: [new pipelines.ManualApprovalStep('Approval2')], }); - pipeline.addStage(new AppStage(this, 'Beta')); - const group = pipeline.addWave('Wave1'); - group.addStage(new AppStage(this, 'Prod1')); + // group.addStage(new AppStage2(this, 'Prod1'), {}); group.addStage(new AppStage(this, 'Prod2')); - const group2 = pipeline.addWave('Wave2'); - group2.addStage(new AppStage(this, 'Prod3')); - group2.addStage(new AppStage(this, 'Prod4')); - group2.addStage(new AppStage(this, 'Prod5')); - group2.addStage(new AppStage(this, 'Prod6')); } } @@ -37,24 +97,53 @@ class AppStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack1 = new Stack(this, 'Stack1'); - const queue1 = new sqs.Queue(stack1, 'Queue'); - - const stack2 = new Stack(this, 'Stack2'); - new sqs.Queue(stack2, 'OtherQueue', { - deadLetterQueue: { - queue: queue1, - maxReceiveCount: 5, - }, - }); + const stack1 = new BaseStack(this, 'Base2Stack', {}); + const stack2 = new Base2Stack(this, 'BaseStack', {}); + stack2.addDependency(stack1); } } +// class AppStage3 extends Stage { +// public readonly stack1: Stack; + +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// this.stack1 = new Stack(this, 'Stack1'); + +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage4 extends Stage { + +// public readonly stack2: Stack; +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// // const q1=new sqs.Queue(this.stack1, 'Queue'); +// this.stack2 = new Stack(this, 'Stack2'); +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage2 extends Stage { +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); +// new Base2Stack(this, 'BaseStack', {}); +// } +// } const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineStack'); +const pipeStack = new TestCdkContributionStack( + app, + 'PipelineWithPostPrepareStack', +); + +new IntegTest(app, 'Integ', { + testCases: [pipeStack], +}); + app.synth(); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index 340c5fb4dce62..89f70287b00b9 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -43,7 +43,7 @@ describe('blueprint with one stage', () => { ]); expect(childrenAt(graph, 'CrossAccount', 'Stack')).toEqual([ - 'Prepare', + 'Prepare-CrossAccount-Stack', 'Deploy', ]); }); @@ -114,42 +114,6 @@ describe('blueprint with wave and stage', () => { ]); }); - test('postPrepare and prepareNodes are added correctly inside stack graph', () => { - // GIVEN - const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - - blueprint.waves[0].addStage(appWithExposedStacks, { - postPrepare: [ - new cdkp.ManualApprovalStep('Step1'), - // new cdkp.ManualApprovalStep('Step2'), - // new cdkp.ManualApprovalStep('Step3'), - ], - // stackSteps: [ - // { - // stack, - // pre: [ - // new cdkp.ManualApprovalStep('Step1'), - // new cdkp.ManualApprovalStep('Step2'), - // new cdkp.ManualApprovalStep('Step3'), - // ], - // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], - // post: [new cdkp.ManualApprovalStep('Post Approval')], - // }, - // ], - }); - - // WHEN - const graph = new PipelineGraph(blueprint).graph; - // THEN - expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ - 'Prepare', - 'Step1', - 'Step2', - 'Step3', - 'Deploy', - - ]); - }); test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN @@ -172,7 +136,7 @@ describe('blueprint with wave and stage', () => { 'Step1', 'Step2', 'Step3', - 'Prepare', + 'Prepare-Gamma-Stack1', 'Manual Approval', 'Deploy', 'Post Approval', diff --git a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts index 35586813de3b2..138bd16b48d7f 100644 --- a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts @@ -1,15 +1,15 @@ -import { Template, Annotations, Match } from '../../../assertions'; +import { Construct } from 'constructs'; +import { Annotations, Match, Template } from '../../../assertions'; import * as ccommit from '../../../aws-codecommit'; import { Pipeline } from '../../../aws-codepipeline'; import * as iam from '../../../aws-iam'; -import * as sqs from '../../../aws-sqs'; import * as s3 from '../../../aws-s3'; +import * as sqs from '../../../aws-sqs'; import * as cdk from '../../../core'; import { Stack } from '../../../core'; -import { Construct } from 'constructs'; import * as cdkp from '../../lib'; import { CodePipeline } from '../../lib'; -import { PIPELINE_ENV, TestApp, ModernTestGitHubNpmPipeline, FileAssetApp, TwoStackApp, StageWithStackOutput } from '../testhelpers'; +import { FileAssetApp, ModernTestGitHubNpmPipeline, PIPELINE_ENV, StageWithStackOutput, TestApp, TwoStackApp } from '../testhelpers'; let app: TestApp; @@ -316,7 +316,7 @@ describe('deployment of stack', () => { Configuration: Match.objectLike({ ActionMode: 'CHANGE_SET_REPLACE', }), - Name: 'Prepare', + Name: 'Prepare-App-Stack', }), Match.objectLike({ Configuration: Match.objectLike({ @@ -417,8 +417,8 @@ test('synths with change set approvers', () => { Stages: Match.arrayWith([{ Name: 'TheApp', Actions: Match.arrayWith([ - Match.objectLike({ Name: 'Stack1.Prepare', RunOrder: 1 }), - Match.objectLike({ Name: 'Stack2.Prepare', RunOrder: 1 }), + Match.objectLike({ Name: 'Stack1.Prepare-TheApp-Stack1', RunOrder: 1 }), + Match.objectLike({ Name: 'Stack2.Prepare-TheApp-Stack2', RunOrder: 1 }), Match.objectLike({ Name: 'Stack1.ChangeSetApproval', RunOrder: 2 }), Match.objectLike({ Name: 'Stack1.Deploy', RunOrder: 3 }), Match.objectLike({ Name: 'Stack2.Deploy', RunOrder: 3 }), diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts index 5eeccc0527de4..7899abc7427d2 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts @@ -1,10 +1,10 @@ /* eslint-disable import/no-extraneous-dependencies */ +import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; import { Capture, Match, Template } from '../../../assertions'; import { Stack, Stage, StageProps, Tags } from '../../../core'; -import { Construct } from 'constructs'; -import { behavior, LegacyTestGitHubNpmPipeline, OneStackApp, BucketStack, PIPELINE_ENV, TestApp, ModernTestGitHubNpmPipeline, stringLike } from '../testhelpers'; +import { BucketStack, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, behavior, stringLike } from '../testhelpers'; let app: TestApp; let pipelineStack: Stack; @@ -41,7 +41,7 @@ behavior('stack templates in nested assemblies are correctly addressed', (suite) Name: 'App', Actions: Match.arrayWith([ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), InputArtifacts: [Match.objectLike({})], Configuration: Match.objectLike({ StackName: 'App-Stack', @@ -98,7 +98,7 @@ behavior('overridden stack names are respected', (suite) => { { Name: 'App1', Actions: Match.arrayWith([Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), Configuration: Match.objectLike({ StackName: 'MyFancyStack', }), @@ -107,7 +107,7 @@ behavior('overridden stack names are respected', (suite) => { { Name: 'App2', Actions: Match.arrayWith([Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), Configuration: Match.objectLike({ StackName: 'MyFancyStack', }), @@ -195,7 +195,7 @@ behavior('tags get reflected in pipeline', (suite) => { Name: 'App', Actions: Match.arrayWith([ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), InputArtifacts: [Match.objectLike({})], Configuration: Match.objectLike({ StackName: 'App-Stack', diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts index d543769de4262..046e7d74c56fa 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/environments.test.ts @@ -1,7 +1,7 @@ /* eslint-disable import/no-extraneous-dependencies */ import { Match, Template } from '../../../assertions'; import { Stack } from '../../../core'; -import { behavior, LegacyTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, ModernTestGitHubNpmPipeline, stringLike } from '../testhelpers'; +import { LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, behavior, stringLike } from '../testhelpers'; let app: TestApp; let pipelineStack: Stack; @@ -55,7 +55,7 @@ behavior('action has right settings for same-env deployment', (suite) => { Name: 'Same', Actions: [ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), RoleArn: roleArn('deploy-role'), Configuration: Match.objectLike({ StackName: 'Same-Stack', @@ -113,7 +113,7 @@ behavior('action has right settings for cross-account deployment', (suite) => { Name: 'CrossAccount', Actions: [ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), RoleArn: { 'Fn::Join': ['', [ 'arn:', @@ -198,7 +198,7 @@ behavior('action has right settings for cross-region deployment', (suite) => { Name: 'CrossRegion', Actions: [ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), RoleArn: { 'Fn::Join': ['', [ 'arn:', @@ -288,7 +288,7 @@ behavior('action has right settings for cross-account/cross-region deployment', Name: 'CrossBoth', Actions: [ Match.objectLike({ - Name: stringLike('*Prepare'), + Name: stringLike('*Prepare*'), RoleArn: { 'Fn::Join': ['', [ 'arn:', diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts index 827c2839a6462..c871adde0b97f 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts @@ -1,6 +1,6 @@ import { Match, Template } from '../../../assertions'; import { App, Stack } from '../../../core'; -import { behavior, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, sortByRunOrder, TestApp, ThreeStackApp, TwoStackApp } from '../testhelpers'; +import { LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, ThreeStackApp, TwoStackApp, behavior, sortByRunOrder } from '../testhelpers'; let app: App; let pipelineStack: Stack; @@ -31,9 +31,9 @@ behavior('interdependent stacks are in the right order', (suite) => { Stages: Match.arrayWith([{ Name: 'MyApp', Actions: sortByRunOrder([ - Match.objectLike({ Name: 'Stack1.Prepare' }), + Match.objectLike({ Name: 'Stack1.Prepare-MyApp-Stack1' }), Match.objectLike({ Name: 'Stack1.Deploy' }), - Match.objectLike({ Name: 'Stack2.Prepare' }), + Match.objectLike({ Name: 'Stack2.Prepare-MyApp-Stack2' }), Match.objectLike({ Name: 'Stack2.Deploy' }), ]), }]), diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts index 13d5777602b53..5e1644bf9c73e 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts @@ -9,7 +9,7 @@ import { Stack } from '../../../core'; import * as cdkp from '../../lib'; import { CodePipelineSource, ShellStep } from '../../lib'; import { CDKP_DEFAULT_CODEBUILD_IMAGE } from '../../lib/private/default-codebuild-image'; -import { AppWithOutput, behavior, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, sortByRunOrder, StageWithStackOutput, stringNoLongerThan, TestApp, TwoStackApp } from '../testhelpers'; +import { AppWithOutput, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, StageWithStackOutput, TestApp, TwoStackApp, behavior, sortByRunOrder, stringNoLongerThan } from '../testhelpers'; let app: TestApp; let pipelineStack: Stack; @@ -37,18 +37,23 @@ behavior('can add manual approval after app', (suite) => { }); // THEN - Template.fromStack(pipelineStack).hasResourceProperties('AWS::CodePipeline::Pipeline', { - Stages: Match.arrayWith([{ - Name: 'MyApp', - Actions: sortByRunOrder([ - Match.objectLike({ Name: 'Stack1.Prepare' }), - Match.objectLike({ Name: 'Stack1.Deploy' }), - Match.objectLike({ Name: 'Stack2.Prepare' }), - Match.objectLike({ Name: 'Stack2.Deploy' }), - Match.objectLike({ Name: 'Approve' }), + Template.fromStack(pipelineStack).hasResourceProperties( + 'AWS::CodePipeline::Pipeline', + { + Stages: Match.arrayWith([ + { + Name: 'MyApp', + Actions: sortByRunOrder([ + Match.objectLike({ Name: 'Stack1.Prepare-MyApp-Stack1' }), + Match.objectLike({ Name: 'Stack1.Deploy' }), + Match.objectLike({ Name: 'Stack2.Prepare-MyApp-Stack2' }), + Match.objectLike({ Name: 'Stack2.Deploy' }), + Match.objectLike({ Name: 'Approve' }), + ]), + }, ]), - }]), - }); + }, + ); }); }); From 32c79275cd153a355b6040741250743c4af9f7dc Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 5 Jun 2023 13:11:25 +0200 Subject: [PATCH 05/20] fix: corrected test cases --- .../test/compliance/security-check.test.ts | 77 +++++++++++-------- .../test/compliance/stack-ordering.test.ts | 50 ++++++++---- .../test/compliance/validations.test.ts | 21 ++++- 3 files changed, 94 insertions(+), 54 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts index 88138cb2b840f..bda50d7ed6436 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts @@ -327,40 +327,51 @@ behavior('confirmBroadeningPermissions and notification topic options generates function THEN_codePipelineExpectation() { Template.fromStack(pipelineStack).resourceCountIs('AWS::SNS::Topic', 1); - Template.fromStack(pipelineStack).hasResourceProperties('AWS::CodePipeline::Pipeline', { - Stages: Match.arrayWith([ - { - Name: 'MyStack', - Actions: [ - Match.objectLike({ - Configuration: { - ProjectName: { Ref: stringLike('*SecurityCheck*') }, - EnvironmentVariables: { - 'Fn::Join': ['', [ - stringLike('*'), - { Ref: 'NotificationTopicEB7A0DF1' }, - stringLike('*'), - ]], + + + Template.fromStack(pipelineStack).hasResourceProperties( + 'AWS::CodePipeline::Pipeline', + { + Stages: Match.arrayWith([ + { + Name: 'MyStack', + Actions: [ + Match.objectLike({ + Configuration: { + ProjectName: { Ref: stringLike('*SecurityCheck*') }, + EnvironmentVariables: { + 'Fn::Join': [ + '', + [ + stringLike('*'), + { Ref: 'NotificationTopicEB7A0DF1' }, + stringLike('*'), + ], + ], + }, }, - }, - Name: stringLike('*Check'), - Namespace: stringLike('*'), - RunOrder: 1, - }), - Match.objectLike({ - Configuration: { - CustomData: stringLike('#{*.MESSAGE}'), - ExternalEntityLink: stringLike('#{*.LINK}'), - }, - Name: stringLike('*Approv*'), - RunOrder: 2, - }), - Match.objectLike({ Name: 'Stack.Prepare', RunOrder: 3 }), - Match.objectLike({ Name: 'Stack.Deploy', RunOrder: 4 }), - ], - }, - ]), - }); + Name: stringLike('*Check'), + Namespace: stringLike('*'), + RunOrder: 1, + }), + Match.objectLike({ + Configuration: { + CustomData: stringLike('#{*.MESSAGE}'), + ExternalEntityLink: stringLike('#{*.LINK}'), + }, + Name: stringLike('*Approv*'), + RunOrder: 2, + }), + Match.objectLike({ + Name: stringLike('Stack.Prepare*'), + RunOrder: 3, + }), + Match.objectLike({ Name: 'Stack.Deploy', RunOrder: 4 }), + ], + }, + ]), + }, + ); } }); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts index c871adde0b97f..fd5e9c3d6d38c 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/stack-ordering.test.ts @@ -1,6 +1,17 @@ import { Match, Template } from '../../../assertions'; import { App, Stack } from '../../../core'; -import { LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, ThreeStackApp, TwoStackApp, behavior, sortByRunOrder } from '../testhelpers'; +import { + LegacyTestGitHubNpmPipeline, + ModernTestGitHubNpmPipeline, + OneStackApp, + PIPELINE_ENV, + TestApp, + ThreeStackApp, + TwoStackApp, + behavior, + sortByRunOrder, + stringLike, +} from '../testhelpers'; let app: App; let pipelineStack: Stack; @@ -31,9 +42,9 @@ behavior('interdependent stacks are in the right order', (suite) => { Stages: Match.arrayWith([{ Name: 'MyApp', Actions: sortByRunOrder([ - Match.objectLike({ Name: 'Stack1.Prepare-MyApp-Stack1' }), + Match.objectLike({ Name: stringLike('Stack1.Prepare*') }), Match.objectLike({ Name: 'Stack1.Deploy' }), - Match.objectLike({ Name: 'Stack2.Prepare-MyApp-Stack2' }), + Match.objectLike({ Name: stringLike('Stack2.Prepare*') }), Match.objectLike({ Name: 'Stack2.Deploy' }), ]), }]), @@ -58,21 +69,26 @@ behavior('multiple independent stacks go in parallel', (suite) => { }); function THEN_codePipelineExpectation() { - Template.fromStack(pipelineStack).hasResourceProperties('AWS::CodePipeline::Pipeline', { - Stages: Match.arrayWith([{ - Name: 'MyApp', - Actions: sortByRunOrder([ - // 1 and 2 in parallel - Match.objectLike({ Name: 'Stack1.Prepare' }), - Match.objectLike({ Name: 'Stack2.Prepare' }), - Match.objectLike({ Name: 'Stack1.Deploy' }), - Match.objectLike({ Name: 'Stack2.Deploy' }), - // Then 3 - Match.objectLike({ Name: 'Stack3.Prepare' }), - Match.objectLike({ Name: 'Stack3.Deploy' }), + Template.fromStack(pipelineStack).hasResourceProperties( + 'AWS::CodePipeline::Pipeline', + { + Stages: Match.arrayWith([ + { + Name: 'MyApp', + Actions: sortByRunOrder([ + // 1 and 2 in parallel + Match.objectLike({ Name: stringLike('Stack1.Prepare*') }), + Match.objectLike({ Name: stringLike('Stack2.Prepare*') }), + Match.objectLike({ Name: 'Stack1.Deploy' }), + Match.objectLike({ Name: 'Stack2.Deploy' }), + // Then 3 + Match.objectLike({ Name: stringLike('Stack3.Prepare*') }), + Match.objectLike({ Name: 'Stack3.Deploy' }), + ]), + }, ]), - }]), - }); + }, + ); } }); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts index 5e1644bf9c73e..84c1acf0ffb54 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/validations.test.ts @@ -9,7 +9,20 @@ import { Stack } from '../../../core'; import * as cdkp from '../../lib'; import { CodePipelineSource, ShellStep } from '../../lib'; import { CDKP_DEFAULT_CODEBUILD_IMAGE } from '../../lib/private/default-codebuild-image'; -import { AppWithOutput, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, StageWithStackOutput, TestApp, TwoStackApp, behavior, sortByRunOrder, stringNoLongerThan } from '../testhelpers'; +import { + AppWithOutput, + LegacyTestGitHubNpmPipeline, + ModernTestGitHubNpmPipeline, + OneStackApp, + PIPELINE_ENV, + StageWithStackOutput, + TestApp, + TwoStackApp, + behavior, + sortByRunOrder, + stringLike, + stringNoLongerThan, +} from '../testhelpers'; let app: TestApp; let pipelineStack: Stack; @@ -78,9 +91,9 @@ behavior('can add steps to wave', (suite) => { Stages: Match.arrayWith([{ Name: 'MyWave', Actions: sortByRunOrder([ - Match.objectLike({ Name: 'Stage1.Stack.Prepare' }), - Match.objectLike({ Name: 'Stage2.Stack.Prepare' }), - Match.objectLike({ Name: 'Stage3.Stack.Prepare' }), + Match.objectLike({ Name: stringLike('Stage1.Stack.Prepare*') }), + Match.objectLike({ Name: stringLike('Stage2.Stack.Prepare*') }), + Match.objectLike({ Name: stringLike('Stage3.Stack.Prepare*') }), Match.objectLike({ Name: 'Stage1.Stack.Deploy' }), Match.objectLike({ Name: 'Stage2.Stack.Deploy' }), Match.objectLike({ Name: 'Stage3.Stack.Deploy' }), From aefc2ce36eddb7723b93d7c7422f361795ff9640 Mon Sep 17 00:00:00 2001 From: Nico-DB <64137458+Nico-DB@users.noreply.github.com> Date: Mon, 5 Jun 2023 13:25:07 +0200 Subject: [PATCH 06/20] Update integ.newpipeline.ts --- .../test/pipelines/test/integ.newpipeline.ts | 153 ++++-------------- 1 file changed, 32 insertions(+), 121 deletions(-) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index 2555c77476987..7e1a2b53d53b2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,95 +1,36 @@ -import { IntegTest } from '@aws-cdk/integ-tests-alpha'; -import * as cdk from 'aws-cdk-lib'; -import { App, Stage, StageProps } from 'aws-cdk-lib'; -import * as ec2 from 'aws-cdk-lib/aws-ec2'; -import * as kms from 'aws-cdk-lib/aws-kms'; -import * as logs from 'aws-cdk-lib/aws-logs'; -import * as s3 from 'aws-cdk-lib/aws-s3'; -import * as pipelines from 'aws-cdk-lib/pipelines'; +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import { Construct } from 'constructs'; -export class BaseStack extends cdk.Stack { - constructor(scope: Construct, id: string, props: cdk.StackProps) { - super(scope, id, props); - - const kmsKey = new kms.Key(this, 'KmsKey', { - - }); - ///////////////////////////////////////////////////////////////////////////////////// - /// ///////////////////////////////////////////// Exports /////////////////////////////////// - /// ///////////////////////////////////////////////////////////////////////////////////////// - - this.exportValue(kmsKey.keyArn, { - name: 'test-cdk-contribution', - }); - } -} - -export class Base2Stack extends cdk.Stack { - constructor(scope: Construct, id: string, props: cdk.StackProps) { - super(scope, id, props); - - const KmsKey = kms.Key.fromKeyArn( - this, - 'KmsKey', - cdk.Fn.importValue('test-cdk-contribution'), - ); - new logs.LogGroup(this, 'logGroup', { - retention: logs.RetentionDays.ONE_MONTH, - removalPolicy: cdk.RemovalPolicy.DESTROY, - logGroupName: 'test-cdk-contribution', - encryptionKey: KmsKey, - }); - } -} +import * as pipelines from 'aws-cdk-lib/pipelines'; -export class TestCdkContributionStack extends cdk.Stack { - constructor(scope: Construct, id: string, props?: cdk.StackProps) { +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); - const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { - availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], - vpcId: cdk.Fn.importValue('VPC1-VPC-ID'), - privateSubnetIds: [ - cdk.Fn.importValue('VPC1-AZ1Subnet1'), - cdk.Fn.importValue('VPC1-AZ2Subnet1'), - cdk.Fn.importValue('VPC1-AZ3Subnet1'), - ], - privateSubnetRouteTableIds: [ - cdk.Fn.importValue('VPC1-RouteTableIDAZ1'), - cdk.Fn.importValue('VPC1-RouteTableIDAZ2'), - cdk.Fn.importValue('VPC1-RouteTableIDAZ3'), - ], - }); const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.s3( - s3.Bucket.fromBucketName( - this, - 'SourceBucket-' + id, - '290582178775-gitsync', - ), - 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + - 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', - ), - commands: ['npm ci', 'npm run build', 'npx cdk synth'], + input: pipelines.CodePipelineSource.gitHub('rix0rrr/cdk-pipelines-demo', 'main'), + commands: [ + 'npm ci', + 'npm run build', + 'npx cdk synth', + ], }), - pipelineName: 'test-cdk-contribution', - selfMutation: false, - synthCodeBuildDefaults: { - vpc: vpc, - }, - allPrepareNodesFirst: true, - - }); - - const group = pipeline.addWave('Wave1', { - postPrepare: [new pipelines.ManualApprovalStep('Approval2')], }); + pipeline.addStage(new AppStage(this, 'Beta')); - // group.addStage(new AppStage2(this, 'Prod1'), {}); + const group = pipeline.addWave('Wave1'); + group.addStage(new AppStage(this, 'Prod1')); group.addStage(new AppStage(this, 'Prod2')); + const group2 = pipeline.addWave('Wave2'); + group2.addStage(new AppStage(this, 'Prod3')); + group2.addStage(new AppStage(this, 'Prod4')); + group2.addStage(new AppStage(this, 'Prod5')); + group2.addStage(new AppStage(this, 'Prod6')); } } @@ -97,53 +38,23 @@ class AppStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack1 = new BaseStack(this, 'Base2Stack', {}); - const stack2 = new Base2Stack(this, 'BaseStack', {}); - stack2.addDependency(stack1); + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); } } -// class AppStage3 extends Stage { -// public readonly stack1: Stack; - -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// this.stack1 = new Stack(this, 'Stack1'); - -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage4 extends Stage { - -// public readonly stack2: Stack; -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// // const q1=new sqs.Queue(this.stack1, 'Queue'); -// this.stack2 = new Stack(this, 'Stack2'); -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage2 extends Stage { -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); -// new Base2Stack(this, 'BaseStack', {}); -// } -// } - const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -const pipeStack = new TestCdkContributionStack( - app, - 'PipelineWithPostPrepareStack', -); - -new IntegTest(app, 'Integ', { - testCases: [pipeStack], -}); - +new PipelineStack(app, 'PipelineStack'); app.synth(); From 183849e302fbe2914a1c0e2d4e6640ef04c43704 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 5 Jun 2023 13:33:37 +0200 Subject: [PATCH 07/20] fix: merge conflicts --- .vscode/launch.json | 1 + .../test/pipelines/test/integ.newpipeline.ts | 133 +- ...g.newpipeline_with_allPrepareNodesFirst.ts | 75 + .../integ.newpipeline_with_postPrepare.ts | 79 + packages/aws-cdk-lib/pipelines/README.md | 41 +- .../lib/blueprint/stack-deployment.ts | 35 +- .../lib/blueprint/stage-deployment.ts | 63 +- .../pipelines/lib/blueprint/step.ts | 11 +- .../pipelines/lib/blueprint/wave.ts | 45 +- .../lib/codepipeline/codepipeline.ts | 533 ++++-- .../lib/helpers-internal/pipeline-graph.ts | 233 ++- .../lib/helpers-internal/pipeline-queries.ts | 8 +- .../helpers-internal/pipeline-graph.test.ts | 40 +- .../helpers-internal/pipeline-queries.test.ts | 6 +- .../test/codepipeline/codepipeline.test.ts | 4 +- .../test/compliance/basic-behavior.test.ts | 4 +- packages/cdk-cli-wrapper/.jsii | 1528 +++++++++++++++++ packages/cdk-cli-wrapper/.warnings.jsii.js | 73 + packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts | 139 ++ packages/cdk-cli-wrapper/lib/cdk-wrapper.js | 229 +++ .../cdk-cli-wrapper/lib/commands/common.d.ts | 178 ++ .../cdk-cli-wrapper/lib/commands/common.js | 22 + .../cdk-cli-wrapper/lib/commands/deploy.d.ts | 109 ++ .../cdk-cli-wrapper/lib/commands/deploy.js | 18 + .../cdk-cli-wrapper/lib/commands/destroy.d.ts | 18 + .../cdk-cli-wrapper/lib/commands/destroy.js | 3 + .../cdk-cli-wrapper/lib/commands/index.d.ts | 5 + .../cdk-cli-wrapper/lib/commands/index.js | 22 + .../cdk-cli-wrapper/lib/commands/list.d.ts | 12 + packages/cdk-cli-wrapper/lib/commands/list.js | 3 + .../cdk-cli-wrapper/lib/commands/synth.d.ts | 24 + .../cdk-cli-wrapper/lib/commands/synth.js | 3 + packages/cdk-cli-wrapper/lib/index.d.ts | 2 + packages/cdk-cli-wrapper/lib/index.js | 19 + packages/cdk-cli-wrapper/lib/utils.d.ts | 9 + packages/cdk-cli-wrapper/lib/utils.js | 44 + .../test/cdk-wrapper.test.d.ts | 1 + .../cdk-cli-wrapper/test/cdk-wrapper.test.js | 408 +++++ packages/cdk-cli-wrapper/tsconfig.json | 47 + 39 files changed, 3965 insertions(+), 262 deletions(-) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts create mode 100644 packages/cdk-cli-wrapper/.jsii create mode 100644 packages/cdk-cli-wrapper/.warnings.jsii.js create mode 100644 packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/cdk-wrapper.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/common.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/common.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/deploy.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/deploy.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/destroy.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/destroy.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/index.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/index.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/list.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/list.js create mode 100644 packages/cdk-cli-wrapper/lib/commands/synth.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/commands/synth.js create mode 100644 packages/cdk-cli-wrapper/lib/index.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/index.js create mode 100644 packages/cdk-cli-wrapper/lib/utils.d.ts create mode 100644 packages/cdk-cli-wrapper/lib/utils.js create mode 100644 packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts create mode 100644 packages/cdk-cli-wrapper/test/cdk-wrapper.test.js create mode 100644 packages/cdk-cli-wrapper/tsconfig.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 66f6db80dcd14..936bf55717b05 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { // Has convenient settings for attaching to a NodeJS process for debugging purposes // that are NOT the default and otherwise every developers has to configure for diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index 258b3e80d1bdc..f399a5d004a8e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,60 +1,139 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true -import * as sqs from 'aws-cdk-lib/aws-sqs'; -import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; -import { Construct } from 'constructs'; +import { App, Fn, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import * as s3 from 'aws-cdk-lib/aws-s3'; import * as pipelines from 'aws-cdk-lib/pipelines'; - +import { Construct } from 'constructs'; class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); + const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { + availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], + vpcId: Fn.importValue('VPC1-VPC-ID'), + privateSubnetIds: [ + Fn.importValue('VPC1-AZ1Subnet1'), + Fn.importValue('VPC1-AZ2Subnet1'), + Fn.importValue('VPC1-AZ3Subnet1'), + ], + privateSubnetRouteTableIds: [ + Fn.importValue('VPC1-RouteTableIDAZ1'), + Fn.importValue('VPC1-RouteTableIDAZ2'), + Fn.importValue('VPC1-RouteTableIDAZ3'), + ], + }); + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub('rix0rrr/cdk-pipelines-demo', 'main'), - commands: [ - 'npm ci', - 'npm run build', - 'npx cdk synth', - ], + input: pipelines.CodePipelineSource.s3( + s3.Bucket.fromBucketName( + this, + 'SourceBucket-' + id, + '290582178775-gitsync', + ), + 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + + 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), + pipelineName: 'test-cdk-contribution', + selfMutation: false, + synthCodeBuildDefaults: { + vpc: vpc, + }, + allPrepareNodesFirst: true, }); - pipeline.addStage(new AppStage(this, 'Beta')); + // const beta = new AppStage(this, 'Beta'); + // pipeline.addStage(beta, { + // allPrepareNodesFirst: true, + // stackSteps: [ + // { + // stack: beta.stack1, + // changeSet: [new pipelines.ManualApprovalStep('b approve')], // Executed after stack is prepared but before the stack is deployed + // }, + // ], + // }); + // const st=pipeline.addStage(new AppStage(this, 'test'), { + // allPrepareNodesFirst: true, + // postPrepare: [new pipelines.ManualApprovalStep('Approval0')], + // }); + // console.log(st.postPrepare); + const group = pipeline + .addWave('Wave1', { + postPrepare: [new pipelines.ManualApprovalStep('Approval1')], + }); + // group.addPostPrepare(new pipelines.ManualApprovalStep('Approval11')); - const group = pipeline.addWave('Wave1'); - group.addStage(new AppStage(this, 'Prod1')); + // group.addStage(new AppStage2(this, 'Prod1'), { + // // postPrepare: [new pipelines.ManualApprovalStep('Approval13')], + // }); group.addStage(new AppStage(this, 'Prod2')); - const group2 = pipeline.addWave('Wave2'); + const group2 = pipeline.addWave('Wave2', { + // postPrepare: [new pipelines.ManualApprovalStep('Approval2')], + }); group2.addStage(new AppStage(this, 'Prod3')); - group2.addStage(new AppStage(this, 'Prod4')); - group2.addStage(new AppStage(this, 'Prod5')); - group2.addStage(new AppStage(this, 'Prod6')); + // group2.addStage(new AppStage(this, 'Prod4')); + // group2.addStage(new AppStage(this, 'Prod5')); + // group2.addStage(new AppStage(this, 'Prod6')); } + } + class AppStage extends Stage { + public readonly stack1: Stack; + public readonly stack2: Stack; constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack1 = new Stack(this, 'Stack1'); - const queue1 = new sqs.Queue(stack1, 'Queue'); + this.stack1 = new Stack(this, 'Stack1'); - const stack2 = new Stack(this, 'Stack2'); - new sqs.Queue(stack2, 'OtherQueue', { - deadLetterQueue: { - queue: queue1, - maxReceiveCount: 5, - }, - }); + // const q1=new sqs.Queue(this.stack1, 'Queue'); + this.stack2 = new Stack(this, 'Stack2'); + this.stack2.addDependency(this.stack1); + // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); } + } +// class AppStage3 extends Stage { +// public readonly stack1: Stack; + +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// this.stack1 = new Stack(this, 'Stack1'); + + +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage4 extends Stage { + +// public readonly stack2: Stack; +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); + +// // const q1=new sqs.Queue(this.stack1, 'Queue'); +// this.stack2 = new Stack(this, 'Stack2'); +// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); +// } +// } +// class AppStage2 extends Stage { +// public readonly stack3: Stack; +// constructor(scope: Construct, id: string, props?: StageProps) { +// super(scope, id, props); +// this.stack3 = new Stack(this, 'Stack3'); +// } +// } + const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineStack'); +new PipelineStack(app, 'TestCdkContributionStack'); app.synth(); \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts new file mode 100644 index 0000000000000..391166fd12628 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_allPrepareNodesFirst.ts @@ -0,0 +1,75 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as pipelines from 'aws-cdk-lib/pipelines'; +import { Construct } from 'constructs'; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { + synth: new pipelines.ShellStep('Synth', { + input: pipelines.CodePipelineSource.gitHub( + 'rix0rrr/cdk-pipelines-demo', + 'main', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], + }), + allPrepareNodesFirst: true, + }); + + pipeline.addStage(new AppStage(this, 'Beta'), { + }); + + const group = pipeline.addWave('Wave1'); + group.addStage(new AppStage(this, 'Prod1')); + group.addStage(new AppStage(this, 'Prod2')); + + const group2 = pipeline.addWave('Wave2'); + group2.addStage(new AppStage2(this, 'Prod3')); + group2.addStage(new AppStage3(this, 'Prod4')); + } +} + +class AppStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); + } +} + +class AppStage2 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack1'); + } +} + +class AppStage3 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack2'); + } +} + +const app = new App({ + context: { + '@aws-cdk/core:newStyleStackSynthesis': '1', + }, +}); +new PipelineStack(app, 'PipelineWithAllPrepareNodesFirstStack'); +app.synth(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts new file mode 100644 index 0000000000000..72ca8de2d3843 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline_with_postPrepare.ts @@ -0,0 +1,79 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as pipelines from 'aws-cdk-lib/pipelines'; +import { Construct } from 'constructs'; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'PipelineWithPostPrepare', { + synth: new pipelines.ShellStep('Synth', { + input: pipelines.CodePipelineSource.gitHub( + 'rix0rrr/cdk-pipelines-demo', + 'main', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], + }), + allPrepareNodesFirst: true, + }); + + pipeline.addStage(new AppStage(this, 'Beta'), { + postPrepare: [new pipelines.ManualApprovalStep('Approval0')], + }); + + const group = pipeline.addWave('Wave1', { + + postPrepare: [new pipelines.ManualApprovalStep('Approval1')], + }); + group.addStage(new AppStage(this, 'Prod1')); + group.addStage(new AppStage(this, 'Prod2')); + + const group2 = pipeline.addWave('Wave2', { postPrepare: [new pipelines.ManualApprovalStep('Approval2')] }); + group2.addStage(new AppStage2(this, 'Prod3')); + group2.addStage(new AppStage3(this, 'Prod4')); + } +} + +class AppStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); + } +} + +class AppStage2 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack1'); + } +} + +class AppStage3 extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + new Stack(this, 'Stack2'); + } +} + +const app = new App({ + context: { + '@aws-cdk/core:newStyleStackSynthesis': '1', + }, +}); +new PipelineStack(app, 'PipelineWithPostPrepareStack'); +app.synth(); diff --git a/packages/aws-cdk-lib/pipelines/README.md b/packages/aws-cdk-lib/pipelines/README.md index 769e0714edffc..cea4fc9eb026c 100644 --- a/packages/aws-cdk-lib/pipelines/README.md +++ b/packages/aws-cdk-lib/pipelines/README.md @@ -1,6 +1,5 @@ # CDK Pipelines - A construct library for painless Continuous Delivery of CDK applications. CDK Pipelines is an *opinionated construct library*. It is purpose-built to @@ -162,9 +161,9 @@ has been bootstrapped (see below), and then execute deploying the Run the following commands to get the pipeline going: ```console -$ git commit -a -$ git push -$ cdk deploy PipelineStack +git commit -a +git push +cdk deploy PipelineStack ``` Administrative permissions to the account are only necessary up until @@ -565,6 +564,38 @@ class PipelineStack extends Stack { } ``` +#### Deploying with all change sets at first + +Deployment is done by default with `CodePipeline` engine using change sets, +i.e. to first create a change set and then execute it. This allows you to inject +steps that inspect the change set and approve or reject it, but failed deployments +are not retryable and creation of the change set costs time. The change sets tough are +being sorted within the pipeline by its dependencies. This means that some of the change set +might not be at the top level of a stage. Therefore there is the possibility to define, that +every change set is set as the first action (all in parallel) + +The creation of change sets at the top level can be switched on by setting `allPrepareNodesFirst: true`. +`useChangeSets` needs to be activated in order to use this feature. + +```ts +declare const synth: pipelines.ShellStep; + +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { + synth, + + allPrepareNodesFirst: true, + }); + } +} +``` + +It is further possible to add Steps in between the change sets and the deploy nodes (e.g. a manual approval step). This allows inspecting all change sets before deploying the stacks +in the desired order. + ### Validation Every `addStage()` and `addWave()` command takes additional options. As part of these options, @@ -1608,7 +1639,7 @@ $ env CDK_NEW_BOOTSTRAP=1 npx cdk bootstrap \ ``` - Update all impacted stacks in the pipeline to use this new qualifier. -See https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html for more info. +See for more info. ```ts new Stack(this, 'MyStack', { diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts index 5732ec0724fd3..4e6268e22a3ef 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts @@ -1,9 +1,10 @@ import * as path from 'path'; -import { AssetType } from './asset-type'; -import { Step } from './step'; import * as cxapi from '../../../cx-api'; import { AssetManifestReader, DockerImageManifestEntry, FileManifestEntry } from '../private/asset-manifest'; import { isAssetManifest } from '../private/cloud-assembly-internals'; +import { AssetType } from './asset-type'; +import { Step } from './step'; + /** * Properties for a `StackDeployment` @@ -91,11 +92,14 @@ export class StackDeployment { /** * Build a `StackDeployment` from a Stack Artifact in a Cloud Assembly. */ - public static fromArtifact(stackArtifact: cxapi.CloudFormationStackArtifact): StackDeployment { + public static fromArtifact( + stackArtifact: cxapi.CloudFormationStackArtifact, + ): StackDeployment { const artRegion = stackArtifact.environment.region; const region = artRegion === cxapi.UNKNOWN_REGION ? undefined : artRegion; const artAccount = stackArtifact.environment.account; - const account = artAccount === cxapi.UNKNOWN_ACCOUNT ? undefined : artAccount; + const account = + artAccount === cxapi.UNKNOWN_ACCOUNT ? undefined : artAccount; return new StackDeployment({ account, @@ -104,7 +108,10 @@ export class StackDeployment { stackArtifactId: stackArtifact.id, constructPath: stackArtifact.hierarchicalId, stackName: stackArtifact.stackName, - absoluteTemplatePath: path.join(stackArtifact.assembly.directory, stackArtifact.templateFile), + absoluteTemplatePath: path.join( + stackArtifact.assembly.directory, + stackArtifact.templateFile, + ), assumeRoleArn: stackArtifact.assumeRoleArn, executionRoleArn: stackArtifact.cloudFormationExecutionRoleArn, assets: extractStackAssets(stackArtifact), @@ -206,6 +213,12 @@ export class StackDeployment { */ public readonly post: Step[] = []; + /** + * Additional steps to run after all of the prepare-nodes in the stage + */ + + public readonly postPrepare: Step[] = []; + private constructor(props: StackDeploymentProps) { this.stackArtifactId = props.stackArtifactId; this.constructPath = props.constructPath; @@ -216,7 +229,9 @@ export class StackDeployment { this.executionRoleArn = props.executionRoleArn; this.stackName = props.stackName; this.absoluteTemplatePath = props.absoluteTemplatePath; - this.templateUrl = props.templateS3Uri ? s3UrlFromUri(props.templateS3Uri, props.region) : undefined; + this.templateUrl = props.templateS3Uri + ? s3UrlFromUri(props.templateS3Uri, props.region) + : undefined; this.assets = new Array(); @@ -242,10 +257,16 @@ export class StackDeployment { * @param changeSet steps executed after stack.prepare and before stack.deploy * @param post steps executed after stack.deploy */ - public addStackSteps(pre: Step[], changeSet: Step[], post: Step[]) { + public addStackSteps( + pre: Step[], + changeSet: Step[], + post: Step[], + postPrepare: Step[], + ) { this.pre.push(...pre); this.changeSet.push(...changeSet); this.post.push(...post); + this.postPrepare.push(...postPrepare); } } diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts index 813e7aacf9f12..78fa4f79d3daa 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts @@ -1,9 +1,9 @@ -import { StackDeployment } from './stack-deployment'; -import { StackSteps, Step } from './step'; import * as cdk from '../../../core'; import { CloudFormationStackArtifact } from '../../../cx-api'; import { isStackArtifact } from '../private/cloud-assembly-internals'; import { pipelineSynth } from '../private/construct-internals'; +import { StackDeployment } from './stack-deployment'; +import { StackSteps, Step } from './step'; /** * Properties for a `StageDeployment` @@ -30,6 +30,13 @@ export interface StageDeploymentProps { */ readonly post?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Instructions for additional steps that are run at the stack level * @@ -56,36 +63,54 @@ export class StageDeployment { if (assembly.stacks.length === 0) { // If we don't check here, a more puzzling "stage contains no actions" // error will be thrown come deployment time. - throw new Error(`The given Stage construct ('${stage.node.path}') should contain at least one Stack`); + throw new Error( + `The given Stage construct ('${stage.node.path}') should contain at least one Stack`, + ); } - const stepFromArtifact = new Map(); + const stepFromArtifact = new Map< + CloudFormationStackArtifact, + StackDeployment + >(); for (const artifact of assembly.stacks) { const step = StackDeployment.fromArtifact(artifact); stepFromArtifact.set(artifact, step); } if (props.stackSteps) { for (const stackstep of props.stackSteps) { - const stackArtifact = assembly.getStackArtifact(stackstep.stack.artifactId); + const stackArtifact = assembly.getStackArtifact( + stackstep.stack.artifactId, + ); const thisStep = stepFromArtifact.get(stackArtifact); if (!thisStep) { - throw new Error('Logic error: we just added a step for this artifact but it disappeared.'); + throw new Error( + 'Logic error: we just added a step for this artifact but it disappeared.', + ); } - thisStep.addStackSteps(stackstep.pre ?? [], stackstep.changeSet ?? [], stackstep.post ?? []); + thisStep.addStackSteps( + stackstep.pre ?? [], + stackstep.changeSet ?? [], + stackstep.post ?? [], + stackstep.postPrepare ?? [], + ); } } for (const artifact of assembly.stacks) { const thisStep = stepFromArtifact.get(artifact); if (!thisStep) { - throw new Error('Logic error: we just added a step for this artifact but it disappeared.'); + throw new Error( + 'Logic error: we just added a step for this artifact but it disappeared.', + ); } const stackDependencies = artifact.dependencies.filter(isStackArtifact); for (const dep of stackDependencies) { const depStep = stepFromArtifact.get(dep); if (!depStep) { - throw new Error(`Stack '${artifact.id}' depends on stack not found in same Stage: '${dep.id}'`); + throw new Error( + `Stack '${artifact.id}' depends on stack not found in same Stage: '${dep.id}'`, + ); } thisStep.addStackDependency(depStep); } @@ -112,6 +137,13 @@ export class StageDeployment { */ public readonly post: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + public readonly postPrepare: Step[]; + /** * Instructions for additional steps that are run at stack level */ @@ -123,12 +155,16 @@ export class StageDeployment { */ public readonly prepareStep?: boolean; + private constructor( /** The stacks deployed in this stage */ - public readonly stacks: StackDeployment[], props: StageDeploymentProps = {}) { + public readonly stacks: StackDeployment[], + props: StageDeploymentProps = {}, + ) { this.stageName = props.stageName ?? ''; this.pre = props.pre ?? []; this.post = props.post ?? []; + this.postPrepare = props.postPrepare ?? []; this.stackSteps = props.stackSteps ?? []; } @@ -145,4 +181,11 @@ export class StageDeployment { public addPost(...steps: Step[]) { this.post.push(...steps); } + + /** + * Add an additional step to run after all of the stacks in this stage + */ + public addPostPrepare(...steps: Step[]) { + this.postPrepare.push(...steps); + } } \ No newline at end of file diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts index 86a6a5d8eca29..6fc586fb68ed5 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts @@ -1,7 +1,7 @@ -import { FileSet, IFileSetProducer } from './file-set'; -import { StackOutputReference } from './shell-step'; import { Stack, Token } from '../../../core'; import { StepOutput } from '../helpers-internal/step-output'; +import { FileSet, IFileSetProducer } from './file-set'; +import { StackOutputReference } from './shell-step'; /** * A generic Step which can be added to a Pipeline @@ -142,6 +142,13 @@ export interface StackSteps { */ readonly pre?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Steps that execute after stack is prepared but before stack is deployed * diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts index 50a9527ead786..1b9a82edac1fa 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts @@ -19,6 +19,14 @@ export interface WaveProps { * @default - No additional steps */ readonly post?: Step[]; + + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + } /** @@ -35,16 +43,27 @@ export class Wave { */ public readonly post: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + */ + public readonly postPrepare: Step[]; + /** * The stages that are deployed in this wave */ public readonly stages: StageDeployment[] = []; + constructor( /** Identifier for this Wave */ - public readonly id: string, props: WaveProps = {}) { + public readonly id: string, + props: WaveProps = {}, + ) { this.pre = props.pre ?? []; this.post = props.post ?? []; + this.postPrepare = props.postPrepare ?? []; + } /** @@ -72,6 +91,13 @@ export class Wave { public addPost(...steps: Step[]) { this.post.push(...steps); } + + /** + * Add an additional step to run after all of the stacks in this stage + */ + public addPostPrepare(...steps: Step[]) { + this.postPrepare.push(...steps); + } } /** @@ -92,12 +118,21 @@ export interface AddStageOpts { */ readonly post?: Step[]; + /** + * Additional steps to run after all of the prepare-nodes in the stage. If this property is set allPrepareNodesFirst has to be set to true also. This is the case, because dependency cycle will occour otherwise. + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + /** * Instructions for stack level steps * * @default - No additional instructions */ readonly stackSteps?: StackSteps[]; + + } /** @@ -117,4 +152,12 @@ export interface WaveOptions { * @default - No additional steps */ readonly post?: Step[]; + + /** + * Additional steps to run after all of the prepare-nodes in the stage + * + * @default - No additional steps + */ + readonly postPrepare?: Step[]; + } \ No newline at end of file diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts index 83e9e7528327d..b6108269c599a 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; import { Construct } from 'constructs'; @@ -13,11 +14,11 @@ import * as cpa from '../../../aws-codepipeline-actions'; import * as ec2 from '../../../aws-ec2'; import * as iam from '../../../aws-iam'; import * as s3 from '../../../aws-s3'; -import { Aws, CfnCapabilities, Duration, PhysicalName, Stack, Names } from '../../../core'; +import { Aws, CfnCapabilities, Duration, Names, PhysicalName, Stack } from '../../../core'; import * as cxapi from '../../../cx-api'; import { AssetType, FileSet, IFileSetProducer, ManualApprovalStep, ShellStep, StackAsset, StackDeployment, Step } from '../blueprint'; -import { DockerCredential, dockerCredentialsInstallCommands, DockerCredentialUsage } from '../docker-credentials'; -import { GraphNodeCollection, isGraph, AGraphNode, PipelineGraph } from '../helpers-internal'; +import { DockerCredential, DockerCredentialUsage, dockerCredentialsInstallCommands } from '../docker-credentials'; +import { AGraphNode, GraphNodeCollection, PipelineGraph, isGraph } from '../helpers-internal'; import { PipelineBase } from '../main'; import { AssetSingletonRole } from '../private/asset-singleton-role'; import { CachedFnSub } from '../private/cached-fnsub'; @@ -28,6 +29,12 @@ import { toPosixPath } from '../private/fs'; import { actionName, stackVariableNamespace } from '../private/identifiers'; import { enumerate, flatten, maybeSuffix, noUndefined } from '../private/javascript'; import { writeTemplateConfiguration } from '../private/template-configuration'; +import { ArtifactMap } from './artifact-map'; +import { CodeBuildStep } from './codebuild-step'; +import { CodePipelineActionFactoryResult, ICodePipelineActionFactory } from './codepipeline-action-factory'; +import { CodeBuildFactory, mergeCodeBuildOptions } from './private/codebuild-factory'; +import { namespaceStepOutputs } from './private/outputs'; +import { StackOutputsMap } from './stack-outputs-map'; /** * Properties for a `CodePipeline` @@ -244,6 +251,12 @@ export interface CodePipelineProps { * @default - A new S3 bucket will be created. */ readonly artifactBucket?: s3.IBucket; + + /** + * If all "prepare" step should be placed all together as the first actions within a stage/wave + */ + + readonly allPrepareNodesFirst?: boolean; } /** @@ -356,11 +369,12 @@ export class CodePipeline extends PipelineBase { private readonly dockerCredentials: DockerCredential[]; private readonly cachedFnSub = new CachedFnSub(); private stackOutputs: StackOutputsMap; - + private readonly allPrepareNodesFirst: boolean; /** * Asset roles shared for publishing */ - private readonly assetCodeBuildRoles: Map = new Map(); + private readonly assetCodeBuildRoles: Map = + new Map(); /** * This is set to the very first artifact produced in the pipeline @@ -372,7 +386,11 @@ export class CodePipeline extends PipelineBase { private readonly singlePublisherPerAssetType: boolean; private readonly cliVersion?: string; - constructor(scope: Construct, id: string, private readonly props: CodePipelineProps) { + constructor( + scope: Construct, + id: string, + private readonly props: CodePipelineProps, + ) { super(scope, id, props); this.selfMutationEnabled = props.selfMutation ?? true; @@ -381,6 +399,7 @@ export class CodePipeline extends PipelineBase { this.cliVersion = props.cliVersion ?? preferredCliVersion(); this.useChangeSets = props.useChangeSets ?? true; this.stackOutputs = new StackOutputsMap(this); + this.allPrepareNodesFirst = props.allPrepareNodesFirst ?? false; } /** @@ -390,7 +409,9 @@ export class CodePipeline extends PipelineBase { */ public get synthProject(): cb.IProject { if (!this._synthProject) { - throw new Error('Call pipeline.buildPipeline() before reading this property'); + throw new Error( + 'Call pipeline.buildPipeline() before reading this property', + ); } return this._synthProject; } @@ -403,10 +424,14 @@ export class CodePipeline extends PipelineBase { */ public get selfMutationProject(): cb.IProject { if (!this._pipeline) { - throw new Error('Call pipeline.buildPipeline() before reading this property'); + throw new Error( + 'Call pipeline.buildPipeline() before reading this property', + ); } if (!this._selfMutationProject) { - throw new Error('No selfMutationProject since the selfMutation property was set to false'); + throw new Error( + 'No selfMutationProject since the selfMutation property was set to false', + ); } return this._selfMutationProject; } @@ -432,26 +457,45 @@ export class CodePipeline extends PipelineBase { if (this.props.codePipeline) { if (this.props.pipelineName) { - throw new Error('Cannot set \'pipelineName\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'pipelineName' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.crossAccountKeys !== undefined) { - throw new Error('Cannot set \'crossAccountKeys\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'crossAccountKeys' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.enableKeyRotation !== undefined) { - throw new Error('Cannot set \'enableKeyRotation\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'enableKeyRotation' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.reuseCrossRegionSupportStacks !== undefined) { - throw new Error('Cannot set \'reuseCrossRegionSupportStacks\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'reuseCrossRegionSupportStacks' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.role !== undefined) { - throw new Error('Cannot set \'role\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'role' if an existing CodePipeline is given using 'codePipeline'", + ); } if (this.props.artifactBucket !== undefined) { - throw new Error('Cannot set \'artifactBucket\' if an existing CodePipeline is given using \'codePipeline\''); + throw new Error( + "Cannot set 'artifactBucket' if an existing CodePipeline is given using 'codePipeline'", + ); } this._pipeline = this.props.codePipeline; } else { + + if (this.props.allPrepareNodesFirst && this.props.useChangeSets === false) { + throw new Error( + "Cannot set 'allPrepareNodesFirst: true' if 'useChangeSets' is set to false.", + ); + } + this._pipeline = new cp.Pipeline(this, 'Pipeline', { pipelineName: this.props.pipelineName, crossAccountKeys: this.props.crossAccountKeys ?? false, @@ -469,6 +513,7 @@ export class CodePipeline extends PipelineBase { selfMutation: this.selfMutationEnabled, singlePublisherPerAssetType: this.singlePublisherPerAssetType, prepareStep: this.useChangeSets, + allPrepareNodesFirst: this.allPrepareNodesFirst, }); this._cloudAssemblyFileSet = graphFromBp.cloudAssemblyFileSet; @@ -476,12 +521,18 @@ export class CodePipeline extends PipelineBase { // Write a dotfile for the pipeline layout const dotFile = `${Names.uniqueId(this)}.dot`; - fs.writeFileSync(path.join(this.myCxAsmRoot, dotFile), graphFromBp.graph.renderDot().replace(/input\.dot/, dotFile), { encoding: 'utf-8' }); + fs.writeFileSync( + path.join(this.myCxAsmRoot, dotFile), + graphFromBp.graph.renderDot().replace(/input\.dot/, dotFile), + { encoding: 'utf-8' }, + ); } private get myCxAsmRoot(): string { if (!this._myCxAsmRoot) { - throw new Error('Can\'t read \'myCxAsmRoot\' if build deployment not called yet'); + throw new Error( + "Can't read 'myCxAsmRoot' if build deployment not called yet", + ); } return this._myCxAsmRoot; } @@ -500,7 +551,9 @@ export class CodePipeline extends PipelineBase { let beforeSelfMutation = this.selfMutationEnabled; for (const stageNode of flatten(structure.graph.sortedChildren())) { if (!isGraph(stageNode)) { - throw new Error(`Top-level children must be graphs, got '${stageNode}'`); + throw new Error( + `Top-level children must be graphs, got '${stageNode}'`, + ); } // Group our ordered tranches into blocks of 50. @@ -508,10 +561,14 @@ export class CodePipeline extends PipelineBase { const chunks = chunkTranches(50, stageNode.sortedLeaves()); const actionsOverflowStage = chunks.length > 1; for (const [i, tranches] of enumerate(chunks)) { - const stageName = actionsOverflowStage ? `${stageNode.id}.${i + 1}` : stageNode.id; + const stageName = actionsOverflowStage + ? `${stageNode.id}.${i + 1}` + : stageNode.id; const pipelineStage = this.pipeline.addStage({ stageName }); - const sharedParent = new GraphNodeCollection(flatten(tranches)).commonAncestor(); + const sharedParent = new GraphNodeCollection( + flatten(tranches), + ).commonAncestor(); let runOrder = 1; for (const tranche of tranches) { @@ -523,9 +580,10 @@ export class CodePipeline extends PipelineBase { const nodeType = this.nodeTypeFromNode(node); const name = actionName(node, sharedParent); - const variablesNamespace = node.data?.type === 'step' - ? namespaceStepOutputs(node.data.step, pipelineStage, name) - : undefined; + const variablesNamespace = + node.data?.type === 'step' + ? namespaceStepOutputs(node.data.step, pipelineStage, name) + : undefined; const result = factory.produceAction(pipelineStage, { actionName: name, @@ -535,7 +593,9 @@ export class CodePipeline extends PipelineBase { fallbackArtifact: this._fallbackArtifact, pipeline: this, // If this step happens to produce a CodeBuild job, set the default options - codeBuildDefaults: nodeType ? this.codeBuildDefaultsFor(nodeType) : undefined, + codeBuildDefaults: nodeType + ? this.codeBuildDefaultsFor(nodeType) + : undefined, beforeSelfMutation, variablesNamespace, stackOutputsMap: this.stackOutputs, @@ -562,11 +622,16 @@ export class CodePipeline extends PipelineBase { * Some minor state manipulation of CodeBuild projects and pipeline * artifacts. */ - private postProcessNode(node: AGraphNode, result: CodePipelineActionFactoryResult) { + private postProcessNode( + node: AGraphNode, + result: CodePipelineActionFactoryResult, + ) { const nodeType = this.nodeTypeFromNode(node); if (result.project) { - const dockerUsage = dockerUsageFromCodeBuild(nodeType ?? CodeBuildProjectType.STEP); + const dockerUsage = dockerUsageFromCodeBuild( + nodeType ?? CodeBuildProjectType.STEP, + ); if (dockerUsage) { for (const c of this.dockerCredentials) { c.grantRead(result.project, dockerUsage); @@ -581,8 +646,14 @@ export class CodePipeline extends PipelineBase { } } - if (node.data?.type === 'step' && node.data.step.primaryOutput?.primaryOutput && !this._fallbackArtifact) { - this._fallbackArtifact = this.artifacts.toCodePipeline(node.data.step.primaryOutput?.primaryOutput); + if ( + node.data?.type === 'step' && + node.data.step.primaryOutput?.primaryOutput && + !this._fallbackArtifact + ) { + this._fallbackArtifact = this.artifacts.toCodePipeline( + node.data.step.primaryOutput?.primaryOutput, + ); } } @@ -595,7 +666,9 @@ export class CodePipeline extends PipelineBase { case 'group': case 'stack-group': case undefined: - throw new Error(`actionFromNode: did not expect to get group nodes: ${node.data?.type}`); + throw new Error( + `actionFromNode: did not expect to get group nodes: ${node.data?.type}`, + ); case 'self-update': return this.selfMutateAction(); @@ -608,14 +681,22 @@ export class CodePipeline extends PipelineBase { case 'execute': return node.data.withoutChangeSet - ? this.executeDeploymentAction(node.data.stack, node.data.captureOutputs) - : this.executeChangeSetAction(node.data.stack, node.data.captureOutputs); + ? this.executeDeploymentAction( + node.data.stack, + node.data.captureOutputs, + ) + : this.executeChangeSetAction( + node.data.stack, + node.data.captureOutputs, + ); case 'step': return this.actionFromStep(node, node.data.step); default: - throw new Error(`CodePipeline does not support graph nodes of type '${node.data?.type}'. You are probably using a feature this CDK Pipelines implementation does not support.`); + throw new Error( + `CodePipeline does not support graph nodes of type '${node.data?.type}'. You are probably using a feature this CDK Pipelines implementation does not support.`, + ); } } @@ -631,7 +712,10 @@ export class CodePipeline extends PipelineBase { * The rest is expressed in terms of these 3, or in terms of graph nodes * which are handled elsewhere. */ - private actionFromStep(node: AGraphNode, step: Step): ICodePipelineActionFactory { + private actionFromStep( + node: AGraphNode, + step: Step, + ): ICodePipelineActionFactory { const nodeType = this.nodeTypeFromNode(node); // CodePipeline-specific steps first -- this includes Sources @@ -642,9 +726,8 @@ export class CodePipeline extends PipelineBase { // Now built-in steps if (step instanceof ShellStep || step instanceof CodeBuildStep) { // The 'CdkBuildProject' will be the construct ID of the CodeBuild project, necessary for backwards compat - let constructId = nodeType === CodeBuildProjectType.SYNTH - ? 'CdkBuildProject' - : step.id; + let constructId = + nodeType === CodeBuildProjectType.SYNTH ? 'CdkBuildProject' : step.id; return step instanceof CodeBuildStep ? CodeBuildFactory.fromCodeBuildStep(constructId, step) @@ -654,101 +737,174 @@ export class CodePipeline extends PipelineBase { if (step instanceof ManualApprovalStep) { return { produceAction: (stage, options) => { - stage.addAction(new cpa.ManualApprovalAction({ - actionName: options.actionName, - runOrder: options.runOrder, - additionalInformation: step.comment, - })); + stage.addAction( + new cpa.ManualApprovalAction({ + actionName: options.actionName, + runOrder: options.runOrder, + additionalInformation: step.comment, + }), + ); return { runOrdersConsumed: 1 }; }, }; } - throw new Error(`Deployment step '${step}' is not supported for CodePipeline-backed pipelines`); + throw new Error( + `Deployment step '${step}' is not supported for CodePipeline-backed pipelines`, + ); } - private createChangeSetAction(stack: StackDeployment): ICodePipelineActionFactory { + private createChangeSetAction( + stack: StackDeployment, + ): ICodePipelineActionFactory { const changeSetName = 'PipelineChange'; - const templateArtifact = this.artifacts.toCodePipeline(this._cloudAssemblyFileSet!); + const templateArtifact = this.artifacts.toCodePipeline( + this._cloudAssemblyFileSet!, + ); const templateConfigurationPath = this.writeTemplateConfiguration(stack); - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; - const relativeTemplatePath = path.relative(this.myCxAsmRoot, stack.absoluteTemplatePath); + const relativeTemplatePath = path.relative( + this.myCxAsmRoot, + stack.absoluteTemplatePath, + ); return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationCreateReplaceChangeSetAction({ - actionName: options.actionName, - runOrder: options.runOrder, - changeSetName, - stackName: stack.stackName, - templatePath: templateArtifact.atPath(toPosixPath(relativeTemplatePath)), - adminPermissions: true, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - deploymentRole: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.executionRoleArn), - region: region, - templateConfiguration: templateConfigurationPath - ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) - : undefined, - cfnCapabilities: [CfnCapabilities.NAMED_IAM, CfnCapabilities.AUTO_EXPAND], - })); + stage.addAction( + new cpa.CloudFormationCreateReplaceChangeSetAction({ + actionName: options.actionName, + runOrder: options.runOrder, + changeSetName, + stackName: stack.stackName, + templatePath: templateArtifact.atPath( + toPosixPath(relativeTemplatePath), + ), + adminPermissions: true, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + deploymentRole: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.executionRoleArn, + ), + region: region, + templateConfiguration: templateConfigurationPath + ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) + : undefined, + cfnCapabilities: [ + CfnCapabilities.NAMED_IAM, + CfnCapabilities.AUTO_EXPAND, + ], + }), + ); return { runOrdersConsumed: 1 }; }, }; } - private executeChangeSetAction(stack: StackDeployment, captureOutputs: boolean): ICodePipelineActionFactory { + private executeChangeSetAction( + stack: StackDeployment, + captureOutputs: boolean, + ): ICodePipelineActionFactory { const changeSetName = 'PipelineChange'; - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationExecuteChangeSetAction({ - actionName: options.actionName, - runOrder: options.runOrder, - changeSetName, - stackName: stack.stackName, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - region: region, - variablesNamespace: captureOutputs ? stackVariableNamespace(stack) : undefined, - })); + stage.addAction( + new cpa.CloudFormationExecuteChangeSetAction({ + actionName: options.actionName, + runOrder: options.runOrder, + changeSetName, + stackName: stack.stackName, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + region: region, + variablesNamespace: captureOutputs + ? stackVariableNamespace(stack) + : undefined, + }), + ); return { runOrdersConsumed: 1 }; }, }; } - private executeDeploymentAction(stack: StackDeployment, captureOutputs: boolean): ICodePipelineActionFactory { - const templateArtifact = this.artifacts.toCodePipeline(this._cloudAssemblyFileSet!); + private executeDeploymentAction( + stack: StackDeployment, + captureOutputs: boolean, + ): ICodePipelineActionFactory { + const templateArtifact = this.artifacts.toCodePipeline( + this._cloudAssemblyFileSet!, + ); const templateConfigurationPath = this.writeTemplateConfiguration(stack); - const region = stack.region !== Stack.of(this).region ? stack.region : undefined; - const account = stack.account !== Stack.of(this).account ? stack.account : undefined; + const region = + stack.region !== Stack.of(this).region ? stack.region : undefined; + const account = + stack.account !== Stack.of(this).account ? stack.account : undefined; - const relativeTemplatePath = path.relative(this.myCxAsmRoot, stack.absoluteTemplatePath); + const relativeTemplatePath = path.relative( + this.myCxAsmRoot, + stack.absoluteTemplatePath, + ); return { produceAction: (stage, options) => { - stage.addAction(new cpa.CloudFormationCreateUpdateStackAction({ - actionName: options.actionName, - runOrder: options.runOrder, - stackName: stack.stackName, - templatePath: templateArtifact.atPath(toPosixPath(relativeTemplatePath)), - adminPermissions: true, - role: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.assumeRoleArn), - deploymentRole: this.roleFromPlaceholderArn(this.pipeline, region, account, stack.executionRoleArn), - region: region, - templateConfiguration: templateConfigurationPath - ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) - : undefined, - cfnCapabilities: [CfnCapabilities.NAMED_IAM, CfnCapabilities.AUTO_EXPAND], - variablesNamespace: captureOutputs ? stackVariableNamespace(stack) : undefined, - })); + stage.addAction( + new cpa.CloudFormationCreateUpdateStackAction({ + actionName: options.actionName, + runOrder: options.runOrder, + stackName: stack.stackName, + templatePath: templateArtifact.atPath( + toPosixPath(relativeTemplatePath), + ), + adminPermissions: true, + role: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.assumeRoleArn, + ), + deploymentRole: this.roleFromPlaceholderArn( + this.pipeline, + region, + account, + stack.executionRoleArn, + ), + region: region, + templateConfiguration: templateConfigurationPath + ? templateArtifact.atPath(toPosixPath(templateConfigurationPath)) + : undefined, + cfnCapabilities: [ + CfnCapabilities.NAMED_IAM, + CfnCapabilities.AUTO_EXPAND, + ], + variablesNamespace: captureOutputs + ? stackVariableNamespace(stack) + : undefined, + }), + ); return { runOrdersConsumed: 1 }; }, @@ -759,16 +915,17 @@ export class CodePipeline extends PipelineBase { const installSuffix = this.cliVersion ? `@${this.cliVersion}` : ''; const pipelineStack = Stack.of(this.pipeline); - const pipelineStackIdentifier = pipelineStack.node.path ?? pipelineStack.stackName; + const pipelineStackIdentifier = + pipelineStack.node.path ?? pipelineStack.stackName; const step = new CodeBuildStep('SelfMutate', { projectName: maybeSuffix(this.props.pipelineName, '-selfupdate'), input: this._cloudAssemblyFileSet, - installCommands: [ - `npm install -g aws-cdk${installSuffix}`, - ], + installCommands: [`npm install -g aws-cdk${installSuffix}`], commands: [ - `cdk -a ${toPosixPath(embeddedAsmPath(this.pipeline))} deploy ${pipelineStackIdentifier} --require-approval=never --verbose`, + `cdk -a ${toPosixPath( + embeddedAsmPath(this.pipeline), + )} deploy ${pipelineStackIdentifier} --require-approval=never --verbose`, ], rolePolicyStatements: [ @@ -778,7 +935,11 @@ export class CodePipeline extends PipelineBase { resources: [`arn:*:iam::${Stack.of(this.pipeline).account}:role/*`], conditions: { 'ForAnyValue:StringEquals': { - 'iam:ResourceTag/aws-cdk:bootstrap-role': ['image-publishing', 'file-publishing', 'deploy'], + 'iam:ResourceTag/aws-cdk:bootstrap-role': [ + 'image-publishing', + 'file-publishing', + 'deploy', + ], }, }, }), @@ -801,38 +962,47 @@ export class CodePipeline extends PipelineBase { }); } - private publishAssetsAction(node: AGraphNode, assets: StackAsset[]): ICodePipelineActionFactory { + private publishAssetsAction( + node: AGraphNode, + assets: StackAsset[], + ): ICodePipelineActionFactory { const installSuffix = this.cliVersion ? `@${this.cliVersion}` : ''; - const commands = assets.map(asset => { - const relativeAssetManifestPath = path.relative(this.myCxAsmRoot, asset.assetManifestPath); - return `cdk-assets --path "${toPosixPath(relativeAssetManifestPath)}" --verbose publish "${asset.assetSelector}"`; + const commands = assets.map((asset) => { + const relativeAssetManifestPath = path.relative( + this.myCxAsmRoot, + asset.assetManifestPath, + ); + return `cdk-assets --path "${toPosixPath( + relativeAssetManifestPath, + )}" --verbose publish "${asset.assetSelector}"`; }); const assetType = assets[0].assetType; - if (assets.some(a => a.assetType !== assetType)) { - throw new Error('All assets in a single publishing step must be of the same type'); + if (assets.some((a) => a.assetType !== assetType)) { + throw new Error( + 'All assets in a single publishing step must be of the same type', + ); } const role = this.obtainAssetCodeBuildRole(assets[0].assetType); - for (const roleArn of assets.flatMap(a => a.assetPublishingRoleArn ? [a.assetPublishingRoleArn] : [])) { + for (const roleArn of assets.flatMap((a) => + a.assetPublishingRoleArn ? [a.assetPublishingRoleArn] : [], + )) { // The ARNs include raw AWS pseudo parameters (e.g., ${AWS::Partition}), which need to be substituted. role.addAssumeRole(this.cachedFnSub.fnSub(roleArn)); - }; + } // The base commands that need to be run const script = new CodeBuildStep(node.id, { commands, - installCommands: [ - `npm install -g cdk-assets${installSuffix}`, - ], + installCommands: [`npm install -g cdk-assets${installSuffix}`], input: this._cloudAssemblyFileSet, buildEnvironment: { - privileged: ( - assets.some(asset => asset.assetType === AssetType.DOCKER_IMAGE) || - this.props.codeBuildDefaults?.buildEnvironment?.privileged - ), + privileged: + assets.some((asset) => asset.assetType === AssetType.DOCKER_IMAGE) || + this.props.codeBuildDefaults?.buildEnvironment?.privileged, }, role, }); @@ -850,7 +1020,9 @@ export class CodePipeline extends PipelineBase { private nodeTypeFromNode(node: AGraphNode) { if (node.data?.type === 'step') { - return !!node.data?.isBuildStep ? CodeBuildProjectType.SYNTH : CodeBuildProjectType.STEP; + return !!node.data?.isBuildStep + ? CodeBuildProjectType.SYNTH + : CodeBuildProjectType.STEP; } if (node.data?.type === 'publish-assets') { return CodeBuildProjectType.ASSETS; @@ -861,7 +1033,9 @@ export class CodePipeline extends PipelineBase { return undefined; } - private codeBuildDefaultsFor(nodeType: CodeBuildProjectType): CodeBuildOptions | undefined { + private codeBuildDefaultsFor( + nodeType: CodeBuildProjectType, + ): CodeBuildOptions | undefined { const defaultOptions: CodeBuildOptions = { buildEnvironment: { buildImage: CDKP_DEFAULT_CODEBUILD_IMAGE, @@ -871,32 +1045,46 @@ export class CodePipeline extends PipelineBase { const typeBasedCustomizations = { [CodeBuildProjectType.SYNTH]: this.props.dockerEnabledForSynth - ? mergeCodeBuildOptions(this.props.synthCodeBuildDefaults, { buildEnvironment: { privileged: true } }) + ? mergeCodeBuildOptions(this.props.synthCodeBuildDefaults, { + buildEnvironment: { privileged: true }, + }) : this.props.synthCodeBuildDefaults, - [CodeBuildProjectType.ASSETS]: this.props.assetPublishingCodeBuildDefaults, + [CodeBuildProjectType.ASSETS]: + this.props.assetPublishingCodeBuildDefaults, - [CodeBuildProjectType.SELF_MUTATE]: this.props.dockerEnabledForSelfMutation - ? mergeCodeBuildOptions(this.props.selfMutationCodeBuildDefaults, { buildEnvironment: { privileged: true } }) + [CodeBuildProjectType.SELF_MUTATE]: this.props + .dockerEnabledForSelfMutation + ? mergeCodeBuildOptions(this.props.selfMutationCodeBuildDefaults, { + buildEnvironment: { privileged: true }, + }) : this.props.selfMutationCodeBuildDefaults, [CodeBuildProjectType.STEP]: {}, }; const dockerUsage = dockerUsageFromCodeBuild(nodeType); - const dockerCommands = dockerUsage !== undefined - ? dockerCredentialsInstallCommands(dockerUsage, this.dockerCredentials, 'both') - : []; - const typeBasedDockerCommands = dockerCommands.length > 0 ? { - partialBuildSpec: cb.BuildSpec.fromObject({ - version: '0.2', - phases: { - pre_build: { - commands: dockerCommands, - }, - }, - }), - } : {}; + const dockerCommands = + dockerUsage !== undefined + ? dockerCredentialsInstallCommands( + dockerUsage, + this.dockerCredentials, + 'both', + ) + : []; + const typeBasedDockerCommands = + dockerCommands.length > 0 + ? { + partialBuildSpec: cb.BuildSpec.fromObject({ + version: '0.2', + phases: { + pre_build: { + commands: dockerCommands, + }, + }, + }), + } + : {}; return mergeCodeBuildOptions( defaultOptions, @@ -906,31 +1094,53 @@ export class CodePipeline extends PipelineBase { ); } - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string): iam.IRole; - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string | undefined): iam.IRole | undefined; - private roleFromPlaceholderArn(scope: Construct, region: string | undefined, - account: string | undefined, arn: string | undefined): iam.IRole | undefined { - - if (!arn) { return undefined; } + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string + ): iam.IRole; + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string | undefined + ): iam.IRole | undefined; + private roleFromPlaceholderArn( + scope: Construct, + region: string | undefined, + account: string | undefined, + arn: string | undefined, + ): iam.IRole | undefined { + if (!arn) { + return undefined; + } // Use placeholder arn as construct ID. const id = arn; // https://github.com/aws/aws-cdk/issues/7255 - let existingRole = scope.node.tryFindChild(`ImmutableRole${id}`) as iam.IRole; - if (existingRole) { return existingRole; } + let existingRole = scope.node.tryFindChild( + `ImmutableRole${id}`, + ) as iam.IRole; + if (existingRole) { + return existingRole; + } // For when #7255 is fixed. existingRole = scope.node.tryFindChild(id) as iam.IRole; - if (existingRole) { return existingRole; } + if (existingRole) { + return existingRole; + } const arnToImport = cxapi.EnvironmentPlaceholders.replace(arn, { region: region ?? Aws.REGION, accountId: account ?? Aws.ACCOUNT_ID, partition: Aws.PARTITION, }); - return iam.Role.fromRoleArn(scope, id, arnToImport, { mutable: false, addGrantsToResources: true }); + return iam.Role.fromRoleArn(scope, id, arnToImport, { + mutable: false, + addGrantsToResources: true, + }); } /** @@ -938,8 +1148,12 @@ export class CodePipeline extends PipelineBase { * * Currently only supports tags. */ - private writeTemplateConfiguration(stack: StackDeployment): string | undefined { - if (Object.keys(stack.tags).length === 0) { return undefined; } + private writeTemplateConfiguration( + stack: StackDeployment, + ): string | undefined { + if (Object.keys(stack.tags).length === 0) { + return undefined; + } const absConfigPath = `${stack.absoluteTemplatePath}.config.json`; const relativeConfigPath = path.relative(this.myCxAsmRoot, absConfigPath); @@ -970,23 +1184,28 @@ export class CodePipeline extends PipelineBase { const stack = Stack.of(this); const rolePrefix = assetType === AssetType.DOCKER_IMAGE ? 'Docker' : 'File'; - const assetRole = new AssetSingletonRole(this.assetsScope, `${rolePrefix}Role`, { - roleName: PhysicalName.GENERATE_IF_NEEDED, - assumedBy: new iam.CompositePrincipal( - new iam.ServicePrincipal('codebuild.amazonaws.com'), - new iam.AccountPrincipal(stack.account), - ), - }); + const assetRole = new AssetSingletonRole( + this.assetsScope, + `${rolePrefix}Role`, + { + roleName: PhysicalName.GENERATE_IF_NEEDED, + assumedBy: new iam.CompositePrincipal( + new iam.ServicePrincipal('codebuild.amazonaws.com'), + new iam.AccountPrincipal(stack.account), + ), + }, + ); // Grant pull access for any ECR registries and secrets that exist if (assetType === AssetType.DOCKER_IMAGE) { - this.dockerCredentials.forEach(reg => reg.grantRead(assetRole, DockerCredentialUsage.ASSET_PUBLISHING)); + this.dockerCredentials.forEach((reg) => + reg.grantRead(assetRole, DockerCredentialUsage.ASSET_PUBLISHING), + ); } this.assetCodeBuildRoles.set(assetType, assetRole); return assetRole; } - } function dockerUsageFromCodeBuild(cbt: CodeBuildProjectType): DockerCredentialUsage | undefined { diff --git a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts index cad9fe7769c1a..f1195a9d32727 100644 --- a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts +++ b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts @@ -1,7 +1,20 @@ -import { DependencyBuilders, Graph, GraphNode, GraphNodeCollection } from './graph'; -import { PipelineQueries } from './pipeline-queries'; -import { AssetType, FileSet, StackAsset, StackDeployment, StageDeployment, Step, Wave } from '../blueprint'; +import { + AssetType, + FileSet, + StackAsset, + StackDeployment, + StageDeployment, + Step, + Wave, +} from '../blueprint'; import { PipelineBase } from '../main/pipeline-base'; +import { + DependencyBuilders, + Graph, + GraphNode, + GraphNodeCollection, +} from './graph'; +import { PipelineQueries } from './pipeline-queries'; export interface PipelineGraphProps { /** @@ -32,6 +45,12 @@ export interface PipelineGraphProps { * @default true */ readonly prepareStep?: boolean; + + /** + * If all "prepare" step should be placed all together as the first actions within a stage/wave + */ + + readonly allPrepareNodesFirst?: boolean; } /** @@ -43,7 +62,7 @@ export class PipelineGraph { /** * A Step object that may be used as the producer of FileSets that should not be represented in the graph */ - public static readonly NO_STEP: Step = new class extends Step { }('NO_STEP'); + public static readonly NO_STEP: Step = new (class extends Step {})('NO_STEP'); public readonly graph: AGraph = Graph.of('', { type: 'group' }); public readonly cloudAssemblyFileSet: FileSet; @@ -54,24 +73,31 @@ export class PipelineGraph { private readonly assetNodesByType = new Map(); private readonly synthNode?: AGraphNode; private readonly selfMutateNode?: AGraphNode; - private readonly stackOutputDependencies = new DependencyBuilders(); + private readonly stackOutputDependencies = + new DependencyBuilders(); /** Mapping steps to depbuilders, satisfied by the step itself */ private readonly nodeDependencies = new DependencyBuilders(); private readonly publishTemplate: boolean; private readonly prepareStep: boolean; private readonly singlePublisher: boolean; + private readonly allPrepareNodesFirst: boolean; private lastPreparationNode?: AGraphNode; private _fileAssetCtr = 0; private _dockerAssetCtr = 0; - constructor(public readonly pipeline: PipelineBase, props: PipelineGraphProps = {}) { + constructor( + public readonly pipeline: PipelineBase, + props: PipelineGraphProps = {}, + ) { this.publishTemplate = props.publishTemplate ?? false; this.prepareStep = props.prepareStep ?? true; this.singlePublisher = props.singlePublisherPerAssetType ?? false; this.queries = new PipelineQueries(pipeline); + this.allPrepareNodesFirst = props.allPrepareNodesFirst ?? false; + if (pipeline.synth instanceof Step) { this.synthNode = this.addBuildStep(pipeline.synth); if (this.synthNode?.data?.type === 'step') { @@ -82,7 +108,9 @@ export class PipelineGraph { const cloudAssembly = pipeline.synth.primaryOutput?.primaryOutput; if (!cloudAssembly) { - throw new Error(`The synth step must produce the cloud assembly artifact, but doesn't: ${pipeline.synth}`); + throw new Error( + `The synth step must produce the cloud assembly artifact, but doesn't: ${pipeline.synth}`, + ); } this.cloudAssemblyFileSet = cloudAssembly; @@ -97,7 +125,7 @@ export class PipelineGraph { this.lastPreparationNode = this.selfMutateNode; } - const waves = pipeline.waves.map(w => this.addWave(w)); + const waves = pipeline.waves.map((w) => this.addWave(w)); // Make sure the waves deploy sequentially for (let i = 1; i < waves.length; i++) { @@ -116,26 +144,60 @@ export class PipelineGraph { } private addWave(wave: Wave): AGraph { + if (wave.postPrepare.length > 0 && this.allPrepareNodesFirst === false) { + throw new Error( + '"postPrepare" is set, but property "allPrepareNodesFirst" is not set to "true"', + ); + } + // If the wave only has one Stage in it, don't add an additional Graph around it - const retGraph: AGraph = wave.stages.length === 1 - ? this.addStage(wave.stages[0]) - : Graph.of(wave.id, { type: 'group' }, wave.stages.map(s => this.addStage(s))); + const retGraph: AGraph = + wave.stages.length === 1 + ? this.addStage( + wave.stages[0], + wave.postPrepare ?? [], + ) + : Graph.of( + wave.id, + { type: 'group' }, + wave.stages.map((s) => + this.addStage( + s, + wave.postPrepare ?? [], + ), + ), + ); this.addPrePost(wave.pre, wave.post, retGraph); + // this.addPostPrepare(wave.postPrepare, retGraph); retGraph.dependOn(this.lastPreparationNode); this.graph.add(retGraph); return retGraph; } - private addStage(stage: StageDeployment): AGraph { + private addStage( + stage: StageDeployment, + wavePostPrepareSteps: Step[], + ): AGraph { const retGraph: AGraph = Graph.of(stage.stageName, { type: 'group' }); - + const prepareNodes = new GraphNodeCollection(new Array()); const stackGraphs = new Map(); + if (stage.postPrepare.length > 0 && this.allPrepareNodesFirst === false) { + throw new Error( + '"postPrepare" is set, but property "allPrepareNodesFirst" is not set to "true"', + ); + } + for (const stack of stage.stacks) { - const stackGraph: AGraph = Graph.of(this.simpleStackName(stack.stackName, stage.stageName), { type: 'stack-group', stack }); - const prepareNode: AGraphNode | undefined = this.prepareStep ? aGraphNode('Prepare', { type: 'prepare', stack }) : undefined; + const stackGraph: AGraph = Graph.of( + this.simpleStackName(stack.stackName, stage.stageName), + { type: 'stack-group', stack }, + ); + const prepareNode: AGraphNode | undefined = this.prepareStep + ? aGraphNode('Prepare-' + stack.stackName, { type: 'prepare', stack }) + : undefined; const deployNode: AGraphNode = aGraphNode('Deploy', { type: 'execute', stack, @@ -149,8 +211,43 @@ export class PipelineGraph { // node or node collection that represents first point of contact in each stack let firstDeployNode; if (prepareNode) { - stackGraph.add(prepareNode); - deployNode.dependOn(prepareNode); + prepareNodes.nodes.push(prepareNode); + // retGraph.add(prepareNode); + + if (this.allPrepareNodesFirst) { + retGraph.add(prepareNode); + } else { + stackGraph.add(prepareNode); + + // this.addPostPrepare(stage.postPrepare, stackGraph); + } + + const postPrepareNodesWave = this.addPostPrepare( + wavePostPrepareSteps ?? [], + retGraph, + ); + if (postPrepareNodesWave.nodes.length > 0) { + for (const n of postPrepareNodesWave.nodes) { + deployNode.dependOn(n); + n.dependOn(prepareNode); + } + } else { + deployNode.dependOn(prepareNode); + } + + const postPrepareNodes = this.addPostPrepare( + stage.postPrepare, + retGraph, + ); + if (postPrepareNodes.nodes.length > 0) { + for (const n of postPrepareNodes.nodes) { + deployNode.dependOn(n); + n.dependOn(prepareNode); + } + } else { + deployNode.dependOn(prepareNode); + } + firstDeployNode = prepareNode; } else { firstDeployNode = deployNode; @@ -159,9 +256,16 @@ export class PipelineGraph { // add changeset steps at the stack level if (stack.changeSet.length > 0) { if (prepareNode) { - this.addChangeSetNode(stack.changeSet, prepareNode, deployNode, stackGraph); + this.addChangeSetNode( + stack.changeSet, + prepareNode, + deployNode, + stackGraph, + ); } else { - throw new Error(`Cannot use \'changeSet\' steps for stack \'${stack.stackName}\': the pipeline does not support them or they have been disabled`); + throw new Error( + `Cannot use \'changeSet\' steps for stack \'${stack.stackName}\': the pipeline does not support them or they have been disabled`, + ); } } @@ -175,12 +279,16 @@ export class PipelineGraph { const cloudAssembly = this.cloudAssemblyFileSet; - firstDeployNode.dependOn(this.addStepNode(cloudAssembly.producer, retGraph)); + firstDeployNode.dependOn( + this.addStepNode(cloudAssembly.producer, retGraph), + ); // add the template asset if (this.publishTemplate) { if (!stack.templateAsset) { - throw new Error(`"publishTemplate" is enabled, but stack ${stack.stackArtifactId} does not have a template asset`); + throw new Error( + `"publishTemplate" is enabled, but stack ${stack.stackArtifactId} does not have a template asset`, + ); } firstDeployNode.dependOn(this.publishAsset(stack.templateAsset)); @@ -215,11 +323,17 @@ export class PipelineGraph { } this.addPrePost(stage.pre, stage.post, retGraph); - + // this.addPostPrepare(stage.addPostPrepare,) + // this.addPostPrepare(stage.postPrepare, retGraph); return retGraph; } - private addChangeSetNode(changeSet: Step[], prepareNode: AGraphNode, deployNode: AGraphNode, graph: AGraph) { + private addChangeSetNode( + changeSet: Step[], + prepareNode: AGraphNode, + deployNode: AGraphNode, + graph: AGraph, + ) { for (const c of changeSet) { const changeSetNode = this.addStepNode(c, graph); changeSetNode?.dependOn(prepareNode); @@ -227,6 +341,17 @@ export class PipelineGraph { } } + private addPostPrepare(postPrepare: Step[], parent: AGraph) { + const currentNodes = new GraphNodeCollection(parent.nodes); + const postPrepareNodes = new GraphNodeCollection(new Array()); + for (const p of postPrepare) { + const preNode = this.addStepNode(p, parent); + postPrepareNodes?.dependOn(...currentNodes.nodes); + postPrepareNodes.nodes.push(preNode!); + } + return postPrepareNodes; + } + private addPrePost(pre: Step[], post: Step[], parent: AGraph) { const currentNodes = new GraphNodeCollection(parent.nodes); const preNodes = new GraphNodeCollection(new Array()); @@ -257,10 +382,14 @@ export class PipelineGraph { * Adds all dependencies for that Node to the same Step as well. */ private addStepNode(step: Step, parent: AGraph) { - if (step === PipelineGraph.NO_STEP) { return undefined; } + if (step === PipelineGraph.NO_STEP) { + return undefined; + } const previous = this.added.get(step); - if (previous) { return previous; } + if (previous) { + return previous; + } const node: AGraphNode = aGraphNode(step.id, { type: 'step', step }); @@ -302,25 +431,38 @@ export class PipelineGraph { // May need to do this more than once to recursively add all missing producers let attempts = 20; while (attempts-- > 0) { - const unsatisfied = this.nodeDependencies.unsatisfiedBuilders().filter(([s]) => s !== PipelineGraph.NO_STEP); - if (unsatisfied.length === 0) { return; } + const unsatisfied = this.nodeDependencies + .unsatisfiedBuilders() + .filter(([s]) => s !== PipelineGraph.NO_STEP); + if (unsatisfied.length === 0) { + return; + } for (const [step, builder] of unsatisfied) { // Add a new node for this step to the parent of the "leftmost" consumer. - const leftMostConsumer = new GraphNodeCollection(builder.consumers).first(); + const leftMostConsumer = new GraphNodeCollection( + builder.consumers, + ).first(); const parent = leftMostConsumer.parentGraph; if (!parent) { - throw new Error(`Consumer doesn't have a parent graph: ${leftMostConsumer}`); + throw new Error( + `Consumer doesn't have a parent graph: ${leftMostConsumer}`, + ); } this.addStepNode(step, parent); } } const unsatisfied = this.nodeDependencies.unsatisfiedBuilders(); - throw new Error([ - 'Recursion depth too large while adding dependency nodes:', - unsatisfied.map(([step, builder]) => `${builder.consumersAsString()} awaiting ${step}.`), - ].join(' ')); + throw new Error( + [ + 'Recursion depth too large while adding dependency nodes:', + unsatisfied.map( + ([step, builder]) => + `${builder.consumersAsString()} awaiting ${step}.`, + ), + ].join(' '), + ); } private publishAsset(stackAsset: StackAsset): AGraphNode { @@ -330,14 +472,22 @@ export class PipelineGraph { if (assetNode) { // If there's already a node publishing this asset, add as a new publishing // destination to the same node. - } else if (this.singlePublisher && this.assetNodesByType.has(stackAsset.assetType)) { + } else if ( + this.singlePublisher && + this.assetNodesByType.has(stackAsset.assetType) + ) { // If we're doing a single node per type, lookup by that assetNode = this.assetNodesByType.get(stackAsset.assetType)!; } else { // Otherwise add a new one - const id = stackAsset.assetType === AssetType.FILE - ? (this.singlePublisher ? 'FileAsset' : `FileAsset${++this._fileAssetCtr}`) - : (this.singlePublisher ? 'DockerAsset' : `DockerAsset${++this._dockerAssetCtr}`); + const id = + stackAsset.assetType === AssetType.FILE + ? this.singlePublisher + ? 'FileAsset' + : `FileAsset${++this._fileAssetCtr}` + : this.singlePublisher + ? 'DockerAsset' + : `DockerAsset${++this._dockerAssetCtr}`; assetNode = aGraphNode(id, { type: 'publish-assets', assets: [] }); assetsGraph.add(assetNode); @@ -352,7 +502,9 @@ export class PipelineGraph { throw new Error(`${assetNode} has the wrong data.type: ${data?.type}`); } - if (!data.assets.some(a => a.assetSelector === stackAsset.assetSelector)) { + if ( + !data.assets.some((a) => a.assetSelector === stackAsset.assetSelector) + ) { data.assets.push(stackAsset); } @@ -378,8 +530,7 @@ type GraphAnnotation = // Explicitly disable exhaustiveness checking on GraphAnnotation. This forces all consumers to adding // a 'default' clause which allows us to extend this list in the future. // The code below looks weird, 'type' must be a non-enumerable type that is not assignable to 'string'. - | { readonly type: { error: 'you must add a default case to your switch' } } - ; + | { readonly type: { error: 'you must add a default case to your switch' } }; interface ExecuteAnnotation { readonly type: 'execute'; @@ -412,4 +563,4 @@ function aGraphNode(id: string, x: GraphAnnotation): AGraphNode { function stripPrefix(s: string, prefix: string) { return s.startsWith(prefix) ? s.slice(prefix.length) : s; -} \ No newline at end of file +} diff --git a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts index 3d6fa25f11937..f1e0bdb800701 100644 --- a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts +++ b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-queries.ts @@ -1,4 +1,4 @@ -import { Step, StackOutputReference, StackDeployment, StackAsset, StageDeployment } from '../blueprint'; +import { StackAsset, StackDeployment, StackOutputReference, StageDeployment, Step } from '../blueprint'; import { PipelineBase } from '../main/pipeline-base'; /** @@ -14,11 +14,11 @@ export class PipelineQueries { public stackOutputsReferenced(stack: StackDeployment): string[] { const steps = new Array(); for (const wave of this.pipeline.waves) { - steps.push(...wave.pre, ...wave.post); + steps.push(...wave.pre, ...wave.post, ...wave.postPrepare); for (const stage of wave.stages) { - steps.push(...stage.pre, ...stage.post); + steps.push(...stage.pre, ...stage.post, ...stage.postPrepare); for (const stackDeployment of stage.stacks) { - steps.push(...stackDeployment.pre, ...stackDeployment.changeSet, ...stackDeployment.post); + steps.push(...stackDeployment.pre, ...stackDeployment.changeSet, ...stackDeployment.post, ...stackDeployment.postPrepare); } } } diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index b8d4dc53957af..2ec801a0ffed1 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -3,7 +3,7 @@ import * as cdkp from '../../../lib'; import { ManualApprovalStep, Step } from '../../../lib'; import { Graph, GraphNode, PipelineGraph } from '../../../lib/helpers-internal'; import { flatten } from '../../../lib/private/javascript'; -import { AppWithOutput, AppWithExposedStacks, OneStackApp, TestApp } from '../../testhelpers/test-app'; +import { AppWithExposedStacks, AppWithOutput, OneStackApp, TestApp } from '../../testhelpers/test-app'; let app: TestApp; @@ -114,6 +114,44 @@ describe('blueprint with wave and stage', () => { ]); }); + test('postPrepare and prepareNodes are added correctly inside stack graph', () => { + // GIVEN + const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + + blueprint.waves[0].addStage(appWithExposedStacks, { + postPrepare: [ + new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + ], + // stackSteps: [ + // { + // stack, + // pre: [ + // new cdkp.ManualApprovalStep('Step1'), + // new cdkp.ManualApprovalStep('Step2'), + // new cdkp.ManualApprovalStep('Step3'), + // ], + // changeSet: [new cdkp.ManualApprovalStep('Manual Approval')], + // post: [new cdkp.ManualApprovalStep('Post Approval')], + // }, + // ], + }); + + // WHEN + const graph = new PipelineGraph(blueprint).graph; + console.log(graph); + // THEN + expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + 'Prepare-Gamma-Stack1', + 'Step1', + 'Step2', + 'Step3', + 'Deploy', + + ]); + }); + test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts index fd7e6ab9d1ccc..eaf0fe9f82923 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-queries.test.ts @@ -57,17 +57,17 @@ describe('pipeline-queries', () => { }, { description: 'output referenced in stack pre step', - additionalSetup: () => stackDeployment.addStackSteps([step], [], []), + additionalSetup: () => stackDeployment.addStackSteps([step], [], [], []), expectedResultGetter: () => [outputName], }, { description: 'output referenced in stack changeSet step', - additionalSetup: () => stackDeployment.addStackSteps([], [step], []), + additionalSetup: () => stackDeployment.addStackSteps([], [step], [], []), expectedResultGetter: () => [outputName], }, { description: 'output referenced in stack post step', - additionalSetup: () => stackDeployment.addStackSteps([], [], [step]), + additionalSetup: () => stackDeployment.addStackSteps([], [], [step], []), expectedResultGetter: () => [outputName], }, { diff --git a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts index 302ffaca2119b..0c2dfa0a3b047 100644 --- a/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/codepipeline/codepipeline.test.ts @@ -1,5 +1,5 @@ import { Construct } from 'constructs'; -import { Template, Annotations, Match } from '../../../assertions'; +import { Annotations, Match, Template } from '../../../assertions'; import * as ccommit from '../../../aws-codecommit'; import { Pipeline } from '../../../aws-codepipeline'; import * as iam from '../../../aws-iam'; @@ -9,7 +9,7 @@ import * as cdk from '../../../core'; import { Stack } from '../../../core'; import * as cdkp from '../../lib'; import { CodePipeline } from '../../lib'; -import { PIPELINE_ENV, TestApp, ModernTestGitHubNpmPipeline, FileAssetApp, TwoStackApp, StageWithStackOutput } from '../testhelpers'; +import { FileAssetApp, ModernTestGitHubNpmPipeline, PIPELINE_ENV, StageWithStackOutput, TestApp, TwoStackApp } from '../testhelpers'; let app: TestApp; diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts index 75d58084dadfb..81421fd1a837c 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts @@ -1,10 +1,10 @@ /* eslint-disable import/no-extraneous-dependencies */ +import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; -import { Construct } from 'constructs'; import { Capture, Match, Template } from '../../../assertions'; import { Stack, Stage, StageProps, Tags } from '../../../core'; -import { behavior, LegacyTestGitHubNpmPipeline, OneStackApp, BucketStack, PIPELINE_ENV, TestApp, ModernTestGitHubNpmPipeline, stringLike } from '../testhelpers'; +import { BucketStack, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, behavior, stringLike } from '../testhelpers'; let app: TestApp; let pipelineStack: Stack; diff --git a/packages/cdk-cli-wrapper/.jsii b/packages/cdk-cli-wrapper/.jsii new file mode 100644 index 0000000000000..62a6bd84aa219 --- /dev/null +++ b/packages/cdk-cli-wrapper/.jsii @@ -0,0 +1,1528 @@ +{ + "author": { + "name": "Amazon Web Services", + "organization": true, + "roles": [ + "author" + ], + "url": "https://aws.amazon.com" + }, + "description": "CDK CLI Wrapper Library", + "docs": { + "stability": "experimental" + }, + "homepage": "https://github.com/aws/aws-cdk", + "jsiiVersion": "5.0.2 (build fc559a8)", + "keywords": [ + "aws", + "cdk" + ], + "license": "Apache-2.0", + "metadata": { + "jsii": { + "compiledWithDeprecationWarnings": true, + "pacmak": { + "hasDefaultInterfaces": true + }, + "rosetta": { + "strict": true + } + } + }, + "name": "cdk-cli-wrapper", + "readme": { + "markdown": "# cdk-cli-wrapper\n\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n\n\nCDK CLI Wrapper Library.\n\nInternal only for now.\n\n## Overview\n\nThis package provides a library which wraps the CDK CLI, allowing you to interact with the CLI programmatically.\n\nCurrently this package provides wrappers for:\n\n- `cdk deploy`\n- `cdk synth`\n- `cdk destroy`\n- `cdk list`\n\n## Usage\n\nFirst create a new `CdkCliWrapper` with the directory in which you want to execute commands,\nand optionally any environment variables that you want to include in the execution environment.\n\n```ts\nnew CdkCliWrapper({\n directory: '/path/to/project',\n env: {\n KEY: 'value',\n },\n});\n```\n\n### deploy\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.deploy({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### synth\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.synth({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### destroy\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.destroy({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### list\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.list({\n app: 'node bin/my-app.js',\n stacks: ['*'],\n});\n```\n" + }, + "repository": { + "directory": "packages/cdk-cli-wrapper", + "type": "git", + "url": "https://github.com/aws/aws-cdk.git" + }, + "schema": "jsii/0.10.0", + "targets": { + "dotnet": { + "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", + "namespace": "Amazon.CDK.CdkCliWrapper", + "packageId": "Amazon.CDK.CdkCliWrapper" + }, + "java": { + "maven": { + "artifactId": "cdk-cli-wrapper", + "groupId": "software.amazon.awscdk" + }, + "package": "software.amazon.awscdk.cdkcliwrapper" + }, + "js": { + "npm": "cdk-cli-wrapper" + }, + "python": { + "classifiers": [ + "Framework :: AWS CDK", + "Framework :: AWS CDK :: 2" + ], + "distName": "aws-cdk.cdk-cli-wrapper", + "module": "aws_cdk.cdk_cli_wrapper" + } + }, + "types": { + "cdk-cli-wrapper.CdkCliWrapper": { + "assembly": "cdk-cli-wrapper", + "docs": { + "stability": "experimental", + "summary": "Provides a programmatic interface for interacting with the CDK CLI by wrapping the CLI with exec." + }, + "fqn": "cdk-cli-wrapper.CdkCliWrapper", + "initializer": { + "docs": { + "stability": "experimental" + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 130 + }, + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.CdkCliWrapperOptions" + } + } + ] + }, + "interfaces": [ + "cdk-cli-wrapper.ICdk" + ], + "kind": "class", + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 124 + }, + "methods": [ + { + "docs": { + "stability": "experimental", + "summary": "cdk deploy." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 162 + }, + "name": "deploy", + "overrides": "cdk-cli-wrapper.ICdk", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.DeployOptions" + } + } + ] + }, + { + "docs": { + "stability": "experimental", + "summary": "cdk destroy." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 192 + }, + "name": "destroy", + "overrides": "cdk-cli-wrapper.ICdk", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.DestroyOptions" + } + } + ] + }, + { + "docs": { + "stability": "experimental", + "summary": "cdk list." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 147 + }, + "name": "list", + "overrides": "cdk-cli-wrapper.ICdk", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.ListOptions" + } + } + ], + "returns": { + "type": { + "primitive": "string" + } + } + }, + { + "docs": { + "stability": "experimental", + "summary": "cdk synth." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 209 + }, + "name": "synth", + "overrides": "cdk-cli-wrapper.ICdk", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.SynthOptions" + } + } + ] + }, + { + "docs": { + "remarks": "The CLI has a pretty slow startup time because of all the modules it needs to load,\nBypass it to be quicker!", + "stability": "experimental", + "summary": "Do a CDK synth, mimicking the CLI (without actually using it)." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 230 + }, + "name": "synthFast", + "overrides": "cdk-cli-wrapper.ICdk", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.SynthFastOptions" + } + } + ] + } + ], + "name": "CdkCliWrapper", + "symbolId": "lib/cdk-wrapper:CdkCliWrapper" + }, + "cdk-cli-wrapper.CdkCliWrapperOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "AWS CDK client that provides an API to programatically execute the CDK CLI by wrapping calls to exec the CLI." + }, + "fqn": "cdk-cli-wrapper.CdkCliWrapperOptions", + "kind": "interface", + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 90 + }, + "name": "CdkCliWrapperOptions", + "properties": [ + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "The directory to run the cdk commands from." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 94 + }, + "name": "directory", + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "'aws-cdk/bin/cdk'", + "stability": "experimental", + "summary": "The path to the cdk executable." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 110 + }, + "name": "cdkExecutable", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "- no additional env vars", + "stability": "experimental", + "summary": "Additional environment variables to set in the execution environment that will be running the cdk commands." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 103 + }, + "name": "env", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "map" + } + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Show the output from running the CDK CLI." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 117 + }, + "name": "showOutput", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/cdk-wrapper:CdkCliWrapperOptions" + }, + "cdk-cli-wrapper.DefaultCdkOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Default CDK CLI options that apply to all commands." + }, + "fqn": "cdk-cli-wrapper.DefaultCdkOptions", + "kind": "interface", + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 24 + }, + "name": "DefaultCdkOptions", + "properties": [ + { + "abstract": true, + "docs": { + "default": "- false", + "remarks": "Requried if `stacks` is not set", + "stability": "experimental", + "summary": "Deploy all stacks." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 41 + }, + "name": "all", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- read from cdk.json", + "stability": "experimental", + "summary": "command-line for executing your app or a cloud assembly directory e.g. \"node bin/my-app.js\" or \"cdk.out\"." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 51 + }, + "name": "app", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Include \"aws:asset:*\" CloudFormation metadata for resources that use assets." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 171 + }, + "name": "assetMetadata", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- read from AWS_CA_BUNDLE environment variable", + "stability": "experimental", + "summary": "Path to CA certificate to use when validating HTTPS requests." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 143 + }, + "name": "caBundlePath", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Show colors and other style from console output." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 201 + }, + "name": "color", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- no additional context", + "stability": "experimental", + "summary": "Additional context." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 66 + }, + "name": "context", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "map" + } + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "enable emission of additional debugging information, such as creation stack traces of tokens." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 120 + }, + "name": "debug", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- guess EC2 instance status", + "stability": "experimental", + "summary": "Force trying to fetch EC2 instance credentials." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 150 + }, + "name": "ec2Creds", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Ignores synthesis errors, which will likely produce an invalid output." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 97 + }, + "name": "ignoreErrors", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Use JSON output instead of YAML when templates are printed to STDOUT." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 105 + }, + "name": "json", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "remarks": "Synthesis fails if this is disabled and context lookups need\nto be performed", + "stability": "experimental", + "summary": "Perform context lookups." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 90 + }, + "name": "lookups", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Show relevant notices." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 194 + }, + "name": "notices", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "cdk.out", + "stability": "experimental", + "summary": "Emits the synthesized cloud assembly into a directory." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 187 + }, + "name": "output", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Include \"aws:cdk:path\" CloudFormation metadata for each resource." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 164 + }, + "name": "pathMetadata", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- no profile is used", + "stability": "experimental", + "summary": "Use the indicated AWS profile as the default environment." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 127 + }, + "name": "profile", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "- no proxy", + "remarks": "Will read from\nHTTPS_PROXY environment if specified", + "stability": "experimental", + "summary": "Use the indicated proxy." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 135 + }, + "name": "proxy", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "- use the bootstrap cfn-exec role", + "stability": "experimental", + "summary": "Role to pass to CloudFormation for deployment." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 59 + }, + "name": "roleArn", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "- []", + "remarks": "Requried if `all` is not set", + "stability": "experimental", + "summary": "List of stacks to deploy." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 32 + }, + "name": "stacks", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "array" + } + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "remarks": "Needed for local debugging the source files with SAM CLI", + "stability": "experimental", + "summary": "Copy assets to the output directory." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 180 + }, + "name": "staging", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Do not construct stacks with warnings." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 80 + }, + "name": "strict", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Print trace for stack warnings." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 73 + }, + "name": "trace", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "show debug logs." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 112 + }, + "name": "verbose", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Include \"AWS::CDK::Metadata\" resource in synthesized templates." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 157 + }, + "name": "versionReporting", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/commands/common:DefaultCdkOptions" + }, + "cdk-cli-wrapper.DeployOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Options to use with cdk deploy." + }, + "fqn": "cdk-cli-wrapper.DeployOptions", + "interfaces": [ + "cdk-cli-wrapper.DefaultCdkOptions" + ], + "kind": "interface", + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 6 + }, + "name": "DeployOptions", + "properties": [ + { + "abstract": true, + "docs": { + "default": "- auto generate a name", + "remarks": "If not provided, a name will be generated automatically.", + "stability": "experimental", + "summary": "Optional name to use for the CloudFormation change set." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 34 + }, + "name": "changeSetName", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Whether we are on a CI system." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 96 + }, + "name": "ci", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Only perform action on the given stack." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 12 + }, + "name": "exclusively", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 68 + }, + "name": "execute", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Always deploy, even if templates are identical." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 40 + }, + "name": "force", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "- no notifications", + "stability": "experimental", + "summary": "ARNs of SNS topics that CloudFormation will notify with stack related events." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 54 + }, + "name": "notificationArns", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "array" + } + } + }, + { + "abstract": true, + "docs": { + "default": "- Outputs are not written to any file", + "stability": "experimental", + "summary": "Path to file where stack outputs will be written after a successful deploy as JSON." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 89 + }, + "name": "outputsFile", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "{}", + "stability": "experimental", + "summary": "Additional parameters for CloudFormation at deploy time." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 74 + }, + "name": "parameters", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "map" + } + } + }, + { + "abstract": true, + "docs": { + "default": "StackActivityProgress.EVENTS", + "remarks": "The default in the CLI is StackActivityProgress.BAR, but\nsince the cli-wrapper will most likely be run in automation it makes\nmore sense to set the default to StackActivityProgress.EVENTS", + "stability": "experimental", + "summary": "Display mode for stack activity events." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 107 + }, + "name": "progress", + "optional": true, + "type": { + "fqn": "cdk-cli-wrapper.StackActivityProgress" + } + }, + { + "abstract": true, + "docs": { + "default": "RequireApproval.Never", + "stability": "experimental", + "summary": "What kind of security changes require approval." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 61 + }, + "name": "requireApproval", + "optional": true, + "type": { + "fqn": "cdk-cli-wrapper.RequireApproval" + } + }, + { + "abstract": true, + "docs": { + "default": "- do not reuse assets", + "stability": "experimental", + "summary": "Reuse the assets with the given asset IDs." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 26 + }, + "name": "reuseAssets", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "array" + } + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "stability": "experimental", + "summary": "Rollback failed deployments." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 47 + }, + "name": "rollback", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "CDKToolkit", + "stability": "experimental", + "summary": "Name of the toolkit stack to use/deploy." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 19 + }, + "name": "toolkitStackName", + "optional": true, + "type": { + "primitive": "string" + } + }, + { + "abstract": true, + "docs": { + "default": "true", + "remarks": "If not set, all parameters must be specified for every deployment.", + "stability": "experimental", + "summary": "Use previous values for unspecified parameters." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 83 + }, + "name": "usePreviousParameters", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/commands/deploy:DeployOptions" + }, + "cdk-cli-wrapper.DestroyOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Options to use with cdk destroy." + }, + "fqn": "cdk-cli-wrapper.DestroyOptions", + "interfaces": [ + "cdk-cli-wrapper.DefaultCdkOptions" + ], + "kind": "interface", + "locationInModule": { + "filename": "lib/commands/destroy.ts", + "line": 6 + }, + "name": "DestroyOptions", + "properties": [ + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Only destroy the given stack." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/destroy.ts", + "line": 19 + }, + "name": "exclusively", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Do not ask for permission before destroying stacks." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/destroy.ts", + "line": 12 + }, + "name": "force", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/commands/destroy:DestroyOptions" + }, + "cdk-cli-wrapper.Environment": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "deprecated": "Use raw property bags instead (object literals, `Map`, etc... )", + "stability": "deprecated", + "summary": "Additional environment variables to set in the execution environment." + }, + "fqn": "cdk-cli-wrapper.Environment", + "kind": "interface", + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 77 + }, + "name": "Environment", + "symbolId": "lib/cdk-wrapper:Environment" + }, + "cdk-cli-wrapper.ICdk": { + "assembly": "cdk-cli-wrapper", + "docs": { + "stability": "experimental", + "summary": "AWS CDK CLI operations." + }, + "fqn": "cdk-cli-wrapper.ICdk", + "kind": "interface", + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 7 + }, + "methods": [ + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "cdk deploy." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 12 + }, + "name": "deploy", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.DeployOptions" + } + } + ] + }, + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "cdk destroy." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 22 + }, + "name": "destroy", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.DestroyOptions" + } + } + ] + }, + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "cdk list." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 27 + }, + "name": "list", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.ListOptions" + } + } + ], + "returns": { + "type": { + "primitive": "string" + } + } + }, + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "cdk synth." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 17 + }, + "name": "synth", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.SynthOptions" + } + } + ] + }, + { + "abstract": true, + "docs": { + "stability": "experimental", + "summary": "cdk synth fast." + }, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 32 + }, + "name": "synthFast", + "parameters": [ + { + "name": "options", + "type": { + "fqn": "cdk-cli-wrapper.SynthFastOptions" + } + } + ] + } + ], + "name": "ICdk", + "symbolId": "lib/cdk-wrapper:ICdk" + }, + "cdk-cli-wrapper.ListOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Options for cdk list." + }, + "fqn": "cdk-cli-wrapper.ListOptions", + "interfaces": [ + "cdk-cli-wrapper.DefaultCdkOptions" + ], + "kind": "interface", + "locationInModule": { + "filename": "lib/commands/list.ts", + "line": 6 + }, + "name": "ListOptions", + "properties": [ + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Display environment information for each stack." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/list.ts", + "line": 12 + }, + "name": "long", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/commands/list:ListOptions" + }, + "cdk-cli-wrapper.RequireApproval": { + "assembly": "cdk-cli-wrapper", + "docs": { + "stability": "experimental", + "summary": "In what scenarios should the CLI ask for approval." + }, + "fqn": "cdk-cli-wrapper.RequireApproval", + "kind": "enum", + "locationInModule": { + "filename": "lib/commands/common.ts", + "line": 4 + }, + "members": [ + { + "docs": { + "stability": "experimental", + "summary": "Never ask for approval." + }, + "name": "NEVER" + }, + { + "docs": { + "stability": "experimental", + "summary": "Prompt for approval for any type of change to the stack." + }, + "name": "ANYCHANGE" + }, + { + "docs": { + "stability": "experimental", + "summary": "Only prompt for approval if there are security related changes." + }, + "name": "BROADENING" + } + ], + "name": "RequireApproval", + "symbolId": "lib/commands/common:RequireApproval" + }, + "cdk-cli-wrapper.StackActivityProgress": { + "assembly": "cdk-cli-wrapper", + "docs": { + "stability": "experimental", + "summary": "Supported display modes for stack deployment activity." + }, + "fqn": "cdk-cli-wrapper.StackActivityProgress", + "kind": "enum", + "locationInModule": { + "filename": "lib/commands/deploy.ts", + "line": 113 + }, + "members": [ + { + "docs": { + "stability": "experimental", + "summary": "Displays a progress bar with only the events for the resource currently being deployed." + }, + "name": "BAR" + }, + { + "docs": { + "stability": "experimental", + "summary": "Displays complete history with all CloudFormation stack events." + }, + "name": "EVENTS" + } + ], + "name": "StackActivityProgress", + "symbolId": "lib/commands/deploy:StackActivityProgress" + }, + "cdk-cli-wrapper.SynthFastOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Options for synthing and bypassing the CDK CLI." + }, + "fqn": "cdk-cli-wrapper.SynthFastOptions", + "kind": "interface", + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 38 + }, + "name": "SynthFastOptions", + "properties": [ + { + "abstract": true, + "docs": { + "remarks": "e.g. \"node 'bin/my-app.ts'\"\nor 'go run main.go'", + "stability": "experimental", + "summary": "The command to use to execute the app. This is typically the same thing that normally gets passed to `--app`." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 47 + }, + "name": "execCmd", + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "array" + } + } + }, + { + "abstract": true, + "docs": { + "default": "- no additional context", + "stability": "experimental", + "summary": "Additional context." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 61 + }, + "name": "context", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "map" + } + } + }, + { + "abstract": true, + "docs": { + "default": "- no additional env", + "stability": "experimental", + "summary": "Additional environment variables to set in the execution environment." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 69 + }, + "name": "env", + "optional": true, + "type": { + "collection": { + "elementtype": { + "primitive": "string" + }, + "kind": "map" + } + } + }, + { + "abstract": true, + "docs": { + "default": "cdk.out", + "stability": "experimental", + "summary": "Emits the synthesized cloud assembly into a directory." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/cdk-wrapper.ts", + "line": 54 + }, + "name": "output", + "optional": true, + "type": { + "primitive": "string" + } + } + ], + "symbolId": "lib/cdk-wrapper:SynthFastOptions" + }, + "cdk-cli-wrapper.SynthOptions": { + "assembly": "cdk-cli-wrapper", + "datatype": true, + "docs": { + "stability": "experimental", + "summary": "Options to use with cdk synth." + }, + "fqn": "cdk-cli-wrapper.SynthOptions", + "interfaces": [ + "cdk-cli-wrapper.DefaultCdkOptions" + ], + "kind": "interface", + "locationInModule": { + "filename": "lib/commands/synth.ts", + "line": 6 + }, + "name": "SynthOptions", + "properties": [ + { + "abstract": true, + "docs": { + "default": "false", + "stability": "experimental", + "summary": "Only synthesize the given stack." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/synth.ts", + "line": 27 + }, + "name": "exclusively", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "false;", + "stability": "experimental", + "summary": "Do not output CloudFormation Template to stdout." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/synth.ts", + "line": 20 + }, + "name": "quiet", + "optional": true, + "type": { + "primitive": "boolean" + } + }, + { + "abstract": true, + "docs": { + "default": "true;", + "stability": "experimental", + "summary": "After synthesis, validate stacks with the \"validateOnSynth\" attribute set (can also be controlled with CDK_VALIDATION)." + }, + "immutable": true, + "locationInModule": { + "filename": "lib/commands/synth.ts", + "line": 14 + }, + "name": "validation", + "optional": true, + "type": { + "primitive": "boolean" + } + } + ], + "symbolId": "lib/commands/synth:SynthOptions" + } + }, + "version": "0.0.0", + "fingerprint": "7DPD0yMgHZTMx1AEyOkTee0ioLeClu0VVOoQhq0450o=" +} \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/.warnings.jsii.js b/packages/cdk-cli-wrapper/.warnings.jsii.js new file mode 100644 index 0000000000000..6561cc1d41e13 --- /dev/null +++ b/packages/cdk-cli-wrapper/.warnings.jsii.js @@ -0,0 +1,73 @@ +function cdk_cli_wrapper_ICdk(p) { +} +function cdk_cli_wrapper_SynthFastOptions(p) { +} +function cdk_cli_wrapper_Environment(p) { +} +function cdk_cli_wrapper_CdkCliWrapperOptions(p) { +} +function cdk_cli_wrapper_CdkCliWrapper(p) { +} +function cdk_cli_wrapper_SynthOptions(p) { +} +function cdk_cli_wrapper_RequireApproval(p) { +} +function cdk_cli_wrapper_DefaultCdkOptions(p) { +} +function cdk_cli_wrapper_DeployOptions(p) { + if (p == null) + return; + visitedObjects.add(p); + try { + if (!visitedObjects.has(p.progress)) + cdk_cli_wrapper_StackActivityProgress(p.progress); + if (!visitedObjects.has(p.requireApproval)) + cdk_cli_wrapper_RequireApproval(p.requireApproval); + } + finally { + visitedObjects.delete(p); + } +} +function cdk_cli_wrapper_StackActivityProgress(p) { +} +function cdk_cli_wrapper_DestroyOptions(p) { +} +function cdk_cli_wrapper_ListOptions(p) { +} +function print(name, deprecationMessage) { + const deprecated = process.env.JSII_DEPRECATED; + const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn"; + const message = `${name} is deprecated.\n ${deprecationMessage.trim()}\n This API will be removed in the next major release.`; + switch (deprecationMode) { + case "fail": + throw new DeprecationError(message); + case "warn": + console.warn("[WARNING]", message); + break; + } +} +function getPropertyDescriptor(obj, prop) { + const descriptor = Object.getOwnPropertyDescriptor(obj, prop); + if (descriptor) { + return descriptor; + } + const proto = Object.getPrototypeOf(obj); + const prototypeDescriptor = proto && getPropertyDescriptor(proto, prop); + if (prototypeDescriptor) { + return prototypeDescriptor; + } + return {}; +} +const visitedObjects = new Set(); +class DeprecationError extends Error { + constructor(...args) { + super(...args); + Object.defineProperty(this, "name", { + configurable: false, + enumerable: true, + value: "DeprecationError", + writable: false, + }); + } +} +module.exports = { print, getPropertyDescriptor, DeprecationError, cdk_cli_wrapper_ICdk, cdk_cli_wrapper_SynthFastOptions, cdk_cli_wrapper_Environment, cdk_cli_wrapper_CdkCliWrapperOptions, cdk_cli_wrapper_CdkCliWrapper, cdk_cli_wrapper_SynthOptions, cdk_cli_wrapper_RequireApproval, cdk_cli_wrapper_DefaultCdkOptions, cdk_cli_wrapper_DeployOptions, cdk_cli_wrapper_StackActivityProgress, cdk_cli_wrapper_DestroyOptions, cdk_cli_wrapper_ListOptions }; diff --git a/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts b/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts new file mode 100644 index 0000000000000..f3f69e35a9ad2 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts @@ -0,0 +1,139 @@ +import { DeployOptions, DestroyOptions, SynthOptions, ListOptions } from './commands'; +/** + * AWS CDK CLI operations + */ +export interface ICdk { + /** + * cdk deploy + */ + deploy(options: DeployOptions): void; + /** + * cdk synth + */ + synth(options: SynthOptions): void; + /** + * cdk destroy + */ + destroy(options: DestroyOptions): void; + /** + * cdk list + */ + list(options: ListOptions): string; + /** + * cdk synth fast + */ + synthFast(options: SynthFastOptions): void; +} +/** + * Options for synthing and bypassing the CDK CLI + */ +export interface SynthFastOptions { + /** + * The command to use to execute the app. + * This is typically the same thing that normally + * gets passed to `--app` + * + * e.g. "node 'bin/my-app.ts'" + * or 'go run main.go' + */ + readonly execCmd: string[]; + /** + * Emits the synthesized cloud assembly into a directory + * + * @default cdk.out + */ + readonly output?: string; + /** + * Additional context + * + * @default - no additional context + */ + readonly context?: Record; + /** + * Additional environment variables to set in the + * execution environment + * + * @default - no additional env + */ + readonly env?: { + [name: string]: string; + }; +} +/** + * Additional environment variables to set in the execution environment + * + * @deprecated Use raw property bags instead (object literals, `Map`, etc... ) + */ +export interface Environment { + /** + * This index signature is not usable in non-TypeScript/JavaScript languages. + * + * @jsii ignore + */ + [key: string]: string | undefined; +} +/** + * AWS CDK client that provides an API to programatically execute the CDK CLI + * by wrapping calls to exec the CLI + */ +export interface CdkCliWrapperOptions { + /** + * The directory to run the cdk commands from + */ + readonly directory: string; + /** + * Additional environment variables to set + * in the execution environment that will be running + * the cdk commands + * + * @default - no additional env vars + */ + readonly env?: { + [name: string]: string; + }; + /** + * The path to the cdk executable + * + * @default 'aws-cdk/bin/cdk' + */ + readonly cdkExecutable?: string; + /** + * Show the output from running the CDK CLI + * + * @default false + */ + readonly showOutput?: boolean; +} +/** + * Provides a programmatic interface for interacting with the CDK CLI by + * wrapping the CLI with exec + */ +export declare class CdkCliWrapper implements ICdk { + private readonly directory; + private readonly env?; + private readonly cdk; + private readonly showOutput; + constructor(options: CdkCliWrapperOptions); + private validateArgs; + list(options: ListOptions): string; + /** + * cdk deploy + */ + deploy(options: DeployOptions): void; + /** + * cdk destroy + */ + destroy(options: DestroyOptions): void; + /** + * cdk synth + */ + synth(options: SynthOptions): void; + /** + * Do a CDK synth, mimicking the CLI (without actually using it) + * + * The CLI has a pretty slow startup time because of all the modules it needs to load, + * Bypass it to be quicker! + */ + synthFast(options: SynthFastOptions): void; + private createDefaultArguments; +} diff --git a/packages/cdk-cli-wrapper/lib/cdk-wrapper.js b/packages/cdk-cli-wrapper/lib/cdk-wrapper.js new file mode 100644 index 0000000000000..21758ec69e37d --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/cdk-wrapper.js @@ -0,0 +1,229 @@ +"use strict"; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CdkCliWrapper = void 0; +const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); +const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); +const commands_1 = require("./commands"); +const utils_1 = require("./utils"); +/** + * Provides a programmatic interface for interacting with the CDK CLI by + * wrapping the CLI with exec + */ +class CdkCliWrapper { + constructor(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_CdkCliWrapperOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, CdkCliWrapper); + } + throw error; + } + this.directory = options.directory; + this.env = options.env; + this.showOutput = options.showOutput ?? false; + try { + this.cdk = options.cdkExecutable ?? 'cdk'; + } + catch { + throw new Error(`could not resolve path to cdk executable: "${options.cdkExecutable ?? 'cdk'}"`); + } + } + validateArgs(options) { + if (!options.stacks && !options.all) { + throw new Error('one of "app" or "stacks" must be provided'); + } + } + list(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_ListOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, this.list); + } + throw error; + } + const listCommandArgs = [ + ...renderBooleanArg('long', options.long), + ...this.createDefaultArguments(options), + ]; + return (0, utils_1.exec)([this.cdk, 'ls', ...listCommandArgs], { + cwd: this.directory, + verbose: this.showOutput, + env: this.env, + }); + } + /** + * cdk deploy + */ + deploy(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_DeployOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, this.deploy); + } + throw error; + } + const deployCommandArgs = [ + ...renderBooleanArg('ci', options.ci), + ...renderBooleanArg('execute', options.execute), + ...renderBooleanArg('exclusively', options.exclusively), + ...renderBooleanArg('force', options.force), + ...renderBooleanArg('previous-parameters', options.usePreviousParameters), + ...renderBooleanArg('rollback', options.rollback), + ...renderBooleanArg('staging', options.staging), + ...options.reuseAssets ? renderArrayArg('--reuse-assets', options.reuseAssets) : [], + ...options.notificationArns ? renderArrayArg('--notification-arns', options.notificationArns) : [], + ...options.parameters ? renderMapArrayArg('--parameters', options.parameters) : [], + ...options.outputsFile ? ['--outputs-file', options.outputsFile] : [], + ...options.requireApproval ? ['--require-approval', options.requireApproval] : [], + ...options.changeSetName ? ['--change-set-name', options.changeSetName] : [], + ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [], + ...options.progress ? ['--progress', options.progress] : ['--progress', commands_1.StackActivityProgress.EVENTS], + ...this.createDefaultArguments(options), + ]; + (0, utils_1.exec)([this.cdk, 'deploy', ...deployCommandArgs], { + cwd: this.directory, + verbose: this.showOutput, + env: this.env, + }); + } + /** + * cdk destroy + */ + destroy(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_DestroyOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, this.destroy); + } + throw error; + } + const destroyCommandArgs = [ + ...renderBooleanArg('force', options.force), + ...renderBooleanArg('exclusively', options.exclusively), + ...this.createDefaultArguments(options), + ]; + (0, utils_1.exec)([this.cdk, 'destroy', ...destroyCommandArgs], { + cwd: this.directory, + verbose: this.showOutput, + env: this.env, + }); + } + /** + * cdk synth + */ + synth(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_SynthOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, this.synth); + } + throw error; + } + const synthCommandArgs = [ + ...renderBooleanArg('validation', options.validation), + ...renderBooleanArg('quiet', options.quiet), + ...renderBooleanArg('exclusively', options.exclusively), + ...this.createDefaultArguments(options), + ]; + (0, utils_1.exec)([this.cdk, 'synth', ...synthCommandArgs], { + cwd: this.directory, + verbose: this.showOutput, + env: this.env, + }); + } + /** + * Do a CDK synth, mimicking the CLI (without actually using it) + * + * The CLI has a pretty slow startup time because of all the modules it needs to load, + * Bypass it to be quicker! + */ + synthFast(options) { + try { + jsiiDeprecationWarnings.cdk_cli_wrapper_SynthFastOptions(options); + } + catch (error) { + if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { + Error.captureStackTrace(error, this.synthFast); + } + throw error; + } + (0, utils_1.exec)(options.execCmd, { + cwd: this.directory, + verbose: this.showOutput, + env: { + CDK_CONTEXT_JSON: JSON.stringify(options.context), + CDK_OUTDIR: options.output, + ...this.env, + ...options.env, + }, + }); + } + createDefaultArguments(options) { + this.validateArgs(options); + const stacks = options.stacks ?? []; + return [ + ...options.app ? ['--app', options.app] : [], + ...renderBooleanArg('strict', options.strict), + ...renderBooleanArg('trace', options.trace), + ...renderBooleanArg('lookups', options.lookups), + ...renderBooleanArg('ignore-errors', options.ignoreErrors), + ...renderBooleanArg('json', options.json), + ...renderBooleanArg('verbose', options.verbose), + ...renderBooleanArg('debug', options.debug), + ...renderBooleanArg('ec2creds', options.ec2Creds), + ...renderBooleanArg('version-reporting', options.versionReporting), + ...renderBooleanArg('path-metadata', options.pathMetadata), + ...renderBooleanArg('asset-metadata', options.assetMetadata), + ...renderBooleanArg('notices', options.notices), + ...renderBooleanArg('color', options.color), + ...options.context ? renderMapArrayArg('--context', options.context) : [], + ...options.profile ? ['--profile', options.profile] : [], + ...options.proxy ? ['--proxy', options.proxy] : [], + ...options.caBundlePath ? ['--ca-bundle-path', options.caBundlePath] : [], + ...options.roleArn ? ['--role-arn', options.roleArn] : [], + ...options.output ? ['--output', options.output] : [], + ...stacks, + ...options.all ? ['--all'] : [], + ]; + } +} +_a = JSII_RTTI_SYMBOL_1; +CdkCliWrapper[_a] = { fqn: "cdk-cli-wrapper.CdkCliWrapper", version: "0.0.0" }; +exports.CdkCliWrapper = CdkCliWrapper; +function renderMapArrayArg(flag, parameters) { + const params = []; + for (const [key, value] of Object.entries(parameters)) { + params.push(`${key}=${value}`); + } + return renderArrayArg(flag, params); +} +function renderArrayArg(flag, values) { + let args = []; + for (const value of values ?? []) { + args.push(flag, value); + } + return args; +} +function renderBooleanArg(val, arg) { + if (arg) { + return [`--${val}`]; + } + else if (arg === undefined) { + return []; + } + else { + return [`--no-${val}`]; + } +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5Q0FBZ0k7QUFDaEksbUNBQStCO0FBc0gvQjs7O0dBR0c7QUFDSCxNQUFhLGFBQWE7SUFNeEIsWUFBWSxPQUE2Qjs7Ozs7OytDQU45QixhQUFhOzs7O1FBT3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztTQUMzQztRQUFDLE1BQU07WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbEc7S0FDRjtJQUVPLFlBQVksQ0FBQyxPQUEwQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1NBQzlEO0tBQ0Y7SUFFTSxJQUFJLENBQUMsT0FBb0I7Ozs7Ozs7Ozs7UUFDOUIsTUFBTSxlQUFlLEdBQWE7WUFDaEMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7U0FDeEMsQ0FBQztRQUVGLE9BQU8sSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFO1lBQ2hELEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2QsQ0FBQyxDQUFDO0tBQ0o7SUFDRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFzQjs7Ozs7Ozs7OztRQUNsQyxNQUFNLGlCQUFpQixHQUFhO1lBQ2xDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUMvQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3ZELEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQUM7WUFDekUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsRixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JFLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakYsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyRixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsZ0NBQXFCLENBQUMsTUFBTSxDQUFDO1lBQ3JHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztTQUN4QyxDQUFDO1FBRUYsSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLGlCQUFpQixDQUFDLEVBQUU7WUFDL0MsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE9BQXVCOzs7Ozs7Ozs7O1FBQ3BDLE1BQU0sa0JBQWtCLEdBQWE7WUFDbkMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3ZELEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztTQUN4QyxDQUFDO1FBRUYsSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLEVBQUU7WUFDakQsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQXFCOzs7Ozs7Ozs7O1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQWE7WUFDakMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUNyRCxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNDLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDdkQsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDO1NBQ3hDLENBQUM7UUFFRixJQUFBLFlBQUksRUFBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtZQUM3QyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsT0FBeUI7Ozs7Ozs7Ozs7UUFDeEMsSUFBQSxZQUFJLEVBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLEdBQUcsRUFBRTtnQkFDSCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2pELFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDMUIsR0FBRyxJQUFJLENBQUMsR0FBRztnQkFDWCxHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVPLHNCQUFzQixDQUFDLE9BQTBCO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDcEMsT0FBTztZQUNMLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDN0MsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDMUQsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQzFELEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1RCxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xELEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsR0FBRyxNQUFNO1lBQ1QsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2hDLENBQUM7S0FDSDs7OztBQWxKVSxzQ0FBYTtBQXFKMUIsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsVUFBa0Q7SUFDekYsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNoQztJQUNELE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBWSxFQUFFLE1BQWlCO0lBQ3JELElBQUksSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUN4QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDeEI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxHQUFhO0lBQ2xELElBQUksR0FBRyxFQUFFO1FBQ1AsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNyQjtTQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zLCBEZXBsb3lPcHRpb25zLCBEZXN0cm95T3B0aW9ucywgU3ludGhPcHRpb25zLCBMaXN0T3B0aW9ucywgU3RhY2tBY3Rpdml0eVByb2dyZXNzIH0gZnJvbSAnLi9jb21tYW5kcyc7XG5pbXBvcnQgeyBleGVjIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQVdTIENESyBDTEkgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDZGsge1xuXG4gIC8qKlxuICAgKiBjZGsgZGVwbG95XG4gICAqL1xuICBkZXBsb3kob3B0aW9uczogRGVwbG95T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIGNkayBzeW50aFxuICAgKi9cbiAgc3ludGgob3B0aW9uczogU3ludGhPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogY2RrIGRlc3Ryb3lcbiAgICovXG4gIGRlc3Ryb3kob3B0aW9uczogRGVzdHJveU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBjZGsgbGlzdFxuICAgKi9cbiAgbGlzdChvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHN0cmluZztcblxuICAvKipcbiAgICogY2RrIHN5bnRoIGZhc3RcbiAgICovXG4gIHN5bnRoRmFzdChvcHRpb25zOiBTeW50aEZhc3RPcHRpb25zKTogdm9pZDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzeW50aGluZyBhbmQgYnlwYXNzaW5nIHRoZSBDREsgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhGYXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB0byB1c2UgdG8gZXhlY3V0ZSB0aGUgYXBwLlxuICAgKiBUaGlzIGlzIHR5cGljYWxseSB0aGUgc2FtZSB0aGluZyB0aGF0IG5vcm1hbGx5XG4gICAqIGdldHMgcGFzc2VkIHRvIGAtLWFwcGBcbiAgICpcbiAgICogZS5nLiBcIm5vZGUgJ2Jpbi9teS1hcHAudHMnXCJcbiAgICogb3IgJ2dvIHJ1biBtYWluLmdvJ1xuICAgKi9cbiAgcmVhZG9ubHkgZXhlY0NtZDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzeW50aGVzaXplZCBjbG91ZCBhc3NlbWJseSBpbnRvIGEgZGlyZWN0b3J5XG4gICAqXG4gICAqIEBkZWZhdWx0IGNkay5vdXRcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dD86IHN0cmluZyxcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb250ZXh0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGluIHRoZVxuICAgKiBleGVjdXRpb24gZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGVudlxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9LFxufVxuXG4vKipcbiAqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiB0aGUgZXhlY3V0aW9uIGVudmlyb25tZW50XG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHJhdyBwcm9wZXJ0eSBiYWdzIGluc3RlYWQgKG9iamVjdCBsaXRlcmFscywgYE1hcDxTdHJpbmcsT2JqZWN0PmAsIGV0Yy4uLiApXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnQge1xuICAvKipcbiAgICogVGhpcyBpbmRleCBzaWduYXR1cmUgaXMgbm90IHVzYWJsZSBpbiBub24tVHlwZVNjcmlwdC9KYXZhU2NyaXB0IGxhbmd1YWdlcy5cbiAgICpcbiAgICogQGpzaWkgaWdub3JlXG4gICAqL1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBBV1MgQ0RLIGNsaWVudCB0aGF0IHByb3ZpZGVzIGFuIEFQSSB0byBwcm9ncmFtYXRpY2FsbHkgZXhlY3V0ZSB0aGUgQ0RLIENMSVxuICogYnkgd3JhcHBpbmcgY2FsbHMgdG8gZXhlYyB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ2xpV3JhcHBlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0byBydW4gdGhlIGNkayBjb21tYW5kcyBmcm9tXG4gICAqL1xuICByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZyxcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0XG4gICAqIGluIHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQgdGhhdCB3aWxsIGJlIHJ1bm5pbmdcbiAgICogdGhlIGNkayBjb21tYW5kc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgZW52IHZhcnNcbiAgICovXG4gIHJlYWRvbmx5IGVudj86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgY2RrIGV4ZWN1dGFibGVcbiAgICpcbiAgICogQGRlZmF1bHQgJ2F3cy1jZGsvYmluL2NkaydcbiAgICovXG4gIHJlYWRvbmx5IGNka0V4ZWN1dGFibGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIG91dHB1dCBmcm9tIHJ1bm5pbmcgdGhlIENESyBDTElcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNob3dPdXRwdXQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGEgcHJvZ3JhbW1hdGljIGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQ0RLIENMSSBieVxuICogd3JhcHBpbmcgdGhlIENMSSB3aXRoIGV4ZWNcbiAqL1xuZXhwb3J0IGNsYXNzIENka0NsaVdyYXBwZXIgaW1wbGVtZW50cyBJQ2RrIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RrOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2hvd091dHB1dDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtDbGlXcmFwcGVyT3B0aW9ucykge1xuICAgIHRoaXMuZGlyZWN0b3J5ID0gb3B0aW9ucy5kaXJlY3Rvcnk7XG4gICAgdGhpcy5lbnYgPSBvcHRpb25zLmVudjtcbiAgICB0aGlzLnNob3dPdXRwdXQgPSBvcHRpb25zLnNob3dPdXRwdXQgPz8gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY2RrID0gb3B0aW9ucy5jZGtFeGVjdXRhYmxlID8/ICdjZGsnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb3VsZCBub3QgcmVzb2x2ZSBwYXRoIHRvIGNkayBleGVjdXRhYmxlOiBcIiR7b3B0aW9ucy5jZGtFeGVjdXRhYmxlID8/ICdjZGsnfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFyZ3Mob3B0aW9uczogRGVmYXVsdENka09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbnMuc3RhY2tzICYmICFvcHRpb25zLmFsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvbmUgb2YgXCJhcHBcIiBvciBcInN0YWNrc1wiIG11c3QgYmUgcHJvdmlkZWQnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGlzdChvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGlzdENvbW1hbmRBcmdzOiBzdHJpbmdbXSA9IFtcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2xvbmcnLCBvcHRpb25zLmxvbmcpLFxuICAgICAgLi4udGhpcy5jcmVhdGVEZWZhdWx0QXJndW1lbnRzKG9wdGlvbnMpLFxuICAgIF07XG5cbiAgICByZXR1cm4gZXhlYyhbdGhpcy5jZGssICdscycsIC4uLmxpc3RDb21tYW5kQXJnc10sIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBjZGsgZGVwbG95XG4gICAqL1xuICBwdWJsaWMgZGVwbG95KG9wdGlvbnM6IERlcGxveU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBkZXBsb3lDb21tYW5kQXJnczogc3RyaW5nW10gPSBbXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdjaScsIG9wdGlvbnMuY2kpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZXhlY3V0ZScsIG9wdGlvbnMuZXhlY3V0ZSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdleGNsdXNpdmVseScsIG9wdGlvbnMuZXhjbHVzaXZlbHkpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZm9yY2UnLCBvcHRpb25zLmZvcmNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3ByZXZpb3VzLXBhcmFtZXRlcnMnLCBvcHRpb25zLnVzZVByZXZpb3VzUGFyYW1ldGVycyksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdyb2xsYmFjaycsIG9wdGlvbnMucm9sbGJhY2spLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnc3RhZ2luZycsIG9wdGlvbnMuc3RhZ2luZyksXG4gICAgICAuLi5vcHRpb25zLnJldXNlQXNzZXRzID8gcmVuZGVyQXJyYXlBcmcoJy0tcmV1c2UtYXNzZXRzJywgb3B0aW9ucy5yZXVzZUFzc2V0cykgOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMubm90aWZpY2F0aW9uQXJucyA/IHJlbmRlckFycmF5QXJnKCctLW5vdGlmaWNhdGlvbi1hcm5zJywgb3B0aW9ucy5ub3RpZmljYXRpb25Bcm5zKSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wYXJhbWV0ZXJzID8gcmVuZGVyTWFwQXJyYXlBcmcoJy0tcGFyYW1ldGVycycsIG9wdGlvbnMucGFyYW1ldGVycykgOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMub3V0cHV0c0ZpbGUgPyBbJy0tb3V0cHV0cy1maWxlJywgb3B0aW9ucy5vdXRwdXRzRmlsZV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMucmVxdWlyZUFwcHJvdmFsID8gWyctLXJlcXVpcmUtYXBwcm92YWwnLCBvcHRpb25zLnJlcXVpcmVBcHByb3ZhbF0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMuY2hhbmdlU2V0TmFtZSA/IFsnLS1jaGFuZ2Utc2V0LW5hbWUnLCBvcHRpb25zLmNoYW5nZVNldE5hbWVdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnRvb2xraXRTdGFja05hbWUgPyBbJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgb3B0aW9ucy50b29sa2l0U3RhY2tOYW1lXSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wcm9ncmVzcyA/IFsnLS1wcm9ncmVzcycsIG9wdGlvbnMucHJvZ3Jlc3NdIDogWyctLXByb2dyZXNzJywgU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU10sXG4gICAgICAuLi50aGlzLmNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9ucyksXG4gICAgXTtcblxuICAgIGV4ZWMoW3RoaXMuY2RrLCAnZGVwbG95JywgLi4uZGVwbG95Q29tbWFuZEFyZ3NdLCB7XG4gICAgICBjd2Q6IHRoaXMuZGlyZWN0b3J5LFxuICAgICAgdmVyYm9zZTogdGhpcy5zaG93T3V0cHV0LFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjZGsgZGVzdHJveVxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3kob3B0aW9uczogRGVzdHJveU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBkZXN0cm95Q29tbWFuZEFyZ3M6IHN0cmluZ1tdID0gW1xuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZm9yY2UnLCBvcHRpb25zLmZvcmNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2V4Y2x1c2l2ZWx5Jywgb3B0aW9ucy5leGNsdXNpdmVseSksXG4gICAgICAuLi50aGlzLmNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9ucyksXG4gICAgXTtcblxuICAgIGV4ZWMoW3RoaXMuY2RrLCAnZGVzdHJveScsIC4uLmRlc3Ryb3lDb21tYW5kQXJnc10sIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNkayBzeW50aFxuICAgKi9cbiAgcHVibGljIHN5bnRoKG9wdGlvbnM6IFN5bnRoT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bnRoQ29tbWFuZEFyZ3M6IHN0cmluZ1tdID0gW1xuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndmFsaWRhdGlvbicsIG9wdGlvbnMudmFsaWRhdGlvbiksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdxdWlldCcsIG9wdGlvbnMucXVpZXQpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZXhjbHVzaXZlbHknLCBvcHRpb25zLmV4Y2x1c2l2ZWx5KSxcbiAgICAgIC4uLnRoaXMuY3JlYXRlRGVmYXVsdEFyZ3VtZW50cyhvcHRpb25zKSxcbiAgICBdO1xuXG4gICAgZXhlYyhbdGhpcy5jZGssICdzeW50aCcsIC4uLnN5bnRoQ29tbWFuZEFyZ3NdLCB7XG4gICAgICBjd2Q6IHRoaXMuZGlyZWN0b3J5LFxuICAgICAgdmVyYm9zZTogdGhpcy5zaG93T3V0cHV0LFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEbyBhIENESyBzeW50aCwgbWltaWNraW5nIHRoZSBDTEkgKHdpdGhvdXQgYWN0dWFsbHkgdXNpbmcgaXQpXG4gICAqXG4gICAqIFRoZSBDTEkgaGFzIGEgcHJldHR5IHNsb3cgc3RhcnR1cCB0aW1lIGJlY2F1c2Ugb2YgYWxsIHRoZSBtb2R1bGVzIGl0IG5lZWRzIHRvIGxvYWQsXG4gICAqIEJ5cGFzcyBpdCB0byBiZSBxdWlja2VyIVxuICAgKi9cbiAgcHVibGljIHN5bnRoRmFzdChvcHRpb25zOiBTeW50aEZhc3RPcHRpb25zKTogdm9pZCB7XG4gICAgZXhlYyhvcHRpb25zLmV4ZWNDbWQsIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQ0RLX0NPTlRFWFRfSlNPTjogSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5jb250ZXh0KSxcbiAgICAgICAgQ0RLX09VVERJUjogb3B0aW9ucy5vdXRwdXQsXG4gICAgICAgIC4uLnRoaXMuZW52LFxuICAgICAgICAuLi5vcHRpb25zLmVudixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9uczogRGVmYXVsdENka09wdGlvbnMpOiBzdHJpbmdbXSB7XG4gICAgdGhpcy52YWxpZGF0ZUFyZ3Mob3B0aW9ucyk7XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0aW9ucy5zdGFja3MgPz8gW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLm9wdGlvbnMuYXBwID8gWyctLWFwcCcsIG9wdGlvbnMuYXBwXSA6IFtdLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnc3RyaWN0Jywgb3B0aW9ucy5zdHJpY3QpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndHJhY2UnLCBvcHRpb25zLnRyYWNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2xvb2t1cHMnLCBvcHRpb25zLmxvb2t1cHMpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnaWdub3JlLWVycm9ycycsIG9wdGlvbnMuaWdub3JlRXJyb3JzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2pzb24nLCBvcHRpb25zLmpzb24pLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndmVyYm9zZScsIG9wdGlvbnMudmVyYm9zZSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdkZWJ1ZycsIG9wdGlvbnMuZGVidWcpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZWMyY3JlZHMnLCBvcHRpb25zLmVjMkNyZWRzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3ZlcnNpb24tcmVwb3J0aW5nJywgb3B0aW9ucy52ZXJzaW9uUmVwb3J0aW5nKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3BhdGgtbWV0YWRhdGEnLCBvcHRpb25zLnBhdGhNZXRhZGF0YSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdhc3NldC1tZXRhZGF0YScsIG9wdGlvbnMuYXNzZXRNZXRhZGF0YSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdub3RpY2VzJywgb3B0aW9ucy5ub3RpY2VzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2NvbG9yJywgb3B0aW9ucy5jb2xvciksXG4gICAgICAuLi5vcHRpb25zLmNvbnRleHQgPyByZW5kZXJNYXBBcnJheUFyZygnLS1jb250ZXh0Jywgb3B0aW9ucy5jb250ZXh0KSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wcm9maWxlID8gWyctLXByb2ZpbGUnLCBvcHRpb25zLnByb2ZpbGVdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnByb3h5ID8gWyctLXByb3h5Jywgb3B0aW9ucy5wcm94eV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMuY2FCdW5kbGVQYXRoID8gWyctLWNhLWJ1bmRsZS1wYXRoJywgb3B0aW9ucy5jYUJ1bmRsZVBhdGhdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnJvbGVBcm4gPyBbJy0tcm9sZS1hcm4nLCBvcHRpb25zLnJvbGVBcm5dIDogW10sXG4gICAgICAuLi5vcHRpb25zLm91dHB1dCA/IFsnLS1vdXRwdXQnLCBvcHRpb25zLm91dHB1dF0gOiBbXSxcbiAgICAgIC4uLnN0YWNrcyxcbiAgICAgIC4uLm9wdGlvbnMuYWxsID8gWyctLWFsbCddIDogW10sXG4gICAgXTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJNYXBBcnJheUFyZyhmbGFnOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9KTogc3RyaW5nW10ge1xuICBjb25zdCBwYXJhbXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtZXRlcnMpKSB7XG4gICAgcGFyYW1zLnB1c2goYCR7a2V5fT0ke3ZhbHVlfWApO1xuICB9XG4gIHJldHVybiByZW5kZXJBcnJheUFyZyhmbGFnLCBwYXJhbXMpO1xufVxuXG5mdW5jdGlvbiByZW5kZXJBcnJheUFyZyhmbGFnOiBzdHJpbmcsIHZhbHVlcz86IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBsZXQgYXJnczogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMgPz8gW10pIHtcbiAgICBhcmdzLnB1c2goZmxhZywgdmFsdWUpO1xuICB9XG4gIHJldHVybiBhcmdzO1xufVxuXG5mdW5jdGlvbiByZW5kZXJCb29sZWFuQXJnKHZhbDogc3RyaW5nLCBhcmc/OiBib29sZWFuKTogc3RyaW5nW10ge1xuICBpZiAoYXJnKSB7XG4gICAgcmV0dXJuIFtgLS0ke3ZhbH1gXTtcbiAgfSBlbHNlIGlmIChhcmcgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBbXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW2AtLW5vLSR7dmFsfWBdO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/common.d.ts b/packages/cdk-cli-wrapper/lib/commands/common.d.ts new file mode 100644 index 0000000000000..25a86432d628e --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/common.d.ts @@ -0,0 +1,178 @@ +/** + * In what scenarios should the CLI ask for approval + */ +export declare enum RequireApproval { + /** + * Never ask for approval + */ + NEVER = "never", + /** + * Prompt for approval for any type of change to the stack + */ + ANYCHANGE = "any-change", + /** + * Only prompt for approval if there are security related changes + */ + BROADENING = "broadening" +} +/** + * Default CDK CLI options that apply to all commands + */ +export interface DefaultCdkOptions { + /** + * List of stacks to deploy + * + * Requried if `all` is not set + * + * @default - [] + */ + readonly stacks?: string[]; + /** + * Deploy all stacks + * + * Requried if `stacks` is not set + * + * @default - false + */ + readonly all?: boolean; + /** + * command-line for executing your app or a cloud assembly directory + * e.g. "node bin/my-app.js" + * or + * "cdk.out" + * + * @default - read from cdk.json + */ + readonly app?: string; + /** + * Role to pass to CloudFormation for deployment + * + * @default - use the bootstrap cfn-exec role + */ + readonly roleArn?: string; + /** + * Additional context + * + * @default - no additional context + */ + readonly context?: { + [name: string]: string; + }; + /** + * Print trace for stack warnings + * + * @default false + */ + readonly trace?: boolean; + /** + * Do not construct stacks with warnings + * + * @default false + */ + readonly strict?: boolean; + /** + * Perform context lookups. + * + * Synthesis fails if this is disabled and context lookups need + * to be performed + * + * @default true + */ + readonly lookups?: boolean; + /** + * Ignores synthesis errors, which will likely produce an invalid output + * + * @default false + */ + readonly ignoreErrors?: boolean; + /** + * Use JSON output instead of YAML when templates are printed + * to STDOUT + * + * @default false + */ + readonly json?: boolean; + /** + * show debug logs + * + * @default false + */ + readonly verbose?: boolean; + /** + * enable emission of additional debugging information, such as creation stack + * traces of tokens + * + * @default false + */ + readonly debug?: boolean; + /** + * Use the indicated AWS profile as the default environment + * + * @default - no profile is used + */ + readonly profile?: string; + /** + * Use the indicated proxy. Will read from + * HTTPS_PROXY environment if specified + * + * @default - no proxy + */ + readonly proxy?: string; + /** + * Path to CA certificate to use when validating HTTPS + * requests. + * + * @default - read from AWS_CA_BUNDLE environment variable + */ + readonly caBundlePath?: string; + /** + * Force trying to fetch EC2 instance credentials + * + * @default - guess EC2 instance status + */ + readonly ec2Creds?: boolean; + /** + * Include "AWS::CDK::Metadata" resource in synthesized templates + * + * @default true + */ + readonly versionReporting?: boolean; + /** + * Include "aws:cdk:path" CloudFormation metadata for each resource + * + * @default true + */ + readonly pathMetadata?: boolean; + /** + * Include "aws:asset:*" CloudFormation metadata for resources that use assets + * + * @default true + */ + readonly assetMetadata?: boolean; + /** + * Copy assets to the output directory + * + * Needed for local debugging the source files with SAM CLI + * + * @default false + */ + readonly staging?: boolean; + /** + * Emits the synthesized cloud assembly into a directory + * + * @default cdk.out + */ + readonly output?: string; + /** + * Show relevant notices + * + * @default true + */ + readonly notices?: boolean; + /** + * Show colors and other style from console output + * + * @default true + */ + readonly color?: boolean; +} diff --git a/packages/cdk-cli-wrapper/lib/commands/common.js b/packages/cdk-cli-wrapper/lib/commands/common.js new file mode 100644 index 0000000000000..a9377bcc06ace --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/common.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RequireApproval = void 0; +/** + * In what scenarios should the CLI ask for approval + */ +var RequireApproval; +(function (RequireApproval) { + /** + * Never ask for approval + */ + RequireApproval["NEVER"] = "never"; + /** + * Prompt for approval for any type of change to the stack + */ + RequireApproval["ANYCHANGE"] = "any-change"; + /** + * Only prompt for approval if there are security related changes + */ + RequireApproval["BROADENING"] = "broadening"; +})(RequireApproval = exports.RequireApproval || (exports.RequireApproval = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQWVYO0FBZkQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsa0NBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQXdCLENBQUE7SUFFeEI7O09BRUc7SUFDSCw0Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBZlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFlMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluIHdoYXQgc2NlbmFyaW9zIHNob3VsZCB0aGUgQ0xJIGFzayBmb3IgYXBwcm92YWxcbiAqL1xuZXhwb3J0IGVudW0gUmVxdWlyZUFwcHJvdmFsIHtcbiAgLyoqXG4gICAqIE5ldmVyIGFzayBmb3IgYXBwcm92YWxcbiAgICovXG4gIE5FVkVSID0gJ25ldmVyJyxcblxuICAvKipcbiAgICogUHJvbXB0IGZvciBhcHByb3ZhbCBmb3IgYW55IHR5cGUgIG9mIGNoYW5nZSB0byB0aGUgc3RhY2tcbiAgICovXG4gIEFOWUNIQU5HRSA9ICdhbnktY2hhbmdlJyxcblxuICAvKipcbiAgICogT25seSBwcm9tcHQgZm9yIGFwcHJvdmFsIGlmIHRoZXJlIGFyZSBzZWN1cml0eSByZWxhdGVkIGNoYW5nZXNcbiAgICovXG4gIEJST0FERU5JTkcgPSAnYnJvYWRlbmluZydcbn1cblxuLyoqXG4gKiBEZWZhdWx0IENESyBDTEkgb3B0aW9ucyB0aGF0IGFwcGx5IHRvIGFsbCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3RhY2tzIHRvIGRlcGxveVxuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgYWxsYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gW11cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZXBsb3kgYWxsIHN0YWNrc1xuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgc3RhY2tzYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGNvbW1hbmQtbGluZSBmb3IgZXhlY3V0aW5nIHlvdXIgYXBwIG9yIGEgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5XG4gICAqIGUuZy4gXCJub2RlIGJpbi9teS1hcHAuanNcIlxuICAgKiBvclxuICAgKiBcImNkay5vdXRcIlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJlYWQgZnJvbSBjZGsuanNvblxuICAgKi9cbiAgcmVhZG9ubHkgYXBwPzogc3RyaW5nO1xuXG5cbiAgLyoqXG4gICAqIFJvbGUgdG8gcGFzcyB0byBDbG91ZEZvcm1hdGlvbiBmb3IgZGVwbG95bWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgYm9vdHN0cmFwIGNmbi1leGVjIHJvbGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dD86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQcmludCB0cmFjZSBmb3Igc3RhY2sgd2FybmluZ3NcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG8gbm90IGNvbnN0cnVjdCBzdGFja3Mgd2l0aCB3YXJuaW5nc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGVyZm9ybSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFN5bnRoZXNpcyBmYWlscyBpZiB0aGlzIGlzIGRpc2FibGVkIGFuZCBjb250ZXh0IGxvb2t1cHMgbmVlZFxuICAgKiB0byBiZSBwZXJmb3JtZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3Vwcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgKiBJZ25vcmVzIHN5bnRoZXNpcyBlcnJvcnMsIHdoaWNoIHdpbGwgbGlrZWx5IHByb2R1Y2UgYW4gaW52YWxpZCBvdXRwdXRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUVycm9ycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBKU09OIG91dHB1dCBpbnN0ZWFkIG9mIFlBTUwgd2hlbiB0ZW1wbGF0ZXMgYXJlIHByaW50ZWRcbiAgICogdG8gU1RET1VUXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBqc29uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogc2hvdyBkZWJ1ZyBsb2dzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogZW5hYmxlIGVtaXNzaW9uIG9mIGFkZGl0aW9uYWwgZGVidWdnaW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIGNyZWF0aW9uIHN0YWNrXG4gICAqIHRyYWNlcyBvZiB0b2tlbnNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHRoZSBpbmRpY2F0ZWQgQVdTIHByb2ZpbGUgYXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9maWxlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgaW5kaWNhdGVkIHByb3h5LiBXaWxsIHJlYWQgZnJvbVxuICAgKiBIVFRQU19QUk9YWSBlbnZpcm9ubWVudCBpZiBzcGVjaWZpZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm94eVxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gQ0EgY2VydGlmaWNhdGUgdG8gdXNlIHdoZW4gdmFsaWRhdGluZyBIVFRQU1xuICAgKiByZXF1ZXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSByZWFkIGZyb20gQVdTX0NBX0JVTkRMRSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FCdW5kbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGb3JjZSB0cnlpbmcgdG8gZmV0Y2ggRUMyIGluc3RhbmNlIGNyZWRlbnRpYWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ3Vlc3MgRUMyIGluc3RhbmNlIHN0YXR1c1xuICAgKi9cbiAgcmVhZG9ubHkgZWMyQ3JlZHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiQVdTOjpDREs6Ok1ldGFkYXRhXCIgcmVzb3VyY2UgaW4gc3ludGhlc2l6ZWQgdGVtcGxhdGVzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25SZXBvcnRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiYXdzOmNkazpwYXRoXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggcmVzb3VyY2VcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5jbHVkZSBcImF3czphc3NldDoqXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIHJlc291cmNlcyB0aGF0IHVzZSBhc3NldHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRNZXRhZGF0YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvcHkgYXNzZXRzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5XG4gICAqXG4gICAqIE5lZWRlZCBmb3IgbG9jYWwgZGVidWdnaW5nIHRoZSBzb3VyY2UgZmlsZXMgd2l0aCBTQU0gQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHN5bnRoZXNpemVkIGNsb3VkIGFzc2VtYmx5IGludG8gYSBkaXJlY3RvcnlcbiAgICpcbiAgICogQGRlZmF1bHQgY2RrLm91dFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlbGV2YW50IG5vdGljZXNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgY29sb3JzIGFuZCBvdGhlciBzdHlsZSBmcm9tIGNvbnNvbGUgb3V0cHV0XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts b/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts new file mode 100644 index 0000000000000..ea46aa88ee335 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts @@ -0,0 +1,109 @@ +import { DefaultCdkOptions, RequireApproval } from './common'; +/** + * Options to use with cdk deploy + */ +export interface DeployOptions extends DefaultCdkOptions { + /** + * Only perform action on the given stack + * + * @default false + */ + readonly exclusively?: boolean; + /** + * Name of the toolkit stack to use/deploy + * + * @default CDKToolkit + */ + readonly toolkitStackName?: string; + /** + * Reuse the assets with the given asset IDs + * + * @default - do not reuse assets + */ + readonly reuseAssets?: string[]; + /** + * Optional name to use for the CloudFormation change set. + * If not provided, a name will be generated automatically. + * + * @default - auto generate a name + */ + readonly changeSetName?: string; + /** + * Always deploy, even if templates are identical. + * @default false + */ + readonly force?: boolean; + /** + * Rollback failed deployments + * + * @default true + */ + readonly rollback?: boolean; + /** + * ARNs of SNS topics that CloudFormation will notify with stack related events + * + * @default - no notifications + */ + readonly notificationArns?: string[]; + /** + * What kind of security changes require approval + * + * @default RequireApproval.Never + */ + readonly requireApproval?: RequireApproval; + /** + * Whether to execute the ChangeSet + * Not providing `execute` parameter will result in execution of ChangeSet + * @default true + */ + readonly execute?: boolean; + /** + * Additional parameters for CloudFormation at deploy time + * @default {} + */ + readonly parameters?: { + [name: string]: string; + }; + /** + * Use previous values for unspecified parameters + * + * If not set, all parameters must be specified for every deployment. + * + * @default true + */ + readonly usePreviousParameters?: boolean; + /** + * Path to file where stack outputs will be written after a successful deploy as JSON + * @default - Outputs are not written to any file + */ + readonly outputsFile?: string; + /** + * Whether we are on a CI system + * + * @default false + */ + readonly ci?: boolean; + /** + * Display mode for stack activity events + * + * The default in the CLI is StackActivityProgress.BAR, but + * since the cli-wrapper will most likely be run in automation it makes + * more sense to set the default to StackActivityProgress.EVENTS + * + * @default StackActivityProgress.EVENTS + */ + readonly progress?: StackActivityProgress; +} +/** + * Supported display modes for stack deployment activity + */ +export declare enum StackActivityProgress { + /** + * Displays a progress bar with only the events for the resource currently being deployed + */ + BAR = "bar", + /** + * Displays complete history with all CloudFormation stack events + */ + EVENTS = "events" +} diff --git a/packages/cdk-cli-wrapper/lib/commands/deploy.js b/packages/cdk-cli-wrapper/lib/commands/deploy.js new file mode 100644 index 0000000000000..e0899dfc397ec --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/deploy.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StackActivityProgress = void 0; +/** + * Supported display modes for stack deployment activity + */ +var StackActivityProgress; +(function (StackActivityProgress) { + /** + * Displays a progress bar with only the events for the resource currently being deployed + */ + StackActivityProgress["BAR"] = "bar"; + /** + * Displays complete history with all CloudFormation stack events + */ + StackActivityProgress["EVENTS"] = "events"; +})(StackActivityProgress = exports.StackActivityProgress || (exports.StackActivityProgress = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwbG95LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZHQTs7R0FFRztBQUNILElBQVkscUJBVVg7QUFWRCxXQUFZLHFCQUFxQjtJQUMvQjs7T0FFRztJQUNILG9DQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQVVoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zLCBSZXF1aXJlQXBwcm92YWwgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2Ugd2l0aCBjZGsgZGVwbG95XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95T3B0aW9ucyBleHRlbmRzIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9ubHkgcGVyZm9ybSBhY3Rpb24gb24gdGhlIGdpdmVuIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleGNsdXNpdmVseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRvb2xraXQgc3RhY2sgdG8gdXNlL2RlcGxveVxuICAgKlxuICAgKiBAZGVmYXVsdCBDREtUb29sa2l0XG4gICAqL1xuICByZWFkb25seSB0b29sa2l0U3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXVzZSB0aGUgYXNzZXRzIHdpdGggdGhlIGdpdmVuIGFzc2V0IElEc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCByZXVzZSBhc3NldHNcbiAgICovXG4gIHJlYWRvbmx5IHJldXNlQXNzZXRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldC5cbiAgICogSWYgbm90IHByb3ZpZGVkLCBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvIGdlbmVyYXRlIGEgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWx3YXlzIGRlcGxveSwgZXZlbiBpZiB0ZW1wbGF0ZXMgYXJlIGlkZW50aWNhbC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUm9sbGJhY2sgZmFpbGVkIGRlcGxveW1lbnRzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQVJOcyBvZiBTTlMgdG9waWNzIHRoYXQgQ2xvdWRGb3JtYXRpb24gd2lsbCBub3RpZnkgd2l0aCBzdGFjayByZWxhdGVkIGV2ZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hhdCBraW5kIG9mIHNlY3VyaXR5IGNoYW5nZXMgcmVxdWlyZSBhcHByb3ZhbFxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXF1aXJlQXBwcm92YWwuTmV2ZXJcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVBcHByb3ZhbD86IFJlcXVpcmVBcHByb3ZhbDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBleGVjdXRlIHRoZSBDaGFuZ2VTZXRcbiAgICogTm90IHByb3ZpZGluZyBgZXhlY3V0ZWAgcGFyYW1ldGVyIHdpbGwgcmVzdWx0IGluIGV4ZWN1dGlvbiBvZiBDaGFuZ2VTZXRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWVcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVXNlIHByZXZpb3VzIHZhbHVlcyBmb3IgdW5zcGVjaWZpZWQgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBJZiBub3Qgc2V0LCBhbGwgcGFyYW1ldGVycyBtdXN0IGJlIHNwZWNpZmllZCBmb3IgZXZlcnkgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUHJldmlvdXNQYXJhbWV0ZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGF0aCB0byBmaWxlIHdoZXJlIHN0YWNrIG91dHB1dHMgd2lsbCBiZSB3cml0dGVuIGFmdGVyIGEgc3VjY2Vzc2Z1bCBkZXBsb3kgYXMgSlNPTlxuICAgKiBAZGVmYXVsdCAtIE91dHB1dHMgYXJlIG5vdCB3cml0dGVuIHRvIGFueSBmaWxlXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzRmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB3ZSBhcmUgb24gYSBDSSBzeXN0ZW1cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNpPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzcGxheSBtb2RlIGZvciBzdGFjayBhY3Rpdml0eSBldmVudHNcbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaW4gdGhlIENMSSBpcyBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLCBidXRcbiAgICogc2luY2UgdGhlIGNsaS13cmFwcGVyIHdpbGwgbW9zdCBsaWtlbHkgYmUgcnVuIGluIGF1dG9tYXRpb24gaXQgbWFrZXNcbiAgICogbW9yZSBzZW5zZSB0byBzZXQgdGhlIGRlZmF1bHQgdG8gU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU1xuICAgKlxuICAgKiBAZGVmYXVsdCBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuRVZFTlRTXG4gICAqL1xuICByZWFkb25seSBwcm9ncmVzcz86IFN0YWNrQWN0aXZpdHlQcm9ncmVzcztcbn1cblxuLyoqXG4gKiBTdXBwb3J0ZWQgZGlzcGxheSBtb2RlcyBmb3Igc3RhY2sgZGVwbG95bWVudCBhY3Rpdml0eVxuICovXG5leHBvcnQgZW51bSBTdGFja0FjdGl2aXR5UHJvZ3Jlc3Mge1xuICAvKipcbiAgICogRGlzcGxheXMgYSBwcm9ncmVzcyBiYXIgd2l0aCBvbmx5IHRoZSBldmVudHMgZm9yIHRoZSByZXNvdXJjZSBjdXJyZW50bHkgYmVpbmcgZGVwbG95ZWRcbiAgICovXG4gIEJBUiA9ICdiYXInLFxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBjb21wbGV0ZSBoaXN0b3J5IHdpdGggYWxsIENsb3VkRm9ybWF0aW9uIHN0YWNrIGV2ZW50c1xuICAgKi9cbiAgRVZFTlRTID0gJ2V2ZW50cycsXG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts b/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts new file mode 100644 index 0000000000000..d981fba122309 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts @@ -0,0 +1,18 @@ +import { DefaultCdkOptions } from './common'; +/** + * Options to use with cdk destroy + */ +export interface DestroyOptions extends DefaultCdkOptions { + /** + * Do not ask for permission before destroying stacks + * + * @default false + */ + readonly force?: boolean; + /** + * Only destroy the given stack + * + * @default false + */ + readonly exclusively?: boolean; +} diff --git a/packages/cdk-cli-wrapper/lib/commands/destroy.js b/packages/cdk-cli-wrapper/lib/commands/destroy.js new file mode 100644 index 0000000000000..cc24c854836f0 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/destroy.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIHdpdGggY2RrIGRlc3Ryb3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95T3B0aW9ucyBleHRlbmRzIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIERvIG5vdCBhc2sgZm9yIHBlcm1pc3Npb24gYmVmb3JlIGRlc3Ryb3lpbmcgc3RhY2tzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9ubHkgZGVzdHJveSB0aGUgZ2l2ZW4gc3RhY2tcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZWx5PzogYm9vbGVhbjtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/index.d.ts b/packages/cdk-cli-wrapper/lib/commands/index.d.ts new file mode 100644 index 0000000000000..33e0e77569a92 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/index.d.ts @@ -0,0 +1,5 @@ +export * from './synth'; +export * from './common'; +export * from './deploy'; +export * from './destroy'; +export * from './list'; diff --git a/packages/cdk-cli-wrapper/lib/commands/index.js b/packages/cdk-cli-wrapper/lib/commands/index.js new file mode 100644 index 0000000000000..871721b05f45d --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/index.js @@ -0,0 +1,22 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./synth"), exports); +__exportStar(require("./common"), exports); +__exportStar(require("./deploy"), exports); +__exportStar(require("./destroy"), exports); +__exportStar(require("./list"), exports); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3ludGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3knO1xuZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdCc7XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/list.d.ts b/packages/cdk-cli-wrapper/lib/commands/list.d.ts new file mode 100644 index 0000000000000..acc752155affb --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/list.d.ts @@ -0,0 +1,12 @@ +import { DefaultCdkOptions } from './common'; +/** + * Options for cdk list + */ +export interface ListOptions extends DefaultCdkOptions { + /** + *Display environment information for each stack + * + * @default false + */ + readonly long?: boolean; +} diff --git a/packages/cdk-cli-wrapper/lib/commands/list.js b/packages/cdk-cli-wrapper/lib/commands/list.js new file mode 100644 index 0000000000000..0912bb75d266f --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/list.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNkayBsaXN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMgZXh0ZW5kcyBEZWZhdWx0Q2RrT3B0aW9ucyB7XG4gIC8qKlxuICAgKkRpc3BsYXkgZW52aXJvbm1lbnQgaW5mb3JtYXRpb24gZm9yIGVhY2ggc3RhY2tcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvbmc/OiBib29sZWFuO1xufVxuIl19 \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/synth.d.ts b/packages/cdk-cli-wrapper/lib/commands/synth.d.ts new file mode 100644 index 0000000000000..16a66236889d4 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/synth.d.ts @@ -0,0 +1,24 @@ +import { DefaultCdkOptions } from './common'; +/** + * Options to use with cdk synth + */ +export interface SynthOptions extends DefaultCdkOptions { + /** + * After synthesis, validate stacks with the "validateOnSynth" + * attribute set (can also be controlled with CDK_VALIDATION) + * + * @default true; + */ + readonly validation?: boolean; + /** + * Do not output CloudFormation Template to stdout + * @default false; + */ + readonly quiet?: boolean; + /** + * Only synthesize the given stack + * + * @default false + */ + readonly exclusively?: boolean; +} diff --git a/packages/cdk-cli-wrapper/lib/commands/synth.js b/packages/cdk-cli-wrapper/lib/commands/synth.js new file mode 100644 index 0000000000000..c8a5cc4d5430f --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/commands/synth.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzeW50aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdENka09wdGlvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2Ugd2l0aCBjZGsgc3ludGhcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTeW50aE9wdGlvbnMgZXh0ZW5kcyBEZWZhdWx0Q2RrT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIEFmdGVyIHN5bnRoZXNpcywgdmFsaWRhdGUgc3RhY2tzIHdpdGggdGhlIFwidmFsaWRhdGVPblN5bnRoXCJcbiAgICogYXR0cmlidXRlIHNldCAoY2FuIGFsc28gYmUgY29udHJvbGxlZCB3aXRoIENES19WQUxJREFUSU9OKVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlO1xuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERvIG5vdCBvdXRwdXQgQ2xvdWRGb3JtYXRpb24gVGVtcGxhdGUgdG8gc3Rkb3V0XG4gICAqIEBkZWZhdWx0IGZhbHNlO1xuICAgKi9cbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPbmx5IHN5bnRoZXNpemUgdGhlIGdpdmVuIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleGNsdXNpdmVseT86IGJvb2xlYW47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/index.d.ts b/packages/cdk-cli-wrapper/lib/index.d.ts new file mode 100644 index 0000000000000..a7ee3249f4cbe --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/index.d.ts @@ -0,0 +1,2 @@ +export * from './cdk-wrapper'; +export * from './commands'; diff --git a/packages/cdk-cli-wrapper/lib/index.js b/packages/cdk-cli-wrapper/lib/index.js new file mode 100644 index 0000000000000..0cd43d0f9a0a3 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./cdk-wrapper"), exports); +__exportStar(require("./commands"), exports); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrLXdyYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcyc7XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/utils.d.ts b/packages/cdk-cli-wrapper/lib/utils.d.ts new file mode 100644 index 0000000000000..1b087b5d46a9a --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/utils.d.ts @@ -0,0 +1,9 @@ +/** + * Our own execute function which doesn't use shells and strings. + */ +export declare function exec(commandLine: string[], options?: { + cwd?: string; + json?: boolean; + verbose?: boolean; + env?: any; +}): any; diff --git a/packages/cdk-cli-wrapper/lib/utils.js b/packages/cdk-cli-wrapper/lib/utils.js new file mode 100644 index 0000000000000..e31979dd6d753 --- /dev/null +++ b/packages/cdk-cli-wrapper/lib/utils.js @@ -0,0 +1,44 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.exec = void 0; +// Helper functions for CDK Exec +const child_process_1 = require("child_process"); +/** + * Our own execute function which doesn't use shells and strings. + */ +function exec(commandLine, options = {}) { + const proc = (0, child_process_1.spawnSync)(commandLine[0], commandLine.slice(1), { + stdio: ['ignore', 'pipe', options.verbose ? 'inherit' : 'pipe'], + env: { + ...process.env, + ...options.env, + }, + cwd: options.cwd, + }); + if (proc.error) { + throw proc.error; + } + if (proc.status !== 0) { + if (process.stderr) { // will be 'null' in verbose mode + process.stderr.write(proc.stderr); + } + throw new Error(`Command exited with ${proc.status ? `status ${proc.status}` : `signal ${proc.signal}`}`); + } + const output = proc.stdout.toString('utf-8').trim(); + try { + if (options.json) { + if (output.length === 0) { + return {}; + } + return JSON.parse(output); + } + return output; + } + catch { + // eslint-disable-next-line no-console + console.error('Not JSON: ' + output); + throw new Error('Command output is not JSON'); + } +} +exports.exec = exec; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsaURBQTBDO0FBRTFDOztHQUVHO0FBQ0gsU0FBZ0IsSUFBSSxDQUFDLFdBQXFCLEVBQUUsVUFBMEUsRUFBRztJQUN2SCxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0QsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMvRCxHQUFHLEVBQUU7WUFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO1lBQ2QsR0FBRyxPQUFPLENBQUMsR0FBRztTQUNmO1FBQ0QsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0tBQ2pCLENBQUMsQ0FBQztJQUVILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUFFLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUFFO0lBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsaUNBQWlDO1lBQ3JELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDM0c7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVwRCxJQUFJO1FBQ0YsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2hCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxFQUFFLENBQUM7YUFBRTtZQUV2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQUMsTUFBTTtRQUNOLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDO0FBaENELG9CQWdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIENESyBFeGVjXG5pbXBvcnQgeyBzcGF3blN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcblxuLyoqXG4gKiBPdXIgb3duIGV4ZWN1dGUgZnVuY3Rpb24gd2hpY2ggZG9lc24ndCB1c2Ugc2hlbGxzIGFuZCBzdHJpbmdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kTGluZTogc3RyaW5nW10sIG9wdGlvbnM6IHsgY3dkPzogc3RyaW5nLCBqc29uPzogYm9vbGVhbiwgdmVyYm9zZT86IGJvb2xlYW4sIGVudj86IGFueSB9ID0geyB9KTogYW55IHtcbiAgY29uc3QgcHJvYyA9IHNwYXduU3luYyhjb21tYW5kTGluZVswXSwgY29tbWFuZExpbmUuc2xpY2UoMSksIHtcbiAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsIG9wdGlvbnMudmVyYm9zZSA/ICdpbmhlcml0JyA6ICdwaXBlJ10sIC8vIGluaGVyaXQgU1RERVJSIGluIHZlcmJvc2UgbW9kZVxuICAgIGVudjoge1xuICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAuLi5vcHRpb25zLmVudixcbiAgICB9LFxuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gIH0pO1xuXG4gIGlmIChwcm9jLmVycm9yKSB7IHRocm93IHByb2MuZXJyb3I7IH1cbiAgaWYgKHByb2Muc3RhdHVzICE9PSAwKSB7XG4gICAgaWYgKHByb2Nlc3Muc3RkZXJyKSB7IC8vIHdpbGwgYmUgJ251bGwnIGluIHZlcmJvc2UgbW9kZVxuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUocHJvYy5zdGRlcnIpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbW1hbmQgZXhpdGVkIHdpdGggJHtwcm9jLnN0YXR1cyA/IGBzdGF0dXMgJHtwcm9jLnN0YXR1c31gIDogYHNpZ25hbCAke3Byb2Muc2lnbmFsfWB9YCk7XG4gIH1cblxuICBjb25zdCBvdXRwdXQgPSBwcm9jLnN0ZG91dC50b1N0cmluZygndXRmLTgnKS50cmltKCk7XG5cbiAgdHJ5IHtcbiAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICBpZiAob3V0cHV0Lmxlbmd0aCA9PT0gMCkgeyByZXR1cm4ge307IH1cblxuICAgICAgcmV0dXJuIEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfSBjYXRjaCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdOb3QgSlNPTjogJyArIG91dHB1dCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb21tYW5kIG91dHB1dCBpcyBub3QgSlNPTicpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts new file mode 100644 index 0000000000000..cb0ff5c3b541f --- /dev/null +++ b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js new file mode 100644 index 0000000000000..768822b56a363 --- /dev/null +++ b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js @@ -0,0 +1,408 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const child_process = require("child_process"); +const cdk_wrapper_1 = require("../lib/cdk-wrapper"); +const commands_1 = require("../lib/commands"); +let spawnSyncMock; +beforeEach(() => { + spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({ + status: 0, + stderr: Buffer.from('stderr'), + stdout: Buffer.from('stdout'), + pid: 123, + output: ['stdout', 'stderr'], + signal: null, + }); +}); +afterEach(() => { + jest.resetAllMocks(); + jest.restoreAllMocks(); + jest.clearAllMocks(); +}); +test('default deploy', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ + env: expect.anything(), + cwd: '/project', + })); +}); +test('deploy with all arguments', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + ci: false, + json: true, + color: false, + debug: false, + force: true, + proxy: 'https://proxy', + trace: false, + output: 'cdk.out', + strict: false, + execute: true, + lookups: false, + notices: true, + profile: 'my-profile', + roleArn: 'arn:aws:iam::1111111111:role/my-role', + staging: false, + verbose: true, + ec2Creds: true, + rollback: false, + exclusively: true, + outputsFile: 'outputs.json', + reuseAssets: [ + 'asset1234', + 'asset5678', + ], + caBundlePath: '/some/path', + ignoreErrors: false, + pathMetadata: false, + assetMetadata: true, + changeSetName: 'my-change-set', + requireApproval: commands_1.RequireApproval.NEVER, + toolkitStackName: 'Toolkit', + versionReporting: true, + usePreviousParameters: true, + progress: commands_1.StackActivityProgress.BAR, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), expect.arrayContaining([ + 'deploy', + '--no-strict', + '--no-trace', + '--no-lookups', + '--no-ignore-errors', + '--json', + '--verbose', + '--no-debug', + '--ec2creds', + '--version-reporting', + '--no-path-metadata', + '--asset-metadata', + '--notices', + '--no-color', + '--profile', 'my-profile', + '--proxy', 'https://proxy', + '--ca-bundle-path', '/some/path', + '--role-arn', 'arn:aws:iam::1111111111:role/my-role', + '--output', 'cdk.out', + '--no-ci', + '--execute', + '--exclusively', + '--force', + '--no-rollback', + '--no-staging', + '--reuse-assets', 'asset1234', + '--reuse-assets', 'asset5678', + '--outputs-file', 'outputs.json', + '--require-approval', 'never', + '--change-set-name', 'my-change-set', + '--toolkit-stack-name', 'Toolkit', + '--previous-parameters', + '--progress', 'bar', + '--app', + 'node bin/my-app.js', + 'test-stack1', + ]), expect.objectContaining({ + env: expect.anything(), + stdio: ['ignore', 'pipe', 'pipe'], + cwd: '/project', + })); +}); +test('can parse boolean arguments', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + json: true, + color: false, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ + 'deploy', + '--progress', 'events', + '--app', + 'node bin/my-app.js', + '--json', + '--no-color', + 'test-stack1', + ], expect.objectContaining({ + env: expect.anything(), + stdio: ['ignore', 'pipe', 'pipe'], + cwd: '/project', + })); +}); +test('can parse parameters', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + parameters: { + 'myparam': 'test', + 'test-stack1:myotherparam': 'test', + }, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ + 'deploy', + '--parameters', 'myparam=test', + '--parameters', 'test-stack1:myotherparam=test', + '--progress', 'events', + '--app', + 'node bin/my-app.js', + 'test-stack1', + ], expect.objectContaining({ + env: expect.anything(), + cwd: '/project', + })); +}); +test('can parse context', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + context: { + 'myContext': 'value', + 'test-stack1:OtherContext': 'otherValue', + }, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ + 'deploy', + '--progress', 'events', + '--app', + 'node bin/my-app.js', + '--context', 'myContext=value', + '--context', 'test-stack1:OtherContext=otherValue', + 'test-stack1', + ], expect.objectContaining({ + env: expect.anything(), + cwd: '/project', + })); +}); +test('can parse array arguments', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + notificationArns: [ + 'arn:aws:us-east-1:1111111111:some:resource', + 'arn:aws:us-east-1:1111111111:some:other-resource', + ], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ + 'deploy', + '--notification-arns', 'arn:aws:us-east-1:1111111111:some:resource', + '--notification-arns', 'arn:aws:us-east-1:1111111111:some:other-resource', + '--progress', 'events', + '--app', + 'node bin/my-app.js', + 'test-stack1', + ], expect.objectContaining({ + env: expect.anything(), + cwd: '/project', + })); +}); +test('can provide additional environment', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.deploy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); +}); +test('default synth', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.synth({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['synth', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); +}); +test('synth arguments', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.destroy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['destroy', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); +}); +test('destroy arguments', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.destroy({ + app: 'node bin/my-app.js', + stacks: ['test-stack1'], + force: true, + exclusively: false, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['destroy', '--force', '--no-exclusively', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); +}); +test('default ls', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.list({ + app: 'node bin/my-app.js', + stacks: ['*'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['ls', '--app', 'node bin/my-app.js', '*'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); +}); +test('ls arguments', () => { + // WHEN + spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({ + status: 0, + stderr: Buffer.from('stderr'), + stdout: Buffer.from('test-stack1\ntest-stack2'), + pid: 123, + output: ['stdout', 'stderr'], + signal: null, + }); + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + const list = cdk.list({ + app: 'node bin/my-app.js', + stacks: ['*'], + long: true, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['ls', '--long', '--app', 'node bin/my-app.js', '*'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + }), + cwd: '/project', + })); + expect(list).toEqual('test-stack1\ntest-stack2'); +}); +test('can synth fast', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + env: { + KEY: 'value', + }, + }); + cdk.synthFast({ + execCmd: ['node', 'bin/my-app.js'], + output: 'cdk.output', + env: { + OTHERKEY: 'othervalue', + }, + context: { + CONTEXT: 'value', + }, + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith('node', ['bin/my-app.js'], expect.objectContaining({ + env: expect.objectContaining({ + KEY: 'value', + OTHERKEY: 'othervalue', + CDK_OUTDIR: 'cdk.output', + CDK_CONTEXT_JSON: '{\"CONTEXT\":\"value\"}', + }), + cwd: '/project', + })); +}); +test('can show output', () => { + // WHEN + const cdk = new cdk_wrapper_1.CdkCliWrapper({ + directory: '/project', + showOutput: true, + }); + cdk.synthFast({ + execCmd: ['node', 'bin/my-app.js'], + }); + // THEN + expect(spawnSyncMock).toHaveBeenCalledWith('node', ['bin/my-app.js'], expect.objectContaining({ + env: expect.anything(), + stdio: ['ignore', 'pipe', 'inherit'], + cwd: '/project', + })); +}); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXdyYXBwZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay13cmFwcGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBK0M7QUFDL0Msb0RBQW1EO0FBQ25ELDhDQUF5RTtBQUN6RSxJQUFJLGFBQStCLENBQUM7QUFFcEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtJQUNkLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDckUsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxHQUFHO1FBQ1IsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUM1QixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUMxQixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDVCxHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztLQUN4QixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLENBQUMsRUFDaEYsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3RCLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3JDLE9BQU87SUFDUCxNQUFNLEdBQUcsR0FBRyxJQUFJLDJCQUFhLENBQUM7UUFDNUIsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNULEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3ZCLEVBQUUsRUFBRSxLQUFLO1FBQ1QsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxLQUFLO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsZUFBZTtRQUN0QixLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxJQUFJO1FBQ2IsT0FBTyxFQUFFLFlBQVk7UUFDckIsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFdBQVcsRUFBRTtZQUNYLFdBQVc7WUFDWCxXQUFXO1NBQ1o7UUFDRCxZQUFZLEVBQUUsWUFBWTtRQUMxQixZQUFZLEVBQUUsS0FBSztRQUNuQixZQUFZLEVBQUUsS0FBSztRQUNuQixhQUFhLEVBQUUsSUFBSTtRQUNuQixhQUFhLEVBQUUsZUFBZTtRQUM5QixlQUFlLEVBQUUsMEJBQWUsQ0FBQyxLQUFLO1FBQ3RDLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixxQkFBcUIsRUFBRSxJQUFJO1FBQzNCLFFBQVEsRUFBRSxnQ0FBcUIsQ0FBQyxHQUFHO0tBQ3BDLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDckIsUUFBUTtRQUNSLGFBQWE7UUFDYixZQUFZO1FBQ1osY0FBYztRQUNkLG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsV0FBVztRQUNYLFlBQVk7UUFDWixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXLEVBQUUsWUFBWTtRQUN6QixTQUFTLEVBQUUsZUFBZTtRQUMxQixrQkFBa0IsRUFBRSxZQUFZO1FBQ2hDLFlBQVksRUFBRSxzQ0FBc0M7UUFDcEQsVUFBVSxFQUFFLFNBQVM7UUFDckIsU0FBUztRQUNULFdBQVc7UUFDWCxlQUFlO1FBQ2YsU0FBUztRQUNULGVBQWU7UUFDZixjQUFjO1FBQ2QsZ0JBQWdCLEVBQUUsV0FBVztRQUM3QixnQkFBZ0IsRUFBRSxXQUFXO1FBQzdCLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsb0JBQW9CLEVBQUUsT0FBTztRQUM3QixtQkFBbUIsRUFBRSxlQUFlO1FBQ3BDLHNCQUFzQixFQUFFLFNBQVM7UUFDakMsdUJBQXVCO1FBQ3ZCLFlBQVksRUFBRSxLQUFLO1FBQ25CLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsYUFBYTtLQUNkLENBQUMsRUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLFlBQVksRUFBRSxRQUFRO1FBQ3RCLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsUUFBUTtRQUNSLFlBQVk7UUFDWixhQUFhO0tBQ2QsRUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDaEMsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLE1BQU07WUFDakIsMEJBQTBCLEVBQUUsTUFBTTtTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLGNBQWMsRUFBRSxjQUFjO1FBQzlCLGNBQWMsRUFBRSwrQkFBK0I7UUFDL0MsWUFBWSxFQUFFLFFBQVE7UUFDdEIsT0FBTztRQUNQLG9CQUFvQjtRQUNwQixhQUFhO0tBQ2QsRUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDN0IsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLE9BQU87WUFDcEIsMEJBQTBCLEVBQUUsWUFBWTtTQUN6QztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLFlBQVksRUFBRSxRQUFRO1FBQ3RCLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELGFBQWE7S0FDZCxFQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN0QixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUNyQyxPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDVCxHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN2QixnQkFBZ0IsRUFBRTtZQUNoQiw0Q0FBNEM7WUFDNUMsa0RBQWtEO1NBQ25EO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUI7UUFDRSxRQUFRO1FBQ1IscUJBQXFCLEVBQUUsNENBQTRDO1FBQ25FLHFCQUFxQixFQUFFLGtEQUFrRDtRQUN6RSxZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPO1FBQ1Asb0JBQW9CO1FBQ3BCLGFBQWE7S0FDZCxFQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN0QixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtJQUM5QyxPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLEVBQ2hGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQzNCLEdBQUcsRUFBRSxPQUFPO1NBQ2IsQ0FBQztRQUNGLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUN6QixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ1IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMzQixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ1YsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN6RCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUM3QixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ1YsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN4RixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDdEIsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsT0FBTztTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxFQUMxQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7SUFDeEIsT0FBTztJQUNQLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDckUsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDL0MsR0FBRyxFQUFFLEdBQUc7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3BCLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxFQUNwRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7SUFDMUIsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsT0FBTztTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUNaLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDbEMsTUFBTSxFQUFFLFlBQVk7UUFDcEIsR0FBRyxFQUFFO1lBQ0gsUUFBUSxFQUFFLFlBQVk7U0FDdkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sRUFDTixDQUFDLGVBQWUsQ0FBQyxFQUNqQixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztZQUNaLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLGdCQUFnQixFQUFFLHlCQUF5QjtTQUM1QyxDQUFDO1FBQ0YsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDM0IsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixVQUFVLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ1osT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLEVBQ04sQ0FBQyxlQUFlLENBQUMsRUFDakIsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3RCLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgQ2RrQ2xpV3JhcHBlciB9IGZyb20gJy4uL2xpYi9jZGstd3JhcHBlcic7XG5pbXBvcnQgeyBSZXF1aXJlQXBwcm92YWwsIFN0YWNrQWN0aXZpdHlQcm9ncmVzcyB9IGZyb20gJy4uL2xpYi9jb21tYW5kcyc7XG5sZXQgc3Bhd25TeW5jTW9jazogamVzdC5TcHlJbnN0YW5jZTtcblxuYmVmb3JlRWFjaCgoKSA9PiB7XG4gIHNwYXduU3luY01vY2sgPSBqZXN0LnNweU9uKGNoaWxkX3Byb2Nlc3MsICdzcGF3blN5bmMnKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIHN0YXR1czogMCxcbiAgICBzdGRlcnI6IEJ1ZmZlci5mcm9tKCdzdGRlcnInKSxcbiAgICBzdGRvdXQ6IEJ1ZmZlci5mcm9tKCdzdGRvdXQnKSxcbiAgICBwaWQ6IDEyMyxcbiAgICBvdXRwdXQ6IFsnc3Rkb3V0JywgJ3N0ZGVyciddLFxuICAgIHNpZ25hbDogbnVsbCxcbiAgfSk7XG59KTtcblxuYWZ0ZXJFYWNoKCgpID0+IHtcbiAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIGplc3QucmVzdG9yZUFsbE1vY2tzKCk7XG4gIGplc3QuY2xlYXJBbGxNb2NrcygpO1xufSk7XG5cbnRlc3QoJ2RlZmF1bHQgZGVwbG95JywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVwbG95JywgJy0tcHJvZ3Jlc3MnLCAnZXZlbnRzJywgJy0tYXBwJywgJ25vZGUgYmluL215LWFwcC5qcycsICd0ZXN0LXN0YWNrMSddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVwbG95IHdpdGggYWxsIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgICBjaTogZmFsc2UsXG4gICAganNvbjogdHJ1ZSxcbiAgICBjb2xvcjogZmFsc2UsXG4gICAgZGVidWc6IGZhbHNlLFxuICAgIGZvcmNlOiB0cnVlLFxuICAgIHByb3h5OiAnaHR0cHM6Ly9wcm94eScsXG4gICAgdHJhY2U6IGZhbHNlLFxuICAgIG91dHB1dDogJ2Nkay5vdXQnLFxuICAgIHN0cmljdDogZmFsc2UsXG4gICAgZXhlY3V0ZTogdHJ1ZSxcbiAgICBsb29rdXBzOiBmYWxzZSxcbiAgICBub3RpY2VzOiB0cnVlLFxuICAgIHByb2ZpbGU6ICdteS1wcm9maWxlJyxcbiAgICByb2xlQXJuOiAnYXJuOmF3czppYW06OjExMTExMTExMTE6cm9sZS9teS1yb2xlJyxcbiAgICBzdGFnaW5nOiBmYWxzZSxcbiAgICB2ZXJib3NlOiB0cnVlLFxuICAgIGVjMkNyZWRzOiB0cnVlLFxuICAgIHJvbGxiYWNrOiBmYWxzZSxcbiAgICBleGNsdXNpdmVseTogdHJ1ZSxcbiAgICBvdXRwdXRzRmlsZTogJ291dHB1dHMuanNvbicsXG4gICAgcmV1c2VBc3NldHM6IFtcbiAgICAgICdhc3NldDEyMzQnLFxuICAgICAgJ2Fzc2V0NTY3OCcsXG4gICAgXSxcbiAgICBjYUJ1bmRsZVBhdGg6ICcvc29tZS9wYXRoJyxcbiAgICBpZ25vcmVFcnJvcnM6IGZhbHNlLFxuICAgIHBhdGhNZXRhZGF0YTogZmFsc2UsXG4gICAgYXNzZXRNZXRhZGF0YTogdHJ1ZSxcbiAgICBjaGFuZ2VTZXROYW1lOiAnbXktY2hhbmdlLXNldCcsXG4gICAgcmVxdWlyZUFwcHJvdmFsOiBSZXF1aXJlQXBwcm92YWwuTkVWRVIsXG4gICAgdG9vbGtpdFN0YWNrTmFtZTogJ1Rvb2xraXQnLFxuICAgIHZlcnNpb25SZXBvcnRpbmc6IHRydWUsXG4gICAgdXNlUHJldmlvdXNQYXJhbWV0ZXJzOiB0cnVlLFxuICAgIHByb2dyZXNzOiBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgJ2RlcGxveScsXG4gICAgICAnLS1uby1zdHJpY3QnLFxuICAgICAgJy0tbm8tdHJhY2UnLFxuICAgICAgJy0tbm8tbG9va3VwcycsXG4gICAgICAnLS1uby1pZ25vcmUtZXJyb3JzJyxcbiAgICAgICctLWpzb24nLFxuICAgICAgJy0tdmVyYm9zZScsXG4gICAgICAnLS1uby1kZWJ1ZycsXG4gICAgICAnLS1lYzJjcmVkcycsXG4gICAgICAnLS12ZXJzaW9uLXJlcG9ydGluZycsXG4gICAgICAnLS1uby1wYXRoLW1ldGFkYXRhJyxcbiAgICAgICctLWFzc2V0LW1ldGFkYXRhJyxcbiAgICAgICctLW5vdGljZXMnLFxuICAgICAgJy0tbm8tY29sb3InLFxuICAgICAgJy0tcHJvZmlsZScsICdteS1wcm9maWxlJyxcbiAgICAgICctLXByb3h5JywgJ2h0dHBzOi8vcHJveHknLFxuICAgICAgJy0tY2EtYnVuZGxlLXBhdGgnLCAnL3NvbWUvcGF0aCcsXG4gICAgICAnLS1yb2xlLWFybicsICdhcm46YXdzOmlhbTo6MTExMTExMTExMTpyb2xlL215LXJvbGUnLFxuICAgICAgJy0tb3V0cHV0JywgJ2Nkay5vdXQnLFxuICAgICAgJy0tbm8tY2knLFxuICAgICAgJy0tZXhlY3V0ZScsXG4gICAgICAnLS1leGNsdXNpdmVseScsXG4gICAgICAnLS1mb3JjZScsXG4gICAgICAnLS1uby1yb2xsYmFjaycsXG4gICAgICAnLS1uby1zdGFnaW5nJyxcbiAgICAgICctLXJldXNlLWFzc2V0cycsICdhc3NldDEyMzQnLFxuICAgICAgJy0tcmV1c2UtYXNzZXRzJywgJ2Fzc2V0NTY3OCcsXG4gICAgICAnLS1vdXRwdXRzLWZpbGUnLCAnb3V0cHV0cy5qc29uJyxcbiAgICAgICctLXJlcXVpcmUtYXBwcm92YWwnLCAnbmV2ZXInLFxuICAgICAgJy0tY2hhbmdlLXNldC1uYW1lJywgJ215LWNoYW5nZS1zZXQnLFxuICAgICAgJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgJ1Rvb2xraXQnLFxuICAgICAgJy0tcHJldmlvdXMtcGFyYW1ldGVycycsXG4gICAgICAnLS1wcm9ncmVzcycsICdiYXInLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxJyxcbiAgICBdKSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwYXJzZSBib29sZWFuIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgICBqc29uOiB0cnVlLFxuICAgIGNvbG9yOiBmYWxzZSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbXG4gICAgICAnZGVwbG95JyxcbiAgICAgICctLXByb2dyZXNzJywgJ2V2ZW50cycsXG4gICAgICAnLS1hcHAnLFxuICAgICAgJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgICAnLS1qc29uJyxcbiAgICAgICctLW5vLWNvbG9yJyxcbiAgICAgICd0ZXN0LXN0YWNrMScsXG4gICAgXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwYXJzZSBwYXJhbWV0ZXJzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICdteXBhcmFtJzogJ3Rlc3QnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxOm15b3RoZXJwYXJhbSc6ICd0ZXN0JyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFtcbiAgICAgICdkZXBsb3knLFxuICAgICAgJy0tcGFyYW1ldGVycycsICdteXBhcmFtPXRlc3QnLFxuICAgICAgJy0tcGFyYW1ldGVycycsICd0ZXN0LXN0YWNrMTpteW90aGVycGFyYW09dGVzdCcsXG4gICAgICAnLS1wcm9ncmVzcycsICdldmVudHMnLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxJyxcbiAgICBdLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnY2FuIHBhcnNlIGNvbnRleHQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgfSk7XG4gIGNkay5kZXBsb3koe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgY29udGV4dDoge1xuICAgICAgJ215Q29udGV4dCc6ICd2YWx1ZScsXG4gICAgICAndGVzdC1zdGFjazE6T3RoZXJDb250ZXh0JzogJ290aGVyVmFsdWUnLFxuICAgIH0sXG4gIH0pO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHNwYXduU3luY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgIGV4cGVjdC5zdHJpbmdNYXRjaGluZygvY2RrLyksXG4gICAgW1xuICAgICAgJ2RlcGxveScsXG4gICAgICAnLS1wcm9ncmVzcycsICdldmVudHMnLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJy0tY29udGV4dCcsICdteUNvbnRleHQ9dmFsdWUnLFxuICAgICAgJy0tY29udGV4dCcsICd0ZXN0LXN0YWNrMTpPdGhlckNvbnRleHQ9b3RoZXJWYWx1ZScsXG4gICAgICAndGVzdC1zdGFjazEnLFxuICAgIF0sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcbn0pO1xuXG50ZXN0KCdjYW4gcGFyc2UgYXJyYXkgYXJndW1lbnRzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICAgIG5vdGlmaWNhdGlvbkFybnM6IFtcbiAgICAgICdhcm46YXdzOnVzLWVhc3QtMToxMTExMTExMTExOnNvbWU6cmVzb3VyY2UnLFxuICAgICAgJ2Fybjphd3M6dXMtZWFzdC0xOjExMTExMTExMTE6c29tZTpvdGhlci1yZXNvdXJjZScsXG4gICAgXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbXG4gICAgICAnZGVwbG95JyxcbiAgICAgICctLW5vdGlmaWNhdGlvbi1hcm5zJywgJ2Fybjphd3M6dXMtZWFzdC0xOjExMTExMTExMTE6c29tZTpyZXNvdXJjZScsXG4gICAgICAnLS1ub3RpZmljYXRpb24tYXJucycsICdhcm46YXdzOnVzLWVhc3QtMToxMTExMTExMTExOnNvbWU6b3RoZXItcmVzb3VyY2UnLFxuICAgICAgJy0tcHJvZ3Jlc3MnLCAnZXZlbnRzJyxcbiAgICAgICctLWFwcCcsXG4gICAgICAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICAgICd0ZXN0LXN0YWNrMScsXG4gICAgXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwcm92aWRlIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2RlcGxveScsICctLXByb2dyZXNzJywgJ2V2ZW50cycsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVmYXVsdCBzeW50aCcsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICAgIGVudjoge1xuICAgICAgS0VZOiAndmFsdWUnLFxuICAgIH0sXG4gIH0pO1xuICBjZGsuc3ludGgoe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gIH0pO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHNwYXduU3luY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgIGV4cGVjdC5zdHJpbmdNYXRjaGluZygvY2RrLyksXG4gICAgWydzeW50aCcsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnc3ludGggYXJndW1lbnRzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gICAgZW52OiB7XG4gICAgICBLRVk6ICd2YWx1ZScsXG4gICAgfSxcbiAgfSk7XG4gIGNkay5kZXN0cm95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVzdHJveScsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVzdHJveSBhcmd1bWVudHMnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmRlc3Ryb3koe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgZm9yY2U6IHRydWUsXG4gICAgZXhjbHVzaXZlbHk6IGZhbHNlLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVzdHJveScsICctLWZvcmNlJywgJy0tbm8tZXhjbHVzaXZlbHknLCAnLS1hcHAnLCAnbm9kZSBiaW4vbXktYXBwLmpzJywgJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgIH0pLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2RlZmF1bHQgbHMnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmxpc3Qoe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJyonXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2xzJywgJy0tYXBwJywgJ25vZGUgYmluL215LWFwcC5qcycsICcqJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgIH0pLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2xzIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBzcGF3blN5bmNNb2NrID0gamVzdC5zcHlPbihjaGlsZF9wcm9jZXNzLCAnc3Bhd25TeW5jJykubW9ja1JldHVyblZhbHVlKHtcbiAgICBzdGF0dXM6IDAsXG4gICAgc3RkZXJyOiBCdWZmZXIuZnJvbSgnc3RkZXJyJyksXG4gICAgc3Rkb3V0OiBCdWZmZXIuZnJvbSgndGVzdC1zdGFjazFcXG50ZXN0LXN0YWNrMicpLFxuICAgIHBpZDogMTIzLFxuICAgIG91dHB1dDogWydzdGRvdXQnLCAnc3RkZXJyJ10sXG4gICAgc2lnbmFsOiBudWxsLFxuICB9KTtcbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgbGlzdCA9IGNkay5saXN0KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWycqJ10sXG4gICAgbG9uZzogdHJ1ZSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2xzJywgJy0tbG9uZycsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAnKiddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICBLRVk6ICd2YWx1ZScsXG4gICAgICB9KSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcblxuICBleHBlY3QobGlzdCkudG9FcXVhbCgndGVzdC1zdGFjazFcXG50ZXN0LXN0YWNrMicpO1xufSk7XG5cbnRlc3QoJ2NhbiBzeW50aCBmYXN0JywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gICAgZW52OiB7XG4gICAgICBLRVk6ICd2YWx1ZScsXG4gICAgfSxcbiAgfSk7XG4gIGNkay5zeW50aEZhc3Qoe1xuICAgIGV4ZWNDbWQ6IFsnbm9kZScsICdiaW4vbXktYXBwLmpzJ10sXG4gICAgb3V0cHV0OiAnY2RrLm91dHB1dCcsXG4gICAgZW52OiB7XG4gICAgICBPVEhFUktFWTogJ290aGVydmFsdWUnLFxuICAgIH0sXG4gICAgY29udGV4dDoge1xuICAgICAgQ09OVEVYVDogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAnbm9kZScsXG4gICAgWydiaW4vbXktYXBwLmpzJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgICAgT1RIRVJLRVk6ICdvdGhlcnZhbHVlJyxcbiAgICAgICAgQ0RLX09VVERJUjogJ2Nkay5vdXRwdXQnLFxuICAgICAgICBDREtfQ09OVEVYVF9KU09OOiAne1xcXCJDT05URVhUXFxcIjpcXFwidmFsdWVcXFwifScsXG4gICAgICB9KSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcbn0pO1xuXG50ZXN0KCdjYW4gc2hvdyBvdXRwdXQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBzaG93T3V0cHV0OiB0cnVlLFxuICB9KTtcbiAgY2RrLnN5bnRoRmFzdCh7XG4gICAgZXhlY0NtZDogWydub2RlJywgJ2Jpbi9teS1hcHAuanMnXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgJ25vZGUnLFxuICAgIFsnYmluL215LWFwcC5qcyddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdpbmhlcml0J10sXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/tsconfig.json b/packages/cdk-cli-wrapper/tsconfig.json new file mode 100644 index 0000000000000..52f5c6e529175 --- /dev/null +++ b/packages/cdk-cli-wrapper/tsconfig.json @@ -0,0 +1,47 @@ +{ + "compilerOptions": { + "declarationMap": false, + "inlineSourceMap": true, + "inlineSources": true, + "alwaysStrict": true, + "declaration": true, + "experimentalDecorators": true, + "incremental": true, + "lib": [ + "es2020" + ], + "module": "CommonJS", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "stripInternal": false, + "target": "ES2020", + "composite": true, + "tsBuildInfoFile": "tsconfig.tsbuildinfo" + }, + "include": [ + "**/*.ts" + ], + "exclude": [ + "node_modules", + ".types-compat" + ], + "references": [ + { + "path": "../../tools/@aws-cdk/cdk-build-tools" + }, + { + "path": "../../tools/@aws-cdk/pkglint" + } + ], + "_generated_by_jsii_": "Generated by jsii - safe to delete, and ideally should be in .gitignore" +} \ No newline at end of file From 2b5aa3eaf287ca402456b5fd957c2d7188efa49b Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Thu, 22 Jun 2023 14:09:56 +0200 Subject: [PATCH 08/20] feat: adapted snapshots --- ...g.newpipeline-with-allPrepareNodesFirst.ts | 6 +- .../PipelineStack.assets.json | 4 +- .../PipelineStack.template.json | 42 +- .../PipelineStackPipeline9DB740AF.dot | 134 +- .../manifest.json | 6 +- .../tree.json | 132 +- ...teg.newpipeline-with-cross-account-keys.ts | 15 +- .../integ.newpipeline-with-postPrepare.ts | 21 +- .../PipelineStack.template.json | 2 +- .../test/integ.newpipeline-with-vpc.ts | 18 +- ...efaultTestDeployAssert4E6713E1.assets.json | 19 + ...aultTestDeployAssert4E6713E1.template.json | 36 + .../PipelineStack.assets.json | 4 +- .../PipelineStack.template.json | 42 +- .../PipelineStackPipeline9DB740AF.dot | 134 +- .../integ.newpipeline.js.snapshot/integ.json | 12 +- .../manifest.json | 53 +- .../integ.newpipeline.js.snapshot/tree.json | 186 +- .../test/pipelines/test/integ.newpipeline.ts | 141 +- .../StackOutputPipelineStack.template.json | 2 +- yarn.lock | 3150 +++++++++-------- 21 files changed, 2143 insertions(+), 2016 deletions(-) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts index 6137a43859237..dbd134b075dcf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.ts @@ -12,15 +12,13 @@ class PipelineStack extends Stack { const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub( - 'rix0rrr/cdk-pipelines-demo', - 'main', - ), + input: pipelines.CodePipelineSource.gitHub('Nico-DB/aws-cdk', 'main'), commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), allPrepareNodesFirst: true, }); + pipeline.addStage(new AppStage(this, 'Beta'), { }); diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.assets.json index 9cb253d1a4c55..c2976cdcab179 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.assets.json @@ -1,7 +1,7 @@ { "version": "31.0.0", "files": { - "5e7bb85d81710361d2e2b5fba94f50ef4141aa3fc151119f5b8d5d786c9c149e": { + "d37e10348f6474aa9131d38ccd04bccbe7753b2458bdd2bf7175b29ecc6c8d06": { "source": { "path": "PipelineStack.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "5e7bb85d81710361d2e2b5fba94f50ef4141aa3fc151119f5b8d5d786c9c149e.json", + "objectKey": "d37e10348f6474aa9131d38ccd04bccbe7753b2458bdd2bf7175b29ecc6c8d06.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.template.json index b9e86731073b3..26700a002ae6c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStack.template.json @@ -354,16 +354,16 @@ "Version": "1" }, "Configuration": { - "Owner": "tkglaser", - "Repo": "cdk-pipelines-demo", + "Owner": "Nico-DB", + "Repo": "aws-cdk", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false }, - "Name": "tkglaser_cdk-pipelines-demo", + "Name": "Nico-DB_aws-cdk", "OutputArtifacts": [ { - "Name": "tkglaser_cdk_pipelines_demo_Source" + "Name": "Nico_DB_aws_cdk_Source" } ], "RunOrder": 1 @@ -388,7 +388,7 @@ }, "InputArtifacts": [ { - "Name": "tkglaser_cdk_pipelines_demo_Source" + "Name": "Nico_DB_aws_cdk_Source" } ], "Name": "Synth", @@ -484,7 +484,7 @@ "Name": "Synth_Output" } ], - "Name": "Stack1.Prepare", + "Name": "Stack1.Prepare-Beta-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -590,7 +590,7 @@ "Name": "Synth_Output" } ], - "Name": "Stack2.Prepare", + "Name": "Stack2.Prepare-Beta-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -701,7 +701,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod1.Stack1.Prepare", + "Name": "Prod1.Stack1.Prepare-Prod1-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -769,7 +769,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod2.Stack1.Prepare", + "Name": "Prod2.Stack1.Prepare-Prod2-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -913,7 +913,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod1.Stack2.Prepare", + "Name": "Prod1.Stack2.Prepare-Prod1-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -981,7 +981,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod2.Stack2.Prepare", + "Name": "Prod2.Stack2.Prepare-Prod2-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1130,7 +1130,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod3.Stack1.Prepare", + "Name": "Prod3.Stack1.Prepare-Prod3-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1198,7 +1198,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod4.Stack1.Prepare", + "Name": "Prod4.Stack1.Prepare-Prod4-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1266,7 +1266,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod5.Stack1.Prepare", + "Name": "Prod5.Stack1.Prepare-Prod5-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1334,7 +1334,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod6.Stack1.Prepare", + "Name": "Prod6.Stack1.Prepare-Prod6-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1554,7 +1554,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod3.Stack2.Prepare", + "Name": "Prod3.Stack2.Prepare-Prod3-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1622,7 +1622,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod4.Stack2.Prepare", + "Name": "Prod4.Stack2.Prepare-Prod4-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1690,7 +1690,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod5.Stack2.Prepare", + "Name": "Prod5.Stack2.Prepare-Prod5-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1758,7 +1758,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod6.Stack2.Prepare", + "Name": "Prod6.Stack2.Prepare-Prod6-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1962,7 +1962,7 @@ "PipelineRoleB27FAA37" ] }, - "PipelineSourcetkglasercdkpipelinesdemoWebhookResource54EE51BE": { + "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4": { "Type": "AWS::CodePipeline::Webhook", "Properties": { "Authentication": "GITHUB_HMAC", @@ -1975,7 +1975,7 @@ "MatchEquals": "refs/heads/{Branch}" } ], - "TargetAction": "tkglaser_cdk-pipelines-demo", + "TargetAction": "Nico-DB_aws-cdk", "TargetPipeline": { "Ref": "Pipeline9850B417" }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStackPipeline9DB740AF.dot b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStackPipeline9DB740AF.dot index 8785f22f4345e..71cb12528429e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStackPipeline9DB740AF.dot +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/PipelineStackPipeline9DB740AF.dot @@ -7,7 +7,7 @@ digraph G { "BEGIN Build" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Build" [shape="cds", style="filled", fillcolor="#b7deff"]; "Build.Synth"; -"Source.tkglaser/cdk-pipelines-demo" -> "Build.Synth"; +"Source.Nico-DB/aws-cdk" -> "Build.Synth"; "BEGIN Build" -> "Build.Synth"; "Build.Synth" -> "END Build"; "BEGIN UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; @@ -22,19 +22,21 @@ digraph G { "BEGIN Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Beta.Stack1.Deploy"; -"Beta.Stack1.Prepare" -> "Beta.Stack1.Deploy"; -"Beta.Stack1.Prepare"; -"Build.Synth" -> "Beta.Stack1.Prepare"; -"BEGIN Beta.Stack1" -> "Beta.Stack1.Prepare"; +"Beta.Stack1.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Prepare-Beta-Stack1"; +"Build.Synth" -> "Beta.Stack1.Prepare-Beta-Stack1"; +"BEGIN Beta.Stack1" -> "Beta.Stack1.Prepare-Beta-Stack1"; "Beta.Stack1.Deploy" -> "END Beta.Stack1"; "BEGIN Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack1" -> "BEGIN Beta.Stack2"; "Beta.Stack2.Deploy"; -"Beta.Stack2.Prepare" -> "Beta.Stack2.Deploy"; -"Beta.Stack2.Prepare"; -"Build.Synth" -> "Beta.Stack2.Prepare"; -"BEGIN Beta.Stack2" -> "Beta.Stack2.Prepare"; +"Beta.Stack2.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Prepare-Beta-Stack2"; +"Build.Synth" -> "Beta.Stack2.Prepare-Beta-Stack2"; +"BEGIN Beta.Stack2" -> "Beta.Stack2.Prepare-Beta-Stack2"; "Beta.Stack2.Deploy" -> "END Beta.Stack2"; "BEGIN Beta" -> "BEGIN Beta.Stack1"; "END Beta.Stack2" -> "END Beta"; @@ -47,19 +49,21 @@ digraph G { "BEGIN Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave1.Prod1.Stack1.Deploy"; -"Wave1.Prod1.Stack1.Prepare" -> "Wave1.Prod1.Stack1.Deploy"; -"Wave1.Prod1.Stack1.Prepare"; -"Build.Synth" -> "Wave1.Prod1.Stack1.Prepare"; -"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Prepare"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; +"Build.Synth" -> "Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; +"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; "Wave1.Prod1.Stack1.Deploy" -> "END Wave1.Prod1.Stack1"; "BEGIN Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack1" -> "BEGIN Wave1.Prod1.Stack2"; "Wave1.Prod1.Stack2.Deploy"; -"Wave1.Prod1.Stack2.Prepare" -> "Wave1.Prod1.Stack2.Deploy"; -"Wave1.Prod1.Stack2.Prepare"; -"Build.Synth" -> "Wave1.Prod1.Stack2.Prepare"; -"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Prepare"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; +"Build.Synth" -> "Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; +"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; "Wave1.Prod1.Stack2.Deploy" -> "END Wave1.Prod1.Stack2"; "BEGIN Wave1.Prod1" -> "BEGIN Wave1.Prod1.Stack1"; "END Wave1.Prod1.Stack2" -> "END Wave1.Prod1"; @@ -68,19 +72,21 @@ digraph G { "BEGIN Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave1.Prod2.Stack1.Deploy"; -"Wave1.Prod2.Stack1.Prepare" -> "Wave1.Prod2.Stack1.Deploy"; -"Wave1.Prod2.Stack1.Prepare"; -"Build.Synth" -> "Wave1.Prod2.Stack1.Prepare"; -"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Prepare"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; +"Build.Synth" -> "Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; "Wave1.Prod2.Stack1.Deploy" -> "END Wave1.Prod2.Stack1"; "BEGIN Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack1" -> "BEGIN Wave1.Prod2.Stack2"; "Wave1.Prod2.Stack2.Deploy"; -"Wave1.Prod2.Stack2.Prepare" -> "Wave1.Prod2.Stack2.Deploy"; -"Wave1.Prod2.Stack2.Prepare"; -"Build.Synth" -> "Wave1.Prod2.Stack2.Prepare"; -"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Prepare"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; +"Build.Synth" -> "Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; +"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; "Wave1.Prod2.Stack2.Deploy" -> "END Wave1.Prod2.Stack2"; "BEGIN Wave1.Prod2" -> "BEGIN Wave1.Prod2.Stack1"; "END Wave1.Prod2.Stack2" -> "END Wave1.Prod2"; @@ -97,19 +103,21 @@ digraph G { "BEGIN Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod3.Stack1.Deploy"; -"Wave2.Prod3.Stack1.Prepare" -> "Wave2.Prod3.Stack1.Deploy"; -"Wave2.Prod3.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod3.Stack1.Prepare"; -"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Prepare"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; +"Build.Synth" -> "Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; +"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; "Wave2.Prod3.Stack1.Deploy" -> "END Wave2.Prod3.Stack1"; "BEGIN Wave2.Prod3.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack1" -> "BEGIN Wave2.Prod3.Stack2"; "Wave2.Prod3.Stack2.Deploy"; -"Wave2.Prod3.Stack2.Prepare" -> "Wave2.Prod3.Stack2.Deploy"; -"Wave2.Prod3.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod3.Stack2.Prepare"; -"BEGIN Wave2.Prod3.Stack2" -> "Wave2.Prod3.Stack2.Prepare"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2" -> "Wave2.Prod3.Stack2.Deploy"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2" -> "Wave2.Prod3.Stack2.Deploy"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; +"Build.Synth" -> "Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; +"BEGIN Wave2.Prod3.Stack2" -> "Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; "Wave2.Prod3.Stack2.Deploy" -> "END Wave2.Prod3.Stack2"; "BEGIN Wave2.Prod3" -> "BEGIN Wave2.Prod3.Stack1"; "END Wave2.Prod3.Stack2" -> "END Wave2.Prod3"; @@ -118,19 +126,21 @@ digraph G { "BEGIN Wave2.Prod4.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod4.Stack1.Deploy"; -"Wave2.Prod4.Stack1.Prepare" -> "Wave2.Prod4.Stack1.Deploy"; -"Wave2.Prod4.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod4.Stack1.Prepare"; -"BEGIN Wave2.Prod4.Stack1" -> "Wave2.Prod4.Stack1.Prepare"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1" -> "Wave2.Prod4.Stack1.Deploy"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1" -> "Wave2.Prod4.Stack1.Deploy"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; +"Build.Synth" -> "Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; +"BEGIN Wave2.Prod4.Stack1" -> "Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; "Wave2.Prod4.Stack1.Deploy" -> "END Wave2.Prod4.Stack1"; "BEGIN Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack1" -> "BEGIN Wave2.Prod4.Stack2"; "Wave2.Prod4.Stack2.Deploy"; -"Wave2.Prod4.Stack2.Prepare" -> "Wave2.Prod4.Stack2.Deploy"; -"Wave2.Prod4.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod4.Stack2.Prepare"; -"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Prepare"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; +"Build.Synth" -> "Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; +"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; "Wave2.Prod4.Stack2.Deploy" -> "END Wave2.Prod4.Stack2"; "BEGIN Wave2.Prod4" -> "BEGIN Wave2.Prod4.Stack1"; "END Wave2.Prod4.Stack2" -> "END Wave2.Prod4"; @@ -139,19 +149,21 @@ digraph G { "BEGIN Wave2.Prod5.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod5.Stack1.Deploy"; -"Wave2.Prod5.Stack1.Prepare" -> "Wave2.Prod5.Stack1.Deploy"; -"Wave2.Prod5.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod5.Stack1.Prepare"; -"BEGIN Wave2.Prod5.Stack1" -> "Wave2.Prod5.Stack1.Prepare"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1" -> "Wave2.Prod5.Stack1.Deploy"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1" -> "Wave2.Prod5.Stack1.Deploy"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; +"Build.Synth" -> "Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; +"BEGIN Wave2.Prod5.Stack1" -> "Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; "Wave2.Prod5.Stack1.Deploy" -> "END Wave2.Prod5.Stack1"; "BEGIN Wave2.Prod5.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack1" -> "BEGIN Wave2.Prod5.Stack2"; "Wave2.Prod5.Stack2.Deploy"; -"Wave2.Prod5.Stack2.Prepare" -> "Wave2.Prod5.Stack2.Deploy"; -"Wave2.Prod5.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod5.Stack2.Prepare"; -"BEGIN Wave2.Prod5.Stack2" -> "Wave2.Prod5.Stack2.Prepare"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2" -> "Wave2.Prod5.Stack2.Deploy"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2" -> "Wave2.Prod5.Stack2.Deploy"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; +"Build.Synth" -> "Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; +"BEGIN Wave2.Prod5.Stack2" -> "Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; "Wave2.Prod5.Stack2.Deploy" -> "END Wave2.Prod5.Stack2"; "BEGIN Wave2.Prod5" -> "BEGIN Wave2.Prod5.Stack1"; "END Wave2.Prod5.Stack2" -> "END Wave2.Prod5"; @@ -160,19 +172,21 @@ digraph G { "BEGIN Wave2.Prod6.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod6.Stack1.Deploy"; -"Wave2.Prod6.Stack1.Prepare" -> "Wave2.Prod6.Stack1.Deploy"; -"Wave2.Prod6.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod6.Stack1.Prepare"; -"BEGIN Wave2.Prod6.Stack1" -> "Wave2.Prod6.Stack1.Prepare"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1" -> "Wave2.Prod6.Stack1.Deploy"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1" -> "Wave2.Prod6.Stack1.Deploy"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; +"Build.Synth" -> "Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; +"BEGIN Wave2.Prod6.Stack1" -> "Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; "Wave2.Prod6.Stack1.Deploy" -> "END Wave2.Prod6.Stack1"; "BEGIN Wave2.Prod6.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack1" -> "BEGIN Wave2.Prod6.Stack2"; "Wave2.Prod6.Stack2.Deploy"; -"Wave2.Prod6.Stack2.Prepare" -> "Wave2.Prod6.Stack2.Deploy"; -"Wave2.Prod6.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod6.Stack2.Prepare"; -"BEGIN Wave2.Prod6.Stack2" -> "Wave2.Prod6.Stack2.Prepare"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2" -> "Wave2.Prod6.Stack2.Deploy"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2" -> "Wave2.Prod6.Stack2.Deploy"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; +"Build.Synth" -> "Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; +"BEGIN Wave2.Prod6.Stack2" -> "Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; "Wave2.Prod6.Stack2.Deploy" -> "END Wave2.Prod6.Stack2"; "BEGIN Wave2.Prod6" -> "BEGIN Wave2.Prod6.Stack1"; "END Wave2.Prod6.Stack2" -> "END Wave2.Prod6"; @@ -186,7 +200,7 @@ digraph G { "END Wave2.Prod6" -> "END Wave2"; "BEGIN Source" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Source" [shape="cds", style="filled", fillcolor="#b7deff"]; -"Source.tkglaser/cdk-pipelines-demo"; -"BEGIN Source" -> "Source.tkglaser/cdk-pipelines-demo"; -"Source.tkglaser/cdk-pipelines-demo" -> "END Source"; +"Source.Nico-DB/aws-cdk"; +"BEGIN Source" -> "Source.Nico-DB/aws-cdk"; +"Source.Nico-DB/aws-cdk" -> "END Source"; } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/manifest.json index a09bc103fde26..83f06e457a948 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/manifest.json @@ -66,7 +66,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/5e7bb85d81710361d2e2b5fba94f50ef4141aa3fc151119f5b8d5d786c9c149e.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d37e10348f6474aa9131d38ccd04bccbe7753b2458bdd2bf7175b29ecc6c8d06.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -124,10 +124,10 @@ "data": "Pipeline9850B417" } ], - "/PipelineStack/Pipeline/Pipeline/Source/tkglaser_cdk-pipelines-demo/WebhookResource": [ + "/PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource": [ { "type": "aws:cdk:logicalId", - "data": "PipelineSourcetkglasercdkpipelinesdemoWebhookResource54EE51BE" + "data": "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4" } ], "/PipelineStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/Resource": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/tree.json index d0eab653d95b8..5f30352624a00 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.js.snapshot/tree.json @@ -477,10 +477,10 @@ "name": "Source", "actions": [ { - "name": "tkglaser_cdk-pipelines-demo", + "name": "Nico-DB_aws-cdk", "outputArtifacts": [ { - "name": "tkglaser_cdk_pipelines_demo_Source" + "name": "Nico_DB_aws_cdk_Source" } ], "actionTypeId": { @@ -490,8 +490,8 @@ "provider": "GitHub" }, "configuration": { - "Owner": "tkglaser", - "Repo": "cdk-pipelines-demo", + "Owner": "Nico-DB", + "Repo": "aws-cdk", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false @@ -507,7 +507,7 @@ "name": "Synth", "inputArtifacts": [ { - "name": "tkglaser_cdk_pipelines_demo_Source" + "name": "Nico_DB_aws_cdk_Source" } ], "outputArtifacts": [ @@ -573,7 +573,7 @@ "name": "Beta", "actions": [ { - "name": "Stack1.Prepare", + "name": "Stack1.Prepare-Beta-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -679,7 +679,7 @@ } }, { - "name": "Stack2.Prepare", + "name": "Stack2.Prepare-Beta-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -790,7 +790,7 @@ "name": "Wave1", "actions": [ { - "name": "Prod1.Stack1.Prepare", + "name": "Prod1.Stack1.Prepare-Prod1-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -858,7 +858,7 @@ } }, { - "name": "Prod2.Stack1.Prepare", + "name": "Prod2.Stack1.Prepare-Prod2-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1002,7 +1002,7 @@ } }, { - "name": "Prod1.Stack2.Prepare", + "name": "Prod1.Stack2.Prepare-Prod1-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1070,7 +1070,7 @@ } }, { - "name": "Prod2.Stack2.Prepare", + "name": "Prod2.Stack2.Prepare-Prod2-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1219,7 +1219,7 @@ "name": "Wave2", "actions": [ { - "name": "Prod3.Stack1.Prepare", + "name": "Prod3.Stack1.Prepare-Prod3-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1287,7 +1287,7 @@ } }, { - "name": "Prod4.Stack1.Prepare", + "name": "Prod4.Stack1.Prepare-Prod4-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1355,7 +1355,7 @@ } }, { - "name": "Prod5.Stack1.Prepare", + "name": "Prod5.Stack1.Prepare-Prod5-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1423,7 +1423,7 @@ } }, { - "name": "Prod6.Stack1.Prepare", + "name": "Prod6.Stack1.Prepare-Prod6-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1643,7 +1643,7 @@ } }, { - "name": "Prod3.Stack2.Prepare", + "name": "Prod3.Stack2.Prepare-Prod3-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1711,7 +1711,7 @@ } }, { - "name": "Prod4.Stack2.Prepare", + "name": "Prod4.Stack2.Prepare-Prod4-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1779,7 +1779,7 @@ } }, { - "name": "Prod5.Stack2.Prepare", + "name": "Prod5.Stack2.Prepare-Prod5-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1847,7 +1847,7 @@ } }, { - "name": "Prod6.Stack2.Prepare", + "name": "Prod6.Stack2.Prepare-Prod6-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -2096,13 +2096,13 @@ "id": "Source", "path": "PipelineStack/Pipeline/Pipeline/Source", "children": { - "tkglaser_cdk-pipelines-demo": { - "id": "tkglaser_cdk-pipelines-demo", - "path": "PipelineStack/Pipeline/Pipeline/Source/tkglaser_cdk-pipelines-demo", + "Nico-DB_aws-cdk": { + "id": "Nico-DB_aws-cdk", + "path": "PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk", "children": { "WebhookResource": { "id": "WebhookResource", - "path": "PipelineStack/Pipeline/Pipeline/Source/tkglaser_cdk-pipelines-demo/WebhookResource", + "path": "PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource", "attributes": { "aws:cdk:cloudformation:type": "AWS::CodePipeline::Webhook", "aws:cdk:cloudformation:props": { @@ -2116,7 +2116,7 @@ "matchEquals": "refs/heads/{Branch}" } ], - "targetAction": "tkglaser_cdk-pipelines-demo", + "targetAction": "Nico-DB_aws-cdk", "targetPipeline": { "Ref": "Pipeline9850B417" }, @@ -2457,9 +2457,9 @@ "id": "Beta", "path": "PipelineStack/Pipeline/Pipeline/Beta", "children": { - "Stack1.Prepare": { - "id": "Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Prepare", + "Stack1.Prepare-Beta-Stack1": { + "id": "Stack1.Prepare-Beta-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Prepare-Beta-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2473,9 +2473,9 @@ "version": "10.1.270" } }, - "Stack2.Prepare": { - "id": "Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Prepare", + "Stack2.Prepare-Beta-Stack2": { + "id": "Stack2.Prepare-Beta-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Prepare-Beta-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2541,17 +2541,17 @@ "id": "Wave1", "path": "PipelineStack/Pipeline/Pipeline/Wave1", "children": { - "Prod1.Stack1.Prepare": { - "id": "Prod1.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Prepare", + "Prod1.Stack1.Prepare-Prod1-Stack1": { + "id": "Prod1.Stack1.Prepare-Prod1-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Prepare-Prod1-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod2.Stack1.Prepare": { - "id": "Prod2.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Prepare", + "Prod2.Stack1.Prepare-Prod2-Stack1": { + "id": "Prod2.Stack1.Prepare-Prod2-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Prepare-Prod2-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2573,17 +2573,17 @@ "version": "10.1.270" } }, - "Prod1.Stack2.Prepare": { - "id": "Prod1.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Prepare", + "Prod1.Stack2.Prepare-Prod1-Stack2": { + "id": "Prod1.Stack2.Prepare-Prod1-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Prepare-Prod1-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod2.Stack2.Prepare": { - "id": "Prod2.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Prepare", + "Prod2.Stack2.Prepare-Prod2-Stack2": { + "id": "Prod2.Stack2.Prepare-Prod2-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Prepare-Prod2-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2615,33 +2615,33 @@ "id": "Wave2", "path": "PipelineStack/Pipeline/Pipeline/Wave2", "children": { - "Prod3.Stack1.Prepare": { - "id": "Prod3.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Prepare", + "Prod3.Stack1.Prepare-Prod3-Stack1": { + "id": "Prod3.Stack1.Prepare-Prod3-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Prepare-Prod3-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod4.Stack1.Prepare": { - "id": "Prod4.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Prepare", + "Prod4.Stack1.Prepare-Prod4-Stack1": { + "id": "Prod4.Stack1.Prepare-Prod4-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Prepare-Prod4-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod5.Stack1.Prepare": { - "id": "Prod5.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Prepare", + "Prod5.Stack1.Prepare-Prod5-Stack1": { + "id": "Prod5.Stack1.Prepare-Prod5-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Prepare-Prod5-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod6.Stack1.Prepare": { - "id": "Prod6.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Prepare", + "Prod6.Stack1.Prepare-Prod6-Stack1": { + "id": "Prod6.Stack1.Prepare-Prod6-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Prepare-Prod6-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2679,33 +2679,33 @@ "version": "10.1.270" } }, - "Prod3.Stack2.Prepare": { - "id": "Prod3.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Prepare", + "Prod3.Stack2.Prepare-Prod3-Stack2": { + "id": "Prod3.Stack2.Prepare-Prod3-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Prepare-Prod3-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod4.Stack2.Prepare": { - "id": "Prod4.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Prepare", + "Prod4.Stack2.Prepare-Prod4-Stack2": { + "id": "Prod4.Stack2.Prepare-Prod4-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Prepare-Prod4-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod5.Stack2.Prepare": { - "id": "Prod5.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Prepare", + "Prod5.Stack2.Prepare-Prod5-Stack2": { + "id": "Prod5.Stack2.Prepare-Prod5-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Prepare-Prod5-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod6.Stack2.Prepare": { - "id": "Prod6.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Prepare", + "Prod6.Stack2.Prepare-Prod6-Stack2": { + "id": "Prod6.Stack2.Prepare-Prod6-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Prepare-Prod6-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.ts index 853f0d2805f19..80236dc40bf50 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-cross-account-keys.ts @@ -1,6 +1,6 @@ -import * as sqs from 'aws-cdk-lib/aws-sqs'; -import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import * as integ from '@aws-cdk/integ-tests-alpha'; +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; import { Construct } from 'constructs'; import * as pipelines from 'aws-cdk-lib/pipelines'; @@ -13,12 +13,11 @@ class PipelineStack extends Stack { crossAccountKeys: true, enableKeyRotation: true, synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub('tkglaser/cdk-pipelines-demo', 'main'), - commands: [ - 'npm ci', - 'npm run build', - 'npx cdk synth', - ], + input: pipelines.CodePipelineSource.gitHub( + 'Nico-DB/aws-cdk', + 'main', + ), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), }); diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts index 815bd574a2d9c..35b4904262e60 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.ts @@ -12,16 +12,17 @@ class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); - const pipeline = new pipelines.CodePipeline(this, 'PipelineWithPostPrepare', { - synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub( - 'rix0rrr/cdk-pipelines-demo', - 'main', - ), - commands: ['npm ci', 'npm run build', 'npx cdk synth'], - }), - allPrepareNodesFirst: true, - }); + const pipeline = new pipelines.CodePipeline( + this, + 'PipelineWithPostPrepare', + { + synth: new pipelines.ShellStep('Synth', { + input: pipelines.CodePipelineSource.gitHub('Nico-DB/aws-cdk', 'main'), + commands: ['npm ci', 'npm run build', 'npx cdk synth'], + }), + allPrepareNodesFirst: true, + }, + ); pipeline.addStage(new AppStage(this, 'Beta'), { postPrepare: [new pipelines.ManualApprovalStep('Approval0')], diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.js.snapshot/PipelineStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.js.snapshot/PipelineStack.template.json index 454231aea8d08..c95f7996549d1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.js.snapshot/PipelineStack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.js.snapshot/PipelineStack.template.json @@ -827,7 +827,7 @@ "Name": "Synth_Output" } ], - "Name": "Prepare", + "Name": "Prepare-Beta-Stack1", "RoleArn": { "Fn::Join": [ "", diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts index e4208a51ae747..ddda1921e48fd 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts @@ -1,12 +1,14 @@ // eslint-disable-next-line import/no-extraneous-dependencies /// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true -import * as path from 'path'; +import { IntegTest } from '@aws-cdk/integ-tests-alpha'; +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as s3_assets from 'aws-cdk-lib/aws-s3-assets'; import * as sqs from 'aws-cdk-lib/aws-sqs'; -import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; -import { Construct } from 'constructs'; import * as pipelines from 'aws-cdk-lib/pipelines'; +import { Construct } from 'constructs'; +import * as path from 'path'; + class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { @@ -17,7 +19,7 @@ class PipelineStack extends Stack { const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { codeBuildDefaults: { vpc }, synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub('aws/aws-cdk', 'v2-main'), + input: pipelines.CodePipelineSource.gitHub('Nico-DB/aws-cdk', 'main'), commands: [ 'npm ci', 'npm run build', @@ -51,5 +53,9 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -new PipelineStack(app, 'PipelineStack'); -app.synth(); +const pipeStack = new PipelineStack(app, 'PipelineStack'); + +new IntegTest(app, 'Integ', { + testCases: [pipeStack], +}); +app.synth(); \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json new file mode 100644 index 0000000000000..9e7065c2b0432 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.assets.json index 2d8b51838abd6..d2ec671b02eed 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.assets.json @@ -1,7 +1,7 @@ { "version": "31.0.0", "files": { - "bb6adc0f7fd12a7b804a73ec5f746450c3851c82569c4ab7a6e604d6778df985": { + "aad7095cbd9a10588db159d8324e8c2884ae6371e6e923fd6b665f9b9a3ccd70": { "source": { "path": "PipelineStack.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "bb6adc0f7fd12a7b804a73ec5f746450c3851c82569c4ab7a6e604d6778df985.json", + "objectKey": "aad7095cbd9a10588db159d8324e8c2884ae6371e6e923fd6b665f9b9a3ccd70.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.template.json index 1bc1511049a64..da906113b964f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStack.template.json @@ -249,16 +249,16 @@ "Version": "1" }, "Configuration": { - "Owner": "rix0rrr", - "Repo": "cdk-pipelines-demo", + "Owner": "Nico-DB", + "Repo": "aws-cdk", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false }, - "Name": "rix0rrr_cdk-pipelines-demo", + "Name": "Nico-DB_aws-cdk", "OutputArtifacts": [ { - "Name": "rix0rrr_cdk_pipelines_demo_Source" + "Name": "Nico_DB_aws_cdk_Source" } ], "RunOrder": 1 @@ -283,7 +283,7 @@ }, "InputArtifacts": [ { - "Name": "rix0rrr_cdk_pipelines_demo_Source" + "Name": "Nico_DB_aws_cdk_Source" } ], "Name": "Synth", @@ -379,7 +379,7 @@ "Name": "Synth_Output" } ], - "Name": "Stack1.Prepare", + "Name": "Stack1.Prepare-Beta-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -485,7 +485,7 @@ "Name": "Synth_Output" } ], - "Name": "Stack2.Prepare", + "Name": "Stack2.Prepare-Beta-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -596,7 +596,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod1.Stack1.Prepare", + "Name": "Prod1.Stack1.Prepare-Prod1-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -664,7 +664,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod2.Stack1.Prepare", + "Name": "Prod2.Stack1.Prepare-Prod2-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -808,7 +808,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod1.Stack2.Prepare", + "Name": "Prod1.Stack2.Prepare-Prod1-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -876,7 +876,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod2.Stack2.Prepare", + "Name": "Prod2.Stack2.Prepare-Prod2-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1025,7 +1025,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod3.Stack1.Prepare", + "Name": "Prod3.Stack1.Prepare-Prod3-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1093,7 +1093,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod4.Stack1.Prepare", + "Name": "Prod4.Stack1.Prepare-Prod4-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1161,7 +1161,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod5.Stack1.Prepare", + "Name": "Prod5.Stack1.Prepare-Prod5-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1229,7 +1229,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod6.Stack1.Prepare", + "Name": "Prod6.Stack1.Prepare-Prod6-Stack1", "RoleArn": { "Fn::Join": [ "", @@ -1449,7 +1449,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod3.Stack2.Prepare", + "Name": "Prod3.Stack2.Prepare-Prod3-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1517,7 +1517,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod4.Stack2.Prepare", + "Name": "Prod4.Stack2.Prepare-Prod4-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1585,7 +1585,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod5.Stack2.Prepare", + "Name": "Prod5.Stack2.Prepare-Prod5-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1653,7 +1653,7 @@ "Name": "Synth_Output" } ], - "Name": "Prod6.Stack2.Prepare", + "Name": "Prod6.Stack2.Prepare-Prod6-Stack2", "RoleArn": { "Fn::Join": [ "", @@ -1848,7 +1848,7 @@ "PipelineRoleB27FAA37" ] }, - "PipelineSourcerix0rrrcdkpipelinesdemoWebhookResourceDB0C1BCA": { + "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4": { "Type": "AWS::CodePipeline::Webhook", "Properties": { "Authentication": "GITHUB_HMAC", @@ -1861,7 +1861,7 @@ "MatchEquals": "refs/heads/{Branch}" } ], - "TargetAction": "rix0rrr_cdk-pipelines-demo", + "TargetAction": "Nico-DB_aws-cdk", "TargetPipeline": { "Ref": "Pipeline9850B417" }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStackPipeline9DB740AF.dot b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStackPipeline9DB740AF.dot index 537fc7592bc9f..71cb12528429e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStackPipeline9DB740AF.dot +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/PipelineStackPipeline9DB740AF.dot @@ -7,7 +7,7 @@ digraph G { "BEGIN Build" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Build" [shape="cds", style="filled", fillcolor="#b7deff"]; "Build.Synth"; -"Source.rix0rrr/cdk-pipelines-demo" -> "Build.Synth"; +"Source.Nico-DB/aws-cdk" -> "Build.Synth"; "BEGIN Build" -> "Build.Synth"; "Build.Synth" -> "END Build"; "BEGIN UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; @@ -22,19 +22,21 @@ digraph G { "BEGIN Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Beta.Stack1.Deploy"; -"Beta.Stack1.Prepare" -> "Beta.Stack1.Deploy"; -"Beta.Stack1.Prepare"; -"Build.Synth" -> "Beta.Stack1.Prepare"; -"BEGIN Beta.Stack1" -> "Beta.Stack1.Prepare"; +"Beta.Stack1.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Prepare-Beta-Stack1"; +"Build.Synth" -> "Beta.Stack1.Prepare-Beta-Stack1"; +"BEGIN Beta.Stack1" -> "Beta.Stack1.Prepare-Beta-Stack1"; "Beta.Stack1.Deploy" -> "END Beta.Stack1"; "BEGIN Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Beta.Stack1" -> "BEGIN Beta.Stack2"; "Beta.Stack2.Deploy"; -"Beta.Stack2.Prepare" -> "Beta.Stack2.Deploy"; -"Beta.Stack2.Prepare"; -"Build.Synth" -> "Beta.Stack2.Prepare"; -"BEGIN Beta.Stack2" -> "Beta.Stack2.Prepare"; +"Beta.Stack2.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Prepare-Beta-Stack2"; +"Build.Synth" -> "Beta.Stack2.Prepare-Beta-Stack2"; +"BEGIN Beta.Stack2" -> "Beta.Stack2.Prepare-Beta-Stack2"; "Beta.Stack2.Deploy" -> "END Beta.Stack2"; "BEGIN Beta" -> "BEGIN Beta.Stack1"; "END Beta.Stack2" -> "END Beta"; @@ -47,19 +49,21 @@ digraph G { "BEGIN Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave1.Prod1.Stack1.Deploy"; -"Wave1.Prod1.Stack1.Prepare" -> "Wave1.Prod1.Stack1.Deploy"; -"Wave1.Prod1.Stack1.Prepare"; -"Build.Synth" -> "Wave1.Prod1.Stack1.Prepare"; -"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Prepare"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; +"Build.Synth" -> "Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; +"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Prepare-Prod1-Stack1"; "Wave1.Prod1.Stack1.Deploy" -> "END Wave1.Prod1.Stack1"; "BEGIN Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod1.Stack1" -> "BEGIN Wave1.Prod1.Stack2"; "Wave1.Prod1.Stack2.Deploy"; -"Wave1.Prod1.Stack2.Prepare" -> "Wave1.Prod1.Stack2.Deploy"; -"Wave1.Prod1.Stack2.Prepare"; -"Build.Synth" -> "Wave1.Prod1.Stack2.Prepare"; -"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Prepare"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; +"Build.Synth" -> "Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; +"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Prepare-Prod1-Stack2"; "Wave1.Prod1.Stack2.Deploy" -> "END Wave1.Prod1.Stack2"; "BEGIN Wave1.Prod1" -> "BEGIN Wave1.Prod1.Stack1"; "END Wave1.Prod1.Stack2" -> "END Wave1.Prod1"; @@ -68,19 +72,21 @@ digraph G { "BEGIN Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave1.Prod2.Stack1.Deploy"; -"Wave1.Prod2.Stack1.Prepare" -> "Wave1.Prod2.Stack1.Deploy"; -"Wave1.Prod2.Stack1.Prepare"; -"Build.Synth" -> "Wave1.Prod2.Stack1.Prepare"; -"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Prepare"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; +"Build.Synth" -> "Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Prepare-Prod2-Stack1"; "Wave1.Prod2.Stack1.Deploy" -> "END Wave1.Prod2.Stack1"; "BEGIN Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave1.Prod2.Stack1" -> "BEGIN Wave1.Prod2.Stack2"; "Wave1.Prod2.Stack2.Deploy"; -"Wave1.Prod2.Stack2.Prepare" -> "Wave1.Prod2.Stack2.Deploy"; -"Wave1.Prod2.Stack2.Prepare"; -"Build.Synth" -> "Wave1.Prod2.Stack2.Prepare"; -"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Prepare"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; +"Build.Synth" -> "Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; +"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Prepare-Prod2-Stack2"; "Wave1.Prod2.Stack2.Deploy" -> "END Wave1.Prod2.Stack2"; "BEGIN Wave1.Prod2" -> "BEGIN Wave1.Prod2.Stack1"; "END Wave1.Prod2.Stack2" -> "END Wave1.Prod2"; @@ -97,19 +103,21 @@ digraph G { "BEGIN Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod3.Stack1.Deploy"; -"Wave2.Prod3.Stack1.Prepare" -> "Wave2.Prod3.Stack1.Deploy"; -"Wave2.Prod3.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod3.Stack1.Prepare"; -"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Prepare"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; +"Build.Synth" -> "Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; +"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Prepare-Prod3-Stack1"; "Wave2.Prod3.Stack1.Deploy" -> "END Wave2.Prod3.Stack1"; "BEGIN Wave2.Prod3.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod3.Stack1" -> "BEGIN Wave2.Prod3.Stack2"; "Wave2.Prod3.Stack2.Deploy"; -"Wave2.Prod3.Stack2.Prepare" -> "Wave2.Prod3.Stack2.Deploy"; -"Wave2.Prod3.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod3.Stack2.Prepare"; -"BEGIN Wave2.Prod3.Stack2" -> "Wave2.Prod3.Stack2.Prepare"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2" -> "Wave2.Prod3.Stack2.Deploy"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2" -> "Wave2.Prod3.Stack2.Deploy"; +"Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; +"Build.Synth" -> "Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; +"BEGIN Wave2.Prod3.Stack2" -> "Wave2.Prod3.Stack2.Prepare-Prod3-Stack2"; "Wave2.Prod3.Stack2.Deploy" -> "END Wave2.Prod3.Stack2"; "BEGIN Wave2.Prod3" -> "BEGIN Wave2.Prod3.Stack1"; "END Wave2.Prod3.Stack2" -> "END Wave2.Prod3"; @@ -118,19 +126,21 @@ digraph G { "BEGIN Wave2.Prod4.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod4.Stack1.Deploy"; -"Wave2.Prod4.Stack1.Prepare" -> "Wave2.Prod4.Stack1.Deploy"; -"Wave2.Prod4.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod4.Stack1.Prepare"; -"BEGIN Wave2.Prod4.Stack1" -> "Wave2.Prod4.Stack1.Prepare"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1" -> "Wave2.Prod4.Stack1.Deploy"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1" -> "Wave2.Prod4.Stack1.Deploy"; +"Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; +"Build.Synth" -> "Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; +"BEGIN Wave2.Prod4.Stack1" -> "Wave2.Prod4.Stack1.Prepare-Prod4-Stack1"; "Wave2.Prod4.Stack1.Deploy" -> "END Wave2.Prod4.Stack1"; "BEGIN Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod4.Stack1" -> "BEGIN Wave2.Prod4.Stack2"; "Wave2.Prod4.Stack2.Deploy"; -"Wave2.Prod4.Stack2.Prepare" -> "Wave2.Prod4.Stack2.Deploy"; -"Wave2.Prod4.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod4.Stack2.Prepare"; -"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Prepare"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; +"Build.Synth" -> "Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; +"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Prepare-Prod4-Stack2"; "Wave2.Prod4.Stack2.Deploy" -> "END Wave2.Prod4.Stack2"; "BEGIN Wave2.Prod4" -> "BEGIN Wave2.Prod4.Stack1"; "END Wave2.Prod4.Stack2" -> "END Wave2.Prod4"; @@ -139,19 +149,21 @@ digraph G { "BEGIN Wave2.Prod5.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod5.Stack1.Deploy"; -"Wave2.Prod5.Stack1.Prepare" -> "Wave2.Prod5.Stack1.Deploy"; -"Wave2.Prod5.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod5.Stack1.Prepare"; -"BEGIN Wave2.Prod5.Stack1" -> "Wave2.Prod5.Stack1.Prepare"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1" -> "Wave2.Prod5.Stack1.Deploy"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1" -> "Wave2.Prod5.Stack1.Deploy"; +"Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; +"Build.Synth" -> "Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; +"BEGIN Wave2.Prod5.Stack1" -> "Wave2.Prod5.Stack1.Prepare-Prod5-Stack1"; "Wave2.Prod5.Stack1.Deploy" -> "END Wave2.Prod5.Stack1"; "BEGIN Wave2.Prod5.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod5.Stack1" -> "BEGIN Wave2.Prod5.Stack2"; "Wave2.Prod5.Stack2.Deploy"; -"Wave2.Prod5.Stack2.Prepare" -> "Wave2.Prod5.Stack2.Deploy"; -"Wave2.Prod5.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod5.Stack2.Prepare"; -"BEGIN Wave2.Prod5.Stack2" -> "Wave2.Prod5.Stack2.Prepare"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2" -> "Wave2.Prod5.Stack2.Deploy"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2" -> "Wave2.Prod5.Stack2.Deploy"; +"Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; +"Build.Synth" -> "Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; +"BEGIN Wave2.Prod5.Stack2" -> "Wave2.Prod5.Stack2.Prepare-Prod5-Stack2"; "Wave2.Prod5.Stack2.Deploy" -> "END Wave2.Prod5.Stack2"; "BEGIN Wave2.Prod5" -> "BEGIN Wave2.Prod5.Stack1"; "END Wave2.Prod5.Stack2" -> "END Wave2.Prod5"; @@ -160,19 +172,21 @@ digraph G { "BEGIN Wave2.Prod6.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; "Wave2.Prod6.Stack1.Deploy"; -"Wave2.Prod6.Stack1.Prepare" -> "Wave2.Prod6.Stack1.Deploy"; -"Wave2.Prod6.Stack1.Prepare"; -"Build.Synth" -> "Wave2.Prod6.Stack1.Prepare"; -"BEGIN Wave2.Prod6.Stack1" -> "Wave2.Prod6.Stack1.Prepare"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1" -> "Wave2.Prod6.Stack1.Deploy"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1" -> "Wave2.Prod6.Stack1.Deploy"; +"Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; +"Build.Synth" -> "Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; +"BEGIN Wave2.Prod6.Stack1" -> "Wave2.Prod6.Stack1.Prepare-Prod6-Stack1"; "Wave2.Prod6.Stack1.Deploy" -> "END Wave2.Prod6.Stack1"; "BEGIN Wave2.Prod6.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Wave2.Prod6.Stack1" -> "BEGIN Wave2.Prod6.Stack2"; "Wave2.Prod6.Stack2.Deploy"; -"Wave2.Prod6.Stack2.Prepare" -> "Wave2.Prod6.Stack2.Deploy"; -"Wave2.Prod6.Stack2.Prepare"; -"Build.Synth" -> "Wave2.Prod6.Stack2.Prepare"; -"BEGIN Wave2.Prod6.Stack2" -> "Wave2.Prod6.Stack2.Prepare"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2" -> "Wave2.Prod6.Stack2.Deploy"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2" -> "Wave2.Prod6.Stack2.Deploy"; +"Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; +"Build.Synth" -> "Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; +"BEGIN Wave2.Prod6.Stack2" -> "Wave2.Prod6.Stack2.Prepare-Prod6-Stack2"; "Wave2.Prod6.Stack2.Deploy" -> "END Wave2.Prod6.Stack2"; "BEGIN Wave2.Prod6" -> "BEGIN Wave2.Prod6.Stack1"; "END Wave2.Prod6.Stack2" -> "END Wave2.Prod6"; @@ -186,7 +200,7 @@ digraph G { "END Wave2.Prod6" -> "END Wave2"; "BEGIN Source" [shape="cds", style="filled", fillcolor="#b7deff"]; "END Source" [shape="cds", style="filled", fillcolor="#b7deff"]; -"Source.rix0rrr/cdk-pipelines-demo"; -"BEGIN Source" -> "Source.rix0rrr/cdk-pipelines-demo"; -"Source.rix0rrr/cdk-pipelines-demo" -> "END Source"; +"Source.Nico-DB/aws-cdk"; +"BEGIN Source" -> "Source.Nico-DB/aws-cdk"; +"Source.Nico-DB/aws-cdk" -> "END Source"; } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/integ.json index 97241780c845b..cc6656bdab62d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/integ.json @@ -1,16 +1,12 @@ { "version": "31.0.0", "testCases": { - "integ.newpipeline": { + "Integ/DefaultTest": { "stacks": [ "PipelineStack" ], - "diffAssets": false, - "stackUpdateWorkflow": true + "assertionStack": "Integ/DefaultTest/DeployAssert", + "assertionStackName": "IntegDefaultTestDeployAssert4E6713E1" } - }, - "synthContext": { - "@aws-cdk/core:newStyleStackSynthesis": "true" - }, - "enableLookups": false + } } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/manifest.json index 2598182a9af67..806ed51b41ca8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/manifest.json @@ -66,7 +66,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/bb6adc0f7fd12a7b804a73ec5f746450c3851c82569c4ab7a6e604d6778df985.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/aad7095cbd9a10588db159d8324e8c2884ae6371e6e923fd6b665f9b9a3ccd70.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -112,10 +112,10 @@ "data": "Pipeline9850B417" } ], - "/PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo/WebhookResource": [ + "/PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource": [ { "type": "aws:cdk:logicalId", - "data": "PipelineSourcerix0rrrcdkpipelinesdemoWebhookResourceDB0C1BCA" + "data": "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4" } ], "/PipelineStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/Resource": [ @@ -181,6 +181,53 @@ }, "displayName": "PipelineStack" }, + "IntegDefaultTestDeployAssert4E6713E1.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "IntegDefaultTestDeployAssert4E6713E1.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "IntegDefaultTestDeployAssert4E6713E1": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "metadata": { + "/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "Integ/DefaultTest/DeployAssert" + }, "Tree": { "type": "cdk:tree", "properties": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/tree.json index a3655698c41fd..86cb40f10f202 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.js.snapshot/tree.json @@ -340,10 +340,10 @@ "name": "Source", "actions": [ { - "name": "rix0rrr_cdk-pipelines-demo", + "name": "Nico-DB_aws-cdk", "outputArtifacts": [ { - "name": "rix0rrr_cdk_pipelines_demo_Source" + "name": "Nico_DB_aws_cdk_Source" } ], "actionTypeId": { @@ -353,8 +353,8 @@ "provider": "GitHub" }, "configuration": { - "Owner": "rix0rrr", - "Repo": "cdk-pipelines-demo", + "Owner": "Nico-DB", + "Repo": "aws-cdk", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false @@ -370,7 +370,7 @@ "name": "Synth", "inputArtifacts": [ { - "name": "rix0rrr_cdk_pipelines_demo_Source" + "name": "Nico_DB_aws_cdk_Source" } ], "outputArtifacts": [ @@ -436,7 +436,7 @@ "name": "Beta", "actions": [ { - "name": "Stack1.Prepare", + "name": "Stack1.Prepare-Beta-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -542,7 +542,7 @@ } }, { - "name": "Stack2.Prepare", + "name": "Stack2.Prepare-Beta-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -653,7 +653,7 @@ "name": "Wave1", "actions": [ { - "name": "Prod1.Stack1.Prepare", + "name": "Prod1.Stack1.Prepare-Prod1-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -721,7 +721,7 @@ } }, { - "name": "Prod2.Stack1.Prepare", + "name": "Prod2.Stack1.Prepare-Prod2-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -865,7 +865,7 @@ } }, { - "name": "Prod1.Stack2.Prepare", + "name": "Prod1.Stack2.Prepare-Prod1-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -933,7 +933,7 @@ } }, { - "name": "Prod2.Stack2.Prepare", + "name": "Prod2.Stack2.Prepare-Prod2-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1082,7 +1082,7 @@ "name": "Wave2", "actions": [ { - "name": "Prod3.Stack1.Prepare", + "name": "Prod3.Stack1.Prepare-Prod3-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1150,7 +1150,7 @@ } }, { - "name": "Prod4.Stack1.Prepare", + "name": "Prod4.Stack1.Prepare-Prod4-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1218,7 +1218,7 @@ } }, { - "name": "Prod5.Stack1.Prepare", + "name": "Prod5.Stack1.Prepare-Prod5-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1286,7 +1286,7 @@ } }, { - "name": "Prod6.Stack1.Prepare", + "name": "Prod6.Stack1.Prepare-Prod6-Stack1", "inputArtifacts": [ { "name": "Synth_Output" @@ -1506,7 +1506,7 @@ } }, { - "name": "Prod3.Stack2.Prepare", + "name": "Prod3.Stack2.Prepare-Prod3-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1574,7 +1574,7 @@ } }, { - "name": "Prod4.Stack2.Prepare", + "name": "Prod4.Stack2.Prepare-Prod4-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1642,7 +1642,7 @@ } }, { - "name": "Prod5.Stack2.Prepare", + "name": "Prod5.Stack2.Prepare-Prod5-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1710,7 +1710,7 @@ } }, { - "name": "Prod6.Stack2.Prepare", + "name": "Prod6.Stack2.Prepare-Prod6-Stack2", "inputArtifacts": [ { "name": "Synth_Output" @@ -1950,13 +1950,13 @@ "id": "Source", "path": "PipelineStack/Pipeline/Pipeline/Source", "children": { - "rix0rrr_cdk-pipelines-demo": { - "id": "rix0rrr_cdk-pipelines-demo", - "path": "PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo", + "Nico-DB_aws-cdk": { + "id": "Nico-DB_aws-cdk", + "path": "PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk", "children": { "WebhookResource": { "id": "WebhookResource", - "path": "PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo/WebhookResource", + "path": "PipelineStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource", "attributes": { "aws:cdk:cloudformation:type": "AWS::CodePipeline::Webhook", "aws:cdk:cloudformation:props": { @@ -1970,7 +1970,7 @@ "matchEquals": "refs/heads/{Branch}" } ], - "targetAction": "rix0rrr_cdk-pipelines-demo", + "targetAction": "Nico-DB_aws-cdk", "targetPipeline": { "Ref": "Pipeline9850B417" }, @@ -2290,9 +2290,9 @@ "id": "Beta", "path": "PipelineStack/Pipeline/Pipeline/Beta", "children": { - "Stack1.Prepare": { - "id": "Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Prepare", + "Stack1.Prepare-Beta-Stack1": { + "id": "Stack1.Prepare-Beta-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Prepare-Beta-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2306,9 +2306,9 @@ "version": "10.1.270" } }, - "Stack2.Prepare": { - "id": "Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Prepare", + "Stack2.Prepare-Beta-Stack2": { + "id": "Stack2.Prepare-Beta-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Prepare-Beta-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2374,17 +2374,17 @@ "id": "Wave1", "path": "PipelineStack/Pipeline/Pipeline/Wave1", "children": { - "Prod1.Stack1.Prepare": { - "id": "Prod1.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Prepare", + "Prod1.Stack1.Prepare-Prod1-Stack1": { + "id": "Prod1.Stack1.Prepare-Prod1-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Prepare-Prod1-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod2.Stack1.Prepare": { - "id": "Prod2.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Prepare", + "Prod2.Stack1.Prepare-Prod2-Stack1": { + "id": "Prod2.Stack1.Prepare-Prod2-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Prepare-Prod2-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2406,17 +2406,17 @@ "version": "10.1.270" } }, - "Prod1.Stack2.Prepare": { - "id": "Prod1.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Prepare", + "Prod1.Stack2.Prepare-Prod1-Stack2": { + "id": "Prod1.Stack2.Prepare-Prod1-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Prepare-Prod1-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod2.Stack2.Prepare": { - "id": "Prod2.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Prepare", + "Prod2.Stack2.Prepare-Prod2-Stack2": { + "id": "Prod2.Stack2.Prepare-Prod2-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Prepare-Prod2-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2448,33 +2448,33 @@ "id": "Wave2", "path": "PipelineStack/Pipeline/Pipeline/Wave2", "children": { - "Prod3.Stack1.Prepare": { - "id": "Prod3.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Prepare", + "Prod3.Stack1.Prepare-Prod3-Stack1": { + "id": "Prod3.Stack1.Prepare-Prod3-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Prepare-Prod3-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod4.Stack1.Prepare": { - "id": "Prod4.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Prepare", + "Prod4.Stack1.Prepare-Prod4-Stack1": { + "id": "Prod4.Stack1.Prepare-Prod4-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Prepare-Prod4-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod5.Stack1.Prepare": { - "id": "Prod5.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Prepare", + "Prod5.Stack1.Prepare-Prod5-Stack1": { + "id": "Prod5.Stack1.Prepare-Prod5-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Prepare-Prod5-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod6.Stack1.Prepare": { - "id": "Prod6.Stack1.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Prepare", + "Prod6.Stack1.Prepare-Prod6-Stack1": { + "id": "Prod6.Stack1.Prepare-Prod6-Stack1", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Prepare-Prod6-Stack1", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -2512,33 +2512,33 @@ "version": "10.1.270" } }, - "Prod3.Stack2.Prepare": { - "id": "Prod3.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Prepare", + "Prod3.Stack2.Prepare-Prod3-Stack2": { + "id": "Prod3.Stack2.Prepare-Prod3-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Prepare-Prod3-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod4.Stack2.Prepare": { - "id": "Prod4.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Prepare", + "Prod4.Stack2.Prepare-Prod4-Stack2": { + "id": "Prod4.Stack2.Prepare-Prod4-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Prepare-Prod4-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod5.Stack2.Prepare": { - "id": "Prod5.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Prepare", + "Prod5.Stack2.Prepare-Prod5-Stack2": { + "id": "Prod5.Stack2.Prepare-Prod5-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Prepare-Prod5-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" } }, - "Prod6.Stack2.Prepare": { - "id": "Prod6.Stack2.Prepare", - "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Prepare", + "Prod6.Stack2.Prepare-Prod6-Stack2": { + "id": "Prod6.Stack2.Prepare-Prod6-Stack2", + "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Prepare-Prod6-Stack2", "constructInfo": { "fqn": "constructs.Construct", "version": "10.1.270" @@ -3941,6 +3941,60 @@ "version": "0.0.0" } }, + "Integ": { + "id": "Integ", + "path": "Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, "Tree": { "id": "Tree", "path": "Tree", diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index 2555c77476987..097af35f694ce 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -1,95 +1,34 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +/// !cdk-integ PipelineStack pragma:set-context:@aws-cdk/core:newStyleStackSynthesis=true import { IntegTest } from '@aws-cdk/integ-tests-alpha'; -import * as cdk from 'aws-cdk-lib'; -import { App, Stage, StageProps } from 'aws-cdk-lib'; -import * as ec2 from 'aws-cdk-lib/aws-ec2'; -import * as kms from 'aws-cdk-lib/aws-kms'; -import * as logs from 'aws-cdk-lib/aws-logs'; -import * as s3 from 'aws-cdk-lib/aws-s3'; +import { App, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; -export class BaseStack extends cdk.Stack { - constructor(scope: Construct, id: string, props: cdk.StackProps) { - super(scope, id, props); - - const kmsKey = new kms.Key(this, 'KmsKey', { - - }); - ///////////////////////////////////////////////////////////////////////////////////// - /// ///////////////////////////////////////////// Exports /////////////////////////////////// - /// ///////////////////////////////////////////////////////////////////////////////////////// - - this.exportValue(kmsKey.keyArn, { - name: 'test-cdk-contribution', - }); - } -} -export class Base2Stack extends cdk.Stack { - constructor(scope: Construct, id: string, props: cdk.StackProps) { +class PipelineStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); - const KmsKey = kms.Key.fromKeyArn( - this, - 'KmsKey', - cdk.Fn.importValue('test-cdk-contribution'), - ); - new logs.LogGroup(this, 'logGroup', { - retention: logs.RetentionDays.ONE_MONTH, - removalPolicy: cdk.RemovalPolicy.DESTROY, - logGroupName: 'test-cdk-contribution', - encryptionKey: KmsKey, - }); - } -} - -export class TestCdkContributionStack extends cdk.Stack { - constructor(scope: Construct, id: string, props?: cdk.StackProps) { - super(scope, id, props); - const vpc = ec2.Vpc.fromVpcAttributes(this, 'vpc', { - availabilityZones: ['eu-central-1a', 'eu-central-1b', 'eu-central-1c'], - vpcId: cdk.Fn.importValue('VPC1-VPC-ID'), - privateSubnetIds: [ - cdk.Fn.importValue('VPC1-AZ1Subnet1'), - cdk.Fn.importValue('VPC1-AZ2Subnet1'), - cdk.Fn.importValue('VPC1-AZ3Subnet1'), - ], - privateSubnetRouteTableIds: [ - cdk.Fn.importValue('VPC1-RouteTableIDAZ1'), - cdk.Fn.importValue('VPC1-RouteTableIDAZ2'), - cdk.Fn.importValue('VPC1-RouteTableIDAZ3'), - ], - }); - const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.s3( - s3.Bucket.fromBucketName( - this, - 'SourceBucket-' + id, - '290582178775-gitsync', - ), - 'mobility-operations-experience/serviceteam/services/test-cdk-contribution/main/src/' + - 'mobility-operations-experience_serviceteam_services_test-cdk-contribution.zip', - ), + input: pipelines.CodePipelineSource.gitHub('Nico-DB/aws-cdk', 'main'), commands: ['npm ci', 'npm run build', 'npx cdk synth'], }), - pipelineName: 'test-cdk-contribution', - selfMutation: false, - synthCodeBuildDefaults: { - vpc: vpc, - }, - allPrepareNodesFirst: true, - }); - const group = pipeline.addWave('Wave1', { - postPrepare: [new pipelines.ManualApprovalStep('Approval2')], - }); + pipeline.addStage(new AppStage(this, 'Beta')); - // group.addStage(new AppStage2(this, 'Prod1'), {}); + const group = pipeline.addWave('Wave1'); + group.addStage(new AppStage(this, 'Prod1')); group.addStage(new AppStage(this, 'Prod2')); + const group2 = pipeline.addWave('Wave2'); + group2.addStage(new AppStage(this, 'Prod3')); + group2.addStage(new AppStage(this, 'Prod4')); + group2.addStage(new AppStage(this, 'Prod5')); + group2.addStage(new AppStage(this, 'Prod6')); } } @@ -97,53 +36,31 @@ class AppStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack1 = new BaseStack(this, 'Base2Stack', {}); - const stack2 = new Base2Stack(this, 'BaseStack', {}); - stack2.addDependency(stack1); + const stack1 = new Stack(this, 'Stack1'); + const queue1 = new sqs.Queue(stack1, 'Queue'); + + const stack2 = new Stack(this, 'Stack2'); + new sqs.Queue(stack2, 'OtherQueue', { + deadLetterQueue: { + queue: queue1, + maxReceiveCount: 5, + }, + }); } } -// class AppStage3 extends Stage { -// public readonly stack1: Stack; - -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// this.stack1 = new Stack(this, 'Stack1'); - -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage4 extends Stage { - -// public readonly stack2: Stack; -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); - -// // const q1=new sqs.Queue(this.stack1, 'Queue'); -// this.stack2 = new Stack(this, 'Stack2'); -// // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); -// } -// } -// class AppStage2 extends Stage { -// constructor(scope: Construct, id: string, props?: StageProps) { -// super(scope, id, props); -// new Base2Stack(this, 'BaseStack', {}); -// } -// } - const app = new App({ context: { '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); -const pipeStack = new TestCdkContributionStack( + +const pipeStack = new PipelineStack( app, - 'PipelineWithPostPrepareStack', + 'PipelineStack', ); new IntegTest(app, 'Integ', { testCases: [pipeStack], }); - -app.synth(); +app.synth(); \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-stack-outputs-in-custom-step.js.snapshot/StackOutputPipelineStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-stack-outputs-in-custom-step.js.snapshot/StackOutputPipelineStack.template.json index 278b6e213af73..6ec632e788572 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-stack-outputs-in-custom-step.js.snapshot/StackOutputPipelineStack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-stack-outputs-in-custom-step.js.snapshot/StackOutputPipelineStack.template.json @@ -379,7 +379,7 @@ "Name": "Synth_Output" } ], - "Name": "Stack.Prepare", + "Name": "Stack.Prepare-AppStage-Stack", "RoleArn": { "Fn::Join": [ "", diff --git a/yarn.lock b/yarn.lock index 008ef4a40af53..e754bf6995a5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,7 +4,7 @@ "@actions/core@^1.10.0": version "1.10.0" - resolved "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f" + resolved "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz" integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug== dependencies: "@actions/http-client" "^2.0.1" @@ -12,7 +12,7 @@ "@actions/github@^5.1.1": version "5.1.1" - resolved "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz#40b9b9e1323a5efcf4ff7dadd33d8ea51651bbcb" + resolved "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz" integrity sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g== dependencies: "@actions/http-client" "^2.0.1" @@ -22,14 +22,14 @@ "@actions/http-client@^2.0.1": version "2.1.0" - resolved "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz#b6d8c3934727d6a50d10d19f00a711a964599a9f" + resolved "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz" integrity sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw== dependencies: tunnel "^0.0.6" "@ampproject/remapping@^2.2.0": version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: "@jridgewell/gen-mapping" "^0.1.0" @@ -37,58 +37,53 @@ "@aws-cdk/asset-awscli-v1@^2.2.97": version "2.2.97" - resolved "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.97.tgz#af6fcefe7b9ddecc6656691bd0b4061f5c5eabf2" + resolved "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.97.tgz" integrity sha512-bWFkQphw1U7Q8XngShvGy0S1yqDui6q72zjnLciqKQ5ucZq17/TEujLTpSv+v2K5qJU8oa8VaMDiRyYbdPD6MA== "@aws-cdk/asset-kubectl-v20@^2.1.1": version "2.1.1" - resolved "https://registry.npmjs.org/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.1.tgz#d01c1efb867fb7f2cfd8c8b230b8eae16447e156" + resolved "https://registry.npmjs.org/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.1.tgz" integrity sha512-U1ntiX8XiMRRRH5J1IdC+1t5CE89015cwyt5U63Cpk0GnMlN5+h9WsWMlKlPXZR4rdq/m806JRlBMRpBUB2Dhw== "@aws-cdk/asset-node-proxy-agent-v5@^2.0.77": version "2.0.77" - resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.77.tgz#25ad8e416945c3a51881eedad3ee84516f23ecee" + resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.77.tgz" integrity sha512-KKrnyIujGN38yOb0MIm0EnB3n7z83NRl9VgKvN0flOyB8C+3Ey+XKxLYfjoXJ/BulB0161eBJXXwGdP8xQrQJw== "@aws-cdk/lambda-layer-kubectl-v24@^2.0.100": version "2.0.149" - resolved "https://registry.npmjs.org/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.149.tgz#d298c78a2595bc4aaf6a67484660d7092fa057da" + resolved "https://registry.npmjs.org/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.149.tgz" integrity sha512-qAGs7GkJopXTQgo220hLBGM9jTCaA32amGopKRxki/dbScVSyaCugqMRm6CFkW8lVTnjuQDyEJrA+1pfdR9vuw== "@babel/code-frame@7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" "@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.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" "@babel/code-frame@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - "@babel/compat-data@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz" integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== -"@babel/core@^7.11.6": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz" integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== dependencies: "@ampproject/remapping" "^2.2.0" @@ -107,30 +102,9 @@ json5 "^2.2.2" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.0" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.0" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": +"@babel/generator@^7.21.1", "@babel/generator@^7.7.2": version "7.21.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz" integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== dependencies: "@babel/types" "^7.21.0" @@ -140,7 +114,7 @@ "@babel/generator@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz" integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== dependencies: "@babel/types" "^7.21.4" @@ -148,20 +122,9 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - "@babel/helper-compilation-targets@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz" integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== dependencies: "@babel/compat-data" "^7.21.4" @@ -172,12 +135,12 @@ "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-function-name@^7.21.0": version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: "@babel/template" "^7.20.7" @@ -185,21 +148,21 @@ "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-imports@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": +"@babel/helper-module-transforms@^7.21.2": version "7.21.2" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -213,41 +176,41 @@ "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== "@babel/helper-simple-access@^7.20.2": version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.19.4": version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": +"@babel/helper-validator-option@^7.21.0": version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== "@babel/helpers@^7.21.0": version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== dependencies: "@babel/template" "^7.20.7" @@ -256,124 +219,124 @@ "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.2": version "7.21.2" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz" integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== "@babel/parser@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz" integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz" integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/template@^7.20.7", "@babel/template@^7.3.3": version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" @@ -382,7 +345,7 @@ "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": version "7.21.2" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz" integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== dependencies: "@babel/code-frame" "^7.18.6" @@ -398,7 +361,7 @@ "@babel/traverse@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz" integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== dependencies: "@babel/code-frame" "^7.21.4" @@ -414,7 +377,7 @@ "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.21.2" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz" integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== dependencies: "@babel/helper-string-parser" "^7.19.4" @@ -423,7 +386,7 @@ "@babel/types@^7.21.4": version "7.21.4" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz" integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== dependencies: "@babel/helper-string-parser" "^7.19.4" @@ -432,22 +395,22 @@ "@balena/dockerignore@^1.0.2": version "1.0.2" - resolved "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + resolved "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz" integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@colors/colors@1.5.0": version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" @@ -469,7 +432,7 @@ "@esbuild/darwin-arm64@0.17.11": version "0.17.11" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.11.tgz#0e8c78d94d5759a48521dbfd83189d2ed3499a16" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.11.tgz" integrity sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw== "@esbuild/darwin-x64@0.17.11": @@ -564,7 +527,7 @@ "@eslint/eslintrc@^0.4.3": version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" @@ -579,7 +542,7 @@ "@eslint/eslintrc@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz" integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== dependencies: ajv "^6.12.4" @@ -594,17 +557,17 @@ "@eslint/js@8.35.0": version "8.35.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz" integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== "@gar/promisify@^1.1.3": version "1.1.3" - resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" @@ -613,7 +576,7 @@ "@humanwhocodes/config-array@^0.5.0": version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" @@ -622,32 +585,32 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" - resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== "@iarna/toml@^2.2.5": version "2.2.5" - resolved "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" + resolved "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== "@isaacs/string-locale-compare@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + resolved "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz" integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -658,12 +621,12 @@ "@istanbuljs/schema@^0.1.2": version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz#593a6c5c0d3f75689835f1b3b4688c4f8544cb57" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz" integrity sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ== dependencies: "@jest/types" "^29.5.0" @@ -675,7 +638,7 @@ "@jest/core@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz#76674b96904484e8214614d17261cc491e5f1f03" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz" integrity sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ== dependencies: "@jest/console" "^29.5.0" @@ -709,7 +672,7 @@ "@jest/environment@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz#9152d56317c1fdb1af389c46640ba74ef0bb4c65" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz" integrity sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ== dependencies: "@jest/fake-timers" "^29.5.0" @@ -719,14 +682,14 @@ "@jest/expect-utils@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz" integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== dependencies: jest-get-type "^29.4.3" "@jest/expect@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz#80952f5316b23c483fbca4363ce822af79c38fba" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz" integrity sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g== dependencies: expect "^29.5.0" @@ -734,7 +697,7 @@ "@jest/fake-timers@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz#d4d09ec3286b3d90c60bdcd66ed28d35f1b4dc2c" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz" integrity sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg== dependencies: "@jest/types" "^29.5.0" @@ -746,7 +709,7 @@ "@jest/globals@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz#6166c0bfc374c58268677539d0c181f9c1833298" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz" integrity sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ== dependencies: "@jest/environment" "^29.5.0" @@ -756,7 +719,7 @@ "@jest/reporters@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz#985dfd91290cd78ddae4914ba7921bcbabe8ac9b" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz" integrity sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -786,14 +749,14 @@ "@jest/schemas@^29.4.3": version "29.4.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz" integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: "@sinclair/typebox" "^0.25.16" "@jest/source-map@^29.4.3": version "29.4.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz" integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== dependencies: "@jridgewell/trace-mapping" "^0.3.15" @@ -802,7 +765,7 @@ "@jest/test-result@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz#7c856a6ca84f45cc36926a4e9c6b57f1973f1408" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz" integrity sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ== dependencies: "@jest/console" "^29.5.0" @@ -812,7 +775,7 @@ "@jest/test-sequencer@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz#34d7d82d3081abd523dbddc038a3ddcb9f6d3cc4" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz" integrity sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ== dependencies: "@jest/test-result" "^29.5.0" @@ -822,7 +785,7 @@ "@jest/transform@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz" integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw== dependencies: "@babel/core" "^7.11.6" @@ -843,7 +806,7 @@ "@jest/types@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz" integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== dependencies: "@jest/schemas" "^29.4.3" @@ -855,7 +818,7 @@ "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: "@jridgewell/set-array" "^1.0.0" @@ -863,7 +826,7 @@ "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -872,22 +835,22 @@ "@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" @@ -895,7 +858,7 @@ "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15": version "0.3.18" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== dependencies: "@jridgewell/resolve-uri" "3.1.0" @@ -903,7 +866,7 @@ "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: "@jridgewell/resolve-uri" "3.1.0" @@ -911,23 +874,15 @@ "@jsii/check-node@1.77.0": version "1.77.0" - resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.77.0.tgz#46e0e4201f5006cef0c5d11a1ce4b00b6ce27801" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.77.0.tgz" integrity sha512-kgq4h5SrpIuM9CZ6uZVZ9KrJCPSn6zwz4y60ZEIFMA5aqkBN1n7MhTJglG6I8IaL2uYm7P5kZf6+eGNI+n3tig== dependencies: chalk "^4.1.2" semver "^7.3.8" -"@jsii/check-node@1.78.0": - version "1.78.0" - resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.78.0.tgz#ba9a64d7d0a7127bb3360079ee6a246d08d92a38" - integrity sha512-Wojj9q+PA4pCsejkBtdFOKu/HJ6TzTekKqeNK0UgUMKNkVbmA7CG3tSu3f8MskunwtujPXBHrAR80V+AuKC/cw== - dependencies: - chalk "^4.1.2" - semver "^7.3.8" - "@jsii/check-node@1.78.1": version "1.78.1" - resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.78.1.tgz#3023d13d3b7077a3e764d7d34dd70671be1052d0" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.78.1.tgz" integrity sha512-6RpspvYHrvay5RreRWDabLK6YC+S4CBJesFLFrV/5EcVDS//cYEANJpAdhrL1gaICCCFWdU04vraw22MTSFh9g== dependencies: chalk "^4.1.2" @@ -935,43 +890,51 @@ "@jsii/check-node@1.79.0": version "1.79.0" - resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.79.0.tgz#802fb9db739a805dffd87acc44c3f534c554ad6d" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.79.0.tgz" integrity sha512-CQk5RtaFqbWAWcV35ciVqdLT7NnPPjYeRPnlD3KY7bkYhvYC7z2kcmRpTycGBRk7NS7Plr3l+4i02gjCzr59eA== dependencies: chalk "^4.1.2" semver "^7.3.8" +"@jsii/check-node@1.84.0": + version "1.84.0" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.84.0.tgz#cbed3a116b141e8dbef198dc161088bca603de0a" + integrity sha512-gLa+N1WKksCjTXaK8VMjTbEXf58QlrDOovoTOEzhGNgTFyAUX8woIRAUmk+X70ssDzBvgh3E98mIsDKoWOp6zA== + dependencies: + chalk "^4.1.2" + semver "^7.5.1" + "@jsii/spec@1.77.0": version "1.77.0" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.77.0.tgz#2ee31c32e26d61880e422a546a62296c6543bff9" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.77.0.tgz" integrity sha512-QmwXRREX8W1YOdKHbfu+Tw0rygdCJ2AYcKt7iu56Is2giQ9doyRLKvzywXoKxJjZtj9E7Sp0GdDob8pl8cwmlg== dependencies: ajv "^8.12.0" -"@jsii/spec@1.78.1", "@jsii/spec@^1.78.1": +"@jsii/spec@1.78.1", "@jsii/spec@^1.77.0", "@jsii/spec@^1.78.1": version "1.78.1" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.78.1.tgz#e4c4dd8b7a39a5c6381cd33b170ad40301a757c6" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.78.1.tgz" integrity sha512-pp8R/ihRX/9KrKBnLO9naLVZsyF3K30Ibzd8nUK1fzDu3QV5FhVoGVRCspoB0U10TJAsxxaI0HL0dk5qpGPzKQ== dependencies: ajv "^8.12.0" -"@jsii/spec@^1.77.0", "@jsii/spec@^1.78.0": - version "1.78.0" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.78.0.tgz#eabf5168c15a23f5fb20fa8a6e301358fc0efe06" - integrity sha512-5WJ11q5UYujE2z/Z8DSOEdzZiUUIXopRje6Of4LBWf/99a3XdxDgM8M10hYxwpunLh5XMrWRdHnxWbacWpzdCw== - dependencies: - ajv "^8.12.0" - "@jsii/spec@^1.79.0": version "1.79.0" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.79.0.tgz#0fc9d9dfda05c85cf67295a5b7d6e438128e74d1" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.79.0.tgz" integrity sha512-ZmHObap/rOSjvoeqTmQOYrxm26vRftYepAmtd7yVwnNu/3tbwXcdSQMs/2rjaMsn6H3pmDwn048g3lUtYszzaw== dependencies: ajv "^8.12.0" +"@jsii/spec@^1.84.0": + version "1.84.0" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.84.0.tgz#75f86e819999a5ee7b1430b274bf88459085bfc2" + integrity sha512-P2PCE4jlmuTh5Oj7Be2jdn5qyzIWHX4rcyYspddc0DLZAuLB/LRQYytrxgfdy4+NroGhrPeKPBoF9MwJ5CzfXA== + dependencies: + ajv "^8.12.0" + "@lerna/child-process@6.6.1": version "6.6.1" - resolved "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.6.1.tgz#e31bc411ad6d474cf7b676904da6f77f58fd64eb" + resolved "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.6.1.tgz" integrity sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ== dependencies: chalk "^4.1.0" @@ -980,7 +943,7 @@ "@lerna/create@6.6.1": version "6.6.1" - resolved "https://registry.npmjs.org/@lerna/create/-/create-6.6.1.tgz#fc20f09e10b612d424a576775ad6eefe6aa96517" + resolved "https://registry.npmjs.org/@lerna/create/-/create-6.6.1.tgz" integrity sha512-GDmHFhQ0mr0RcXWXrsLyfMV6ch/dZV/Ped1e6sFVQhsLL9P+FFXX1ZWxa/dQQ90VWF2qWcmK0+S/L3kUz2xvTA== dependencies: "@lerna/child-process" "6.6.1" @@ -999,7 +962,7 @@ "@lerna/legacy-package-management@6.6.1": version "6.6.1" - resolved "https://registry.npmjs.org/@lerna/legacy-package-management/-/legacy-package-management-6.6.1.tgz#1f44af40098b9396a4f698514ff2b87016b1ee3d" + resolved "https://registry.npmjs.org/@lerna/legacy-package-management/-/legacy-package-management-6.6.1.tgz" integrity sha512-0EYxSFr34VgeudA5rvjGJSY7s4seITMVB7AJ9LRFv9QDUk6jpvapV13ZAaKnhDTxX5vNCfnJuWHXXWq0KyPF/Q== dependencies: "@npmcli/arborist" "6.2.3" @@ -1067,7 +1030,7 @@ "@lerna/package@4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" + resolved "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz" integrity sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q== dependencies: load-json-file "^6.2.0" @@ -1076,7 +1039,7 @@ "@lerna/project@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" + resolved "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz" integrity sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg== dependencies: "@lerna/package" "4.0.0" @@ -1094,14 +1057,14 @@ "@lerna/validation-error@4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" + resolved "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz" integrity sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw== dependencies: npmlog "^4.1.2" "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1109,12 +1072,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -1122,7 +1085,7 @@ "@npmcli/arborist@6.2.3": version "6.2.3" - resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-6.2.3.tgz#31f8aed2588341864d3811151d929c01308f8e71" + resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-6.2.3.tgz" integrity sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" @@ -1161,7 +1124,7 @@ "@npmcli/arborist@^5.6.3": version "5.6.3" - resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" + resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.6.3.tgz" integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" @@ -1204,12 +1167,12 @@ "@npmcli/ci-detect@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" + resolved "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz" integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== "@npmcli/config@^4.2.1": version "4.2.2" - resolved "https://registry.npmjs.org/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" + resolved "https://registry.npmjs.org/@npmcli/config/-/config-4.2.2.tgz" integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== dependencies: "@npmcli/map-workspaces" "^2.0.2" @@ -1223,14 +1186,14 @@ "@npmcli/disparity-colors@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" + resolved "https://registry.npmjs.org/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz" integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== dependencies: ansi-styles "^4.3.0" "@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": version "2.1.2" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz" integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== dependencies: "@gar/promisify" "^1.1.3" @@ -1238,14 +1201,14 @@ "@npmcli/fs@^3.1.0": version "3.1.0" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz" integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== dependencies: semver "^7.3.5" "@npmcli/git@^3.0.0": version "3.0.2" - resolved "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz" integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== dependencies: "@npmcli/promise-spawn" "^3.0.0" @@ -1260,7 +1223,7 @@ "@npmcli/git@^4.0.0": version "4.0.4" - resolved "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz#cdf74f21b1d440c0756fb28159d935129d9daa33" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz" integrity sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg== dependencies: "@npmcli/promise-spawn" "^6.0.0" @@ -1274,7 +1237,7 @@ "@npmcli/installed-package-contents@^1.0.7": version "1.0.7" - resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== dependencies: npm-bundled "^1.1.1" @@ -1282,7 +1245,7 @@ "@npmcli/installed-package-contents@^2.0.0", "@npmcli/installed-package-contents@^2.0.1": version "2.0.2" - resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz" integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== dependencies: npm-bundled "^3.0.0" @@ -1290,7 +1253,7 @@ "@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": version "2.0.4" - resolved "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + resolved "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz" integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== dependencies: "@npmcli/name-from-folder" "^1.0.1" @@ -1300,7 +1263,7 @@ "@npmcli/map-workspaces@^3.0.2": version "3.0.3" - resolved "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.3.tgz#476944b63cd1f65bf83c6fdc7f4ca7be56906b1f" + resolved "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.3.tgz" integrity sha512-HlCvFuTzw4UNoKyZdqiNrln+qMF71QJkxy2dsusV8QQdoa89e2TF4dATCzBxbl4zzRzdDoWWyP5ADVrNAH9cRQ== dependencies: "@npmcli/name-from-folder" "^2.0.0" @@ -1310,7 +1273,7 @@ "@npmcli/metavuln-calculator@^3.0.1": version "3.1.1" - resolved "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + resolved "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz" integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== dependencies: cacache "^16.0.0" @@ -1320,7 +1283,7 @@ "@npmcli/metavuln-calculator@^5.0.0": version "5.0.0" - resolved "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.0.tgz#917c3be49ebed0b424b07f38060b929127e4c499" + resolved "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.0.tgz" integrity sha512-BBFQx4M12wiEuVwCgtX/Depx0B/+NHMwDWOlXT41/Pdy5W/1Fenk+hibUlMSrFWwASbX+fY90UbILAEIYH02/A== dependencies: cacache "^17.0.0" @@ -1330,7 +1293,7 @@ "@npmcli/move-file@^2.0.0": version "2.0.1" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz" integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== dependencies: mkdirp "^1.0.4" @@ -1338,55 +1301,55 @@ "@npmcli/name-from-folder@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + resolved "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz" integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== "@npmcli/name-from-folder@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" + resolved "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz" integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== "@npmcli/node-gyp@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz" integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== "@npmcli/node-gyp@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz" integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== "@npmcli/package-json@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz" integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== dependencies: json-parse-even-better-errors "^2.3.1" "@npmcli/package-json@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.0.0.tgz#c9219a197e1be8dbf43c4ef8767a72277c0533b6" + resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.0.0.tgz" integrity sha512-NnuPuM97xfiCpbTEJYtEuKz6CFbpUHtaT0+5via5pQeI25omvQDFbp1GcGJ/c4zvL/WX0qbde6YiLgfZbWFgvg== dependencies: json-parse-even-better-errors "^3.0.0" "@npmcli/promise-spawn@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz" integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== dependencies: infer-owner "^1.0.4" "@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": version "6.0.2" - resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz" integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== dependencies: which "^3.0.0" "@npmcli/query@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" + resolved "https://registry.npmjs.org/@npmcli/query/-/query-1.2.0.tgz" integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== dependencies: npm-package-arg "^9.1.0" @@ -1395,14 +1358,14 @@ "@npmcli/query@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@npmcli/query/-/query-3.0.0.tgz#51a0dfb85811e04f244171f164b6bc83b36113a7" + resolved "https://registry.npmjs.org/@npmcli/query/-/query-3.0.0.tgz" integrity sha512-MFNDSJNgsLZIEBVZ0Q9w9K7o07j5N4o4yjtdz2uEpuCZlXGMuPENiRaFYk0vRqAA64qVuUQwC05g27fRtfUgnA== dependencies: postcss-selector-parser "^6.0.10" "@npmcli/run-script@4.1.7": version "4.1.7" - resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz" integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw== dependencies: "@npmcli/node-gyp" "^2.0.0" @@ -1413,7 +1376,7 @@ "@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": version "4.2.1" - resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz" integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== dependencies: "@npmcli/node-gyp" "^2.0.0" @@ -1424,7 +1387,7 @@ "@npmcli/run-script@^6.0.0": version "6.0.0" - resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz#f89e322c729e26ae29db6cc8cc76559074aac208" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz" integrity sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ== dependencies: "@npmcli/node-gyp" "^3.0.0" @@ -1435,14 +1398,14 @@ "@nrwl/cli@15.9.1", "@nrwl/cli@^15.9.1": version "15.9.1" - resolved "https://registry.npmjs.org/@nrwl/cli/-/cli-15.9.1.tgz#4724f83c2286486fd416b169a1af73055af6aa65" + resolved "https://registry.npmjs.org/@nrwl/cli/-/cli-15.9.1.tgz" integrity sha512-zyMDiMxPhOGKmq9ivY6mV29pOsRCERKjBRfEYbFuqslxP1RNe9uiMxPUf9Gqm5VwxqKleKkwz92BMvO2Qbk+fA== dependencies: nx "15.9.1" "@nrwl/devkit@15.9.1", "@nrwl/devkit@>=15.5.2 < 16": version "15.9.1" - resolved "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.9.1.tgz#c8c5fd52e4626f5ea9bd0d8de936ae7c868ef936" + resolved "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.9.1.tgz" integrity sha512-vEfmKoPnEbDmsvMto/ap4z2demcSJad3OyKPUBBpWJs4Hkxv/qg/XJUwoGZhKU/izVuO2FE1kMp9R5/8xV6WMQ== dependencies: ejs "^3.1.7" @@ -1453,7 +1416,7 @@ "@nrwl/nx-darwin-arm64@15.9.1": version "15.9.1" - resolved "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.1.tgz#ea27ec667e9237689b7f778d3116fcaa51a743f2" + resolved "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.1.tgz" integrity sha512-rwVQ+uxP12Bhltkawc2B7bKxh6RZR5S5Y8kKkxSx57wFniOslEqLr/s3XpTTceJUoKk5ZynGY/98HCG3FUqGyg== "@nrwl/nx-darwin-x64@15.9.1": @@ -1498,14 +1461,14 @@ "@nrwl/tao@15.9.1": version "15.9.1" - resolved "https://registry.npmjs.org/@nrwl/tao/-/tao-15.9.1.tgz#b276eb57fb40263659dc211302ee3b24601341fc" + resolved "https://registry.npmjs.org/@nrwl/tao/-/tao-15.9.1.tgz" integrity sha512-gb21eJ3VrZdUpg4MQ4rmOfLy+omHiXCEvWWFGYvFSxXGVeNaLzlvQ/+OOK0B/d0KTCuXKCgvVKJ3jobd+4s02A== dependencies: nx "15.9.1" "@nrwl/workspace@^15.9.1": version "15.9.1" - resolved "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.9.1.tgz#c91896a83269cb72c1696f5f64a1385cf7007fb2" + resolved "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.9.1.tgz" integrity sha512-3M1zRrwgaYIZ20fgIsok1nGUrn9DkjZXmh9QVtgHVsLz2vRwrv1wzLAz7kVJpVMUk7gtxcEKLqb8lss4X1zWYQ== dependencies: "@nrwl/devkit" "15.9.1" @@ -1531,21 +1494,21 @@ "@octokit/auth-token@^2.4.4": version "2.5.0" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: "@octokit/types" "^6.0.3" "@octokit/auth-token@^3.0.0": version "3.0.3" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz" integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA== dependencies: "@octokit/types" "^9.0.0" "@octokit/core@^3.5.1", "@octokit/core@^3.6.0": version "3.6.0" - resolved "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + resolved "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz" integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== dependencies: "@octokit/auth-token" "^2.4.4" @@ -1558,7 +1521,7 @@ "@octokit/core@^4.0.0": version "4.2.0" - resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648" + resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz" integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg== dependencies: "@octokit/auth-token" "^3.0.0" @@ -1571,7 +1534,7 @@ "@octokit/endpoint@^6.0.1": version "6.0.12" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: "@octokit/types" "^6.0.3" @@ -1580,7 +1543,7 @@ "@octokit/endpoint@^7.0.0": version "7.0.5" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz" integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA== dependencies: "@octokit/types" "^9.0.0" @@ -1589,7 +1552,7 @@ "@octokit/graphql@^4.5.8": version "4.8.0" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== dependencies: "@octokit/request" "^5.6.0" @@ -1598,7 +1561,7 @@ "@octokit/graphql@^5.0.0": version "5.0.5" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz" integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ== dependencies: "@octokit/request" "^6.0.0" @@ -1607,46 +1570,46 @@ "@octokit/openapi-types@^12.11.0": version "12.11.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz" integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== "@octokit/openapi-types@^14.0.0": version "14.0.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz" integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw== "@octokit/openapi-types@^16.0.0": version "16.0.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz" integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== "@octokit/plugin-enterprise-rest@6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + resolved "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz" integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== "@octokit/plugin-paginate-rest@^2.16.8", "@octokit/plugin-paginate-rest@^2.17.0": version "2.21.3" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz#7f12532797775640dbb8224da577da7dc210c87e" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz" integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== dependencies: "@octokit/types" "^6.40.0" "@octokit/plugin-paginate-rest@^3.0.0": version "3.1.0" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz" integrity sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA== dependencies: "@octokit/types" "^6.41.0" "@octokit/plugin-request-log@^1.0.4": version "1.0.4" - resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@^5.12.0", "@octokit/plugin-rest-endpoint-methods@^5.13.0": version "5.16.2" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz#7ee8bf586df97dd6868cf68f641354e908c25342" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz" integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== dependencies: "@octokit/types" "^6.39.0" @@ -1654,7 +1617,7 @@ "@octokit/plugin-rest-endpoint-methods@^6.0.0": version "6.8.1" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz#97391fda88949eb15f68dc291957ccbe1d3e8ad1" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz" integrity sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg== dependencies: "@octokit/types" "^8.1.1" @@ -1662,7 +1625,7 @@ "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: "@octokit/types" "^6.0.3" @@ -1671,7 +1634,7 @@ "@octokit/request-error@^3.0.0": version "3.0.3" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz" integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== dependencies: "@octokit/types" "^9.0.0" @@ -1680,7 +1643,7 @@ "@octokit/request@^5.6.0", "@octokit/request@^5.6.3": version "5.6.3" - resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz" integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" @@ -1692,7 +1655,7 @@ "@octokit/request@^6.0.0": version "6.2.3" - resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz#76d5d6d44da5c8d406620a4c285d280ae310bdb4" + resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz" integrity sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA== dependencies: "@octokit/endpoint" "^7.0.0" @@ -1704,7 +1667,7 @@ "@octokit/rest@19.0.3": version "19.0.3" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz#b9a4e8dc8d53e030d611c053153ee6045f080f02" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz" integrity sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ== dependencies: "@octokit/core" "^4.0.0" @@ -1714,7 +1677,7 @@ "@octokit/rest@^18.12.0": version "18.12.0" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz" integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: "@octokit/core" "^3.5.1" @@ -1724,28 +1687,28 @@ "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0", "@octokit/types@^6.41.0": version "6.41.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz" integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== dependencies: "@octokit/openapi-types" "^12.11.0" "@octokit/types@^8.1.1": version "8.2.1" - resolved "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz#a6de091ae68b5541f8d4fcf9a12e32836d4648aa" + resolved "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz" integrity sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw== dependencies: "@octokit/openapi-types" "^14.0.0" "@octokit/types@^9.0.0": version "9.0.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635" + resolved "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz" integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw== dependencies: "@octokit/openapi-types" "^16.0.0" "@oozcitak/dom@1.15.8": version "1.15.8" - resolved "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz#0c0c7bb54cfdaadc07fd637913e706101721d15d" + resolved "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz" integrity sha512-MoOnLBNsF+ok0HjpAvxYxR4piUhRDCEWK0ot3upwOOHYudJd30j6M+LNcE8RKpwfnclAX9T66nXXzkytd29XSw== dependencies: "@oozcitak/infra" "1.0.8" @@ -1754,14 +1717,14 @@ "@oozcitak/infra@1.0.8": version "1.0.8" - resolved "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz#b0b089421f7d0f6878687608301fbaba837a7d17" + resolved "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz" integrity sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg== dependencies: "@oozcitak/util" "8.3.8" "@oozcitak/url@1.0.4": version "1.0.4" - resolved "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz#ca8b1c876319cf5a648dfa1123600a6aa5cda6ba" + resolved "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz" integrity sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw== dependencies: "@oozcitak/infra" "1.0.8" @@ -1769,12 +1732,12 @@ "@oozcitak/util@8.3.8": version "8.3.8" - resolved "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz#10f65fe1891fd8cde4957360835e78fd1936bfdd" + resolved "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz" integrity sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ== "@parcel/watcher@2.0.4": version "2.0.4" - resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" + resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz" integrity sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg== dependencies: node-addon-api "^3.2.1" @@ -1782,19 +1745,19 @@ "@pnpm/config.env-replace@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== "@pnpm/network.ca-file@^1.0.1": version "1.0.2" - resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== dependencies: graceful-fs "4.2.10" "@pnpm/npm-conf@^2.1.0": version "2.1.1" - resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.1.1.tgz#8e50c67c902d209d2a02f1a403fc8998fe706b4c" + resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.1.1.tgz" integrity sha512-yfRcuupmxxeDOSxvw4g+wFCrGiPD0L32f5WMzqMXp7Rl93EOCdFiDcaSNnZ10Up9GdNqkj70UTa8hfhPFphaZA== dependencies: "@pnpm/config.env-replace" "^1.1.0" @@ -1803,57 +1766,57 @@ "@sigstore/protobuf-specs@^0.1.0": version "0.1.0" - resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4" + resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz" integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ== "@sinclair/typebox@^0.25.16": version "0.25.24" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== "@sindresorhus/is@^5.2.0": version "5.3.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz#0ec9264cf54a527671d990eb874e030b55b70dcc" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz" integrity sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw== "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.1", "@sinonjs/commons@^1.8.3": version "1.8.6" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" "@sinonjs/commons@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz" integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^10.0.2": version "10.0.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz" integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== dependencies: "@sinonjs/commons" "^2.0.0" "@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers@^7.1.2": version "7.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/samsam@^5.3.1": version "5.3.1" - resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz" integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== dependencies: "@sinonjs/commons" "^1.6.0" @@ -1862,7 +1825,7 @@ "@sinonjs/samsam@^6.0.2": version "6.1.3" - resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz#4e30bcd4700336363302a7d72cbec9b9ab87b104" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz" integrity sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ== dependencies: "@sinonjs/commons" "^1.6.0" @@ -1871,68 +1834,68 @@ "@sinonjs/text-encoding@^0.7.1": version "0.7.2" - resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" + resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== "@szmarczak/http-timer@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== dependencies: defer-to-connect "^2.0.1" "@tootallnate/once@1": version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@tootallnate/once@2": version "2.0.0" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== "@tufjs/models@1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@tufjs/models/-/models-1.0.1.tgz#cc8bb0478188b4b6e58d5528668212724aac87ac" + resolved "https://registry.npmjs.org/@tufjs/models/-/models-1.0.1.tgz" integrity sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg== dependencies: minimatch "^7.4.2" "@types/archiver@^5.3.1": version "5.3.1" - resolved "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz#02991e940a03dd1a32678fead4b4ca03d0e387ca" + resolved "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz" integrity sha512-wKYZaSXaDvTZuInAWjCeGG7BEAgTWG2zZW0/f7IYFcoHB2X2d9lkVFnrOlXl3W6NrvO6Ml3FLLu8Uksyymcpnw== dependencies: "@types/glob" "*" "@types/aws-lambda@^8.10.111": version "8.10.111" - resolved "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.111.tgz#9107c405f3011a5c423b5ac93fbf279439558571" + resolved "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.111.tgz" integrity sha512-8HR9UjIKmoemEzE2BviVtFkeenxfbizSu8raFjnT2VXxguZZ2JTlNww7INOH7IA0J/zRa3TjOftkYq6hVNkxDA== "@types/babel__core@^7.1.14": version "7.20.0" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz" integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== dependencies: "@babel/parser" "^7.20.7" @@ -1943,14 +1906,14 @@ "@types/babel__generator@*": version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" @@ -1965,19 +1928,19 @@ "@types/changelog-parser@^2.8.1": version "2.8.1" - resolved "https://registry.npmjs.org/@types/changelog-parser/-/changelog-parser-2.8.1.tgz#294f63a1d54af24ee73e600c1a0d4ba7ca9c2516" + resolved "https://registry.npmjs.org/@types/changelog-parser/-/changelog-parser-2.8.1.tgz" integrity sha512-Wul8tHLumoC7mauxXzPbtBLC2KuY5NZ2w6BlRYnOM53oZz5mz7oUGsYL4l8bKzZzIX7y2vO7Y4/2K8qICJjckw== "@types/conventional-commits-parser@3.0.2": version "3.0.2" - resolved "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-3.0.2.tgz#144b208c7344838bb045860fe1ddd10d4ae68f7c" + resolved "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-3.0.2.tgz" integrity sha512-1kVPUHFaart1iGRFxKn8WNXYEDVAgMb+DLatgql2dGg9jTGf3bNxWtN//C/tDG3ckOLg4u7SSx+qcn8VjzI5zg== dependencies: "@types/node" "*" "@types/eslint@^7.29.0": version "7.29.0" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz" integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== dependencies: "@types/estree" "*" @@ -1985,19 +1948,19 @@ "@types/estree@*": version "1.0.0" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/fs-extra@^9.0.13": version "9.0.13" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" "@types/glob@*": version "8.1.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" + resolved "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz" integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== dependencies: "@types/minimatch" "^5.1.2" @@ -2005,7 +1968,7 @@ "@types/glob@^7.2.0": version "7.2.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" @@ -2013,38 +1976,38 @@ "@types/graceful-fs@^4.1.3": version "4.1.6" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== dependencies: "@types/node" "*" "@types/http-cache-semantics@^4.0.1": version "4.0.1" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.5.0": version "29.5.0" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz#337b90bbcfe42158f39c2fb5619ad044bbb518ac" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz" integrity sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg== dependencies: expect "^29.0.0" @@ -2052,214 +2015,209 @@ "@types/json-schema@*", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/license-checker@^25.0.3": version "25.0.3" - resolved "https://registry.npmjs.org/@types/license-checker/-/license-checker-25.0.3.tgz#fbe80df33f1ac9d4bc2d4c167da3c2fd2999eb73" + resolved "https://registry.npmjs.org/@types/license-checker/-/license-checker-25.0.3.tgz" integrity sha512-sFkIgeXh6HJR79DbTrZrsHWhfyr3q8v2Gswj3y0tRPEo57OEPVgDF/z/ePybHUGuSCwiDiAt/3YMta9ujUxQpQ== "@types/lodash@^4.14.191": version "4.14.191" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/madge@^5.0.0": version "5.0.0" - resolved "https://registry.npmjs.org/@types/madge/-/madge-5.0.0.tgz#5b77c542cb547157b73c7d3c01c82ba81fdec5ca" + resolved "https://registry.npmjs.org/@types/madge/-/madge-5.0.0.tgz" integrity sha512-Son5Z121knxCXlQM3Q0ivh0OP8Fix4ztGl0VfA9JybQMPQprc2K4jtTaRc3IhGyBy6ku5cWKJxEuj8zePiZbBQ== dependencies: "@types/node" "*" "@types/md5@^2.3.2": version "2.3.2" - resolved "https://registry.npmjs.org/@types/md5/-/md5-2.3.2.tgz#529bb3f8a7e9e9f621094eb76a443f585d882528" + resolved "https://registry.npmjs.org/@types/md5/-/md5-2.3.2.tgz" integrity sha512-v+JFDu96+UYJ3/UWzB0mEglIS//MZXgRaJ4ubUPwOM0gvLc/kcQ3TWNYwENEK7/EcXGQVrW8h/XqednSjBd/Og== "@types/mime@^2.0.3": version "2.0.3" - resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" + resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz" integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== "@types/minimatch@*", "@types/minimatch@^5.1.2": version "5.1.2" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimatch@^3.0.3", "@types/minimatch@^3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/minimist@^1.2.0": version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/mock-fs@^4.13.1": version "4.13.1" - resolved "https://registry.npmjs.org/@types/mock-fs/-/mock-fs-4.13.1.tgz#9201554ceb23671badbfa8ac3f1fa9e0706305be" + resolved "https://registry.npmjs.org/@types/mock-fs/-/mock-fs-4.13.1.tgz" integrity sha512-m6nFAJ3lBSnqbvDZioawRvpLXSaPyn52Srf7OfzjubYbYX8MTUdIgDxQl0wEapm4m/pNYSd9TXocpQ0TvZFlYA== dependencies: "@types/node" "*" "@types/mockery@^1.4.30": version "1.4.30" - resolved "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.30.tgz#25f07fa7340371c7ee0fb9239511a34e0a19d5b7" + resolved "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.30.tgz" integrity sha512-uv53RrNdhbkV/3VmVCtfImfYCWC3GTTRn3R11Whni3EJ+gb178tkZBVNj2edLY5CMrB749dQi+SJkg87jsN8UQ== -"@types/node@*": - version "18.14.6" - resolved "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" - integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== - -"@types/node@18.11.19": +"@types/node@*", "@types/node@18.11.19": version "18.11.19" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz#35e26df9ec441ab99d73e99e9aca82935eea216d" + resolved "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz" integrity sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw== "@types/node@^14": version "14.18.42" - resolved "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz#fa39b2dc8e0eba61bdf51c66502f84e23b66e114" + resolved "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz" integrity sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg== "@types/node@^16.9.2": version "16.18.14" - resolved "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz#5465ce598486a703caddbefe8603f8a2cffa3461" + resolved "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz" integrity sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw== "@types/normalize-package-data@^2.4.0": version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/npm@^7.19.0": version "7.19.0" - resolved "https://registry.npmjs.org/@types/npm/-/npm-7.19.0.tgz#a62382cea8ca8ef8452553e3d5daa68a331cda70" + resolved "https://registry.npmjs.org/@types/npm/-/npm-7.19.0.tgz" integrity sha512-K/w+k8SnDjdQoK2fkUl9fHLAiVVmdFgdZ2/iGFuaaQC+wwaNdDQRTFaoCEYYrfCMbuVkhL3Lgqbi+p5d5I1lSg== dependencies: "@types/node" "*" "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@2.6.0": version "2.6.0" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz" integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== "@types/prettier@^2.1.5": version "2.7.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz" integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== "@types/promptly@^3.0.2": version "3.0.2" - resolved "https://registry.npmjs.org/@types/promptly/-/promptly-3.0.2.tgz#598674d4b78b3dffcb2d756b344f28a2cf7459f8" + resolved "https://registry.npmjs.org/@types/promptly/-/promptly-3.0.2.tgz" integrity sha512-cJFwE7d8GlraY+DJoZ0NhpoJ55slkcbNsGIKMY0H+5h0xaGqXBqXz9zeu+Ey9KfN1UiHQXiIT0GroxyPYMPP/w== dependencies: "@types/node" "*" "@types/punycode@^2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" + resolved "https://registry.npmjs.org/@types/punycode/-/punycode-2.1.0.tgz" integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== "@types/semver@^7.3.12", "@types/semver@^7.3.13": version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== "@types/sinon@^9.0.11": version "9.0.11" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz#7af202dda5253a847b511c929d8b6dda170562eb" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz" integrity sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg== dependencies: "@types/sinonjs__fake-timers" "*" "@types/sinonjs__fake-timers@*": version "8.1.2" - resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz#bf2e02a3dbd4aecaf95942ecd99b7402e03fad5e" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz" integrity sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA== "@types/source-map-support@^0.5.6": version "0.5.6" - resolved "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.6.tgz#aa4a8c98ec73a1f1f30a813573a9b2154a6eb39a" + resolved "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.6.tgz" integrity sha512-b2nJ9YyXmkhGaa2b8VLM0kJ04xxwNyijcq12/kDoomCt43qbHBeK2SLNJ9iJmETaAj+bKUT05PQUu3Q66GvLhQ== dependencies: source-map "^0.6.0" "@types/stack-utils@^2.0.0": version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/string-width@^4.0.1": version "4.0.1" - resolved "https://registry.npmjs.org/@types/string-width/-/string-width-4.0.1.tgz#a02e22c305d0b550f8d8da12b5b13e05123dc7b8" + resolved "https://registry.npmjs.org/@types/string-width/-/string-width-4.0.1.tgz" integrity sha512-zsZXP4RSmw3TOXf2eut1xxb7Gto7I+BrB0WxwdRaEdCBnUbAQa57yZf/OWcAfop9m7t6Zd0pw9tV2ghpJXJPZg== dependencies: string-width "*" "@types/table@^6.0.0": version "6.3.2" - resolved "https://registry.npmjs.org/@types/table/-/table-6.3.2.tgz#e18ad2594400d81c3da28c31b342eb5a0d87a8e7" + resolved "https://registry.npmjs.org/@types/table/-/table-6.3.2.tgz" integrity sha512-GJ82z3vQbx2BhiUo12w2A3lyBpXPJrGHjQ7iS5aH925098w8ojqiWBhgOUy97JS2PKLmRCTLT0sI+gJI4futig== dependencies: table "*" "@types/uuid@^8.3.4": version "8.3.4" - resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/workerpool@^6.1.1": version "6.1.1" - resolved "https://registry.npmjs.org/@types/workerpool/-/workerpool-6.1.1.tgz#33b7d9a6293edd5fd63f4f898504c4a48f9e3862" + resolved "https://registry.npmjs.org/@types/workerpool/-/workerpool-6.1.1.tgz" integrity sha512-o7oSOSEiu8u9pCRv5+1AA61HlL7ruX07NrAQS3bufWXqH0fJSwP7e/1W/PFVCOY634Xz/JLHqXJAHwpogdRvNg== dependencies: "@types/node" "*" "@types/wrap-ansi@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz#18b97a972f94f60a679fd5c796d96421b9abb9fd" + resolved "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz" integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== "@types/yargs-parser@*": version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^15.0.15": version "15.0.15" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz" integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": version "17.0.24" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" "@types/yarnpkg__lockfile@^1.1.5": version "1.1.5" - resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" + resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz" integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== "@typescript-eslint/eslint-plugin@^4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: "@typescript-eslint/experimental-utils" "4.33.0" @@ -2273,7 +2231,7 @@ "@typescript-eslint/eslint-plugin@^5": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.1.tgz#0c5091289ce28372e38ab8d28e861d2dbe1ab29e" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.1.tgz" integrity sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew== dependencies: "@typescript-eslint/scope-manager" "5.54.1" @@ -2289,7 +2247,7 @@ "@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.1": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: "@types/json-schema" "^7.0.7" @@ -2301,7 +2259,7 @@ "@typescript-eslint/parser@^4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: "@typescript-eslint/scope-manager" "4.33.0" @@ -2311,7 +2269,7 @@ "@typescript-eslint/parser@^5": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.1.tgz#05761d7f777ef1c37c971d3af6631715099b084c" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.1.tgz" integrity sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg== dependencies: "@typescript-eslint/scope-manager" "5.54.1" @@ -2321,7 +2279,7 @@ "@typescript-eslint/scope-manager@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: "@typescript-eslint/types" "4.33.0" @@ -2329,7 +2287,7 @@ "@typescript-eslint/scope-manager@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz#6d864b4915741c608a58ce9912edf5a02bb58735" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz" integrity sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg== dependencies: "@typescript-eslint/types" "5.54.1" @@ -2337,7 +2295,7 @@ "@typescript-eslint/type-utils@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.1.tgz#4825918ec27e55da8bb99cd07ec2a8e5f50ab748" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.1.tgz" integrity sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g== dependencies: "@typescript-eslint/typescript-estree" "5.54.1" @@ -2347,17 +2305,17 @@ "@typescript-eslint/types@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/types@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.1.tgz#29fbac29a716d0f08c62fe5de70c9b6735de215c" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.1.tgz" integrity sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw== "@typescript-eslint/typescript-estree@4.33.0", "@typescript-eslint/typescript-estree@^4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: "@typescript-eslint/types" "4.33.0" @@ -2370,7 +2328,7 @@ "@typescript-eslint/typescript-estree@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz#df7b6ae05fd8fef724a87afa7e2f57fa4a599be1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz" integrity sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg== dependencies: "@typescript-eslint/types" "5.54.1" @@ -2383,7 +2341,7 @@ "@typescript-eslint/utils@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.1.tgz#7a3ee47409285387b9d4609ea7e1020d1797ec34" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.1.tgz" integrity sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ== dependencies: "@types/json-schema" "^7.0.9" @@ -2397,7 +2355,7 @@ "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: "@typescript-eslint/types" "4.33.0" @@ -2405,7 +2363,7 @@ "@typescript-eslint/visitor-keys@5.54.1": version "5.54.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz#d7a8a0f7181d6ac748f4d47b2306e0513b98bf8b" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz" integrity sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg== dependencies: "@typescript-eslint/types" "5.54.1" @@ -2413,17 +2371,17 @@ "@xmldom/xmldom@^0.8.6": version "0.8.6" - resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz" integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== "@yarnpkg/parsers@^3.0.0-rc.18": version "3.0.0-rc.42" - resolved "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.42.tgz#3814e90a81bb1f9c06cc83c6a009139c55efe94d" + resolved "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.42.tgz" integrity sha512-eW9Mbegmb5bJjwawJM9ghjUjUqciNMhC6L7XrQPF/clXS5bbP66MstsgCT5hy9VlfUh/CfBT+0Wucf531dMjHA== dependencies: js-yaml "^3.10.0" @@ -2431,14 +2389,14 @@ "@zkochan/js-yaml@0.0.6": version "0.0.6" - resolved "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" + resolved "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz" integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== dependencies: argparse "^2.0.1" JSONStream@^1.0.4: version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== dependencies: jsonparse "^1.2.0" @@ -2446,56 +2404,56 @@ JSONStream@^1.0.4: abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== abbrev@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz" integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== abort-controller@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== dependencies: event-target-shim "^5.0.0" acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1, acorn-walk@^8.2.0: version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^7.4.0: version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.4.1, acorn@^8.7.0, acorn@^8.8.0: version "8.8.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== add-stream@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" agentkeepalive@^4.2.1: version "4.3.0" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz" integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== dependencies: debug "^4.1.0" @@ -2504,7 +2462,7 @@ agentkeepalive@^4.2.1: aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -2512,7 +2470,7 @@ aggregate-error@^3.0.0: ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -2522,7 +2480,7 @@ ajv@^6.10.0, ajv@^6.12.4: ajv@^8.0.1, ajv@^8.12.0: version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -2532,65 +2490,65 @@ ajv@^8.0.1, ajv@^8.12.0: ansi-align@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: string-width "^4.1.0" ansi-colors@^4.1.1: version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-escapes@^4.2.1: version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.1.0: version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -2598,34 +2556,34 @@ anymatch@^3.0.3, anymatch@~3.1.2: app-module-path@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5" + resolved "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz" integrity sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ== app-root-path@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" + resolved "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz" integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== append-transform@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" + resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz" integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== dependencies: default-require-extensions "^3.0.0" aproba@^1.0.3: version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== "aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== archiver-utils@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" + resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz" integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== dependencies: glob "^7.1.4" @@ -2641,7 +2599,7 @@ archiver-utils@^2.1.0: archiver@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6" + resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz" integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w== dependencies: archiver-utils "^2.1.0" @@ -2654,12 +2612,12 @@ archiver@^5.3.1: archy@^1.0.0, archy@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== are-we-there-yet@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== dependencies: delegates "^1.0.0" @@ -2667,7 +2625,7 @@ are-we-there-yet@^3.0.0: are-we-there-yet@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.0.tgz#3ff397dc14f08b52dd8b2a64d3cee154ab8760d2" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.0.tgz" integrity sha512-nSXlV+u3vtVjRgihdTzbfWYzxPWGo424zPgQbHD0ZqIla3jqYAewDcvee0Ua2hjS5IfTAmjGlx1Jf0PKwjZDEw== dependencies: delegates "^1.0.0" @@ -2675,7 +2633,7 @@ are-we-there-yet@^4.0.0: are-we-there-yet@~1.1.2: version "1.1.7" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz" integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" @@ -2683,39 +2641,39 @@ are-we-there-yet@~1.1.2: arg@^4.1.0: version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-differ@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== array-find-index@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-ify@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-includes@^3.1.6: version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" @@ -2726,17 +2684,17 @@ array-includes@^3.1.6: array-timsort@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + resolved "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz" integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" @@ -2746,7 +2704,7 @@ array.prototype.flat@^1.3.1: array.prototype.flatmap@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== dependencies: call-bind "^1.0.2" @@ -2756,64 +2714,64 @@ array.prototype.flatmap@^1.3.1: arrify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== arrify@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== asap@^2.0.0: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== ast-module-types@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/ast-module-types/-/ast-module-types-2.7.1.tgz#3f7989ef8dfa1fdb82dfe0ab02bdfc7c77a57dd3" + resolved "https://registry.npmjs.org/ast-module-types/-/ast-module-types-2.7.1.tgz" integrity sha512-Rnnx/4Dus6fn7fTqdeLEAn5vUll5w7/vts0RN608yFa6si/rDOUonlIIiwugHBFWjylHjxm9owoSZn71KwG4gw== ast-module-types@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/ast-module-types/-/ast-module-types-3.0.0.tgz#9a6d8a80f438b6b8fe4995699d700297f398bf81" + resolved "https://registry.npmjs.org/ast-module-types/-/ast-module-types-3.0.0.tgz" integrity sha512-CMxMCOCS+4D+DkOQfuZf+vLrSEmY/7xtORwdxs4wtcC1wVgvk2MqFFTwQCFhvWsI4KPU9lcWXPI8DgRiz+xetQ== ast-types@^0.13.2: version "0.13.4" - resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz" integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== dependencies: tslib "^2.0.1" astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async@^3.2.3: version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== available-typed-arrays@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== aws-sdk-mock@5.6.0: version "5.6.0" - resolved "https://registry.npmjs.org/aws-sdk-mock/-/aws-sdk-mock-5.6.0.tgz#8cd44e2e8d65f7f38dea8d1ad073fa38f9c719d8" + resolved "https://registry.npmjs.org/aws-sdk-mock/-/aws-sdk-mock-5.6.0.tgz" integrity sha512-gUoEs/FaszVTLG5zBveg2NC2w/j/c9j6Ymgq4whrsdysClW6FWKT9w8eOUERZChliKZe/LwHHJFKjBHGrV9MJg== dependencies: aws-sdk "^2.928.0" @@ -2822,7 +2780,7 @@ aws-sdk-mock@5.6.0: aws-sdk@^2.1317.0: version "2.1347.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1347.0.tgz#691001b69aa2b6def58644169caba77e0bc3aee1" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1347.0.tgz" integrity sha512-4c4dZc2kxUPnXrzm0HmLqZ6n1dLClFNnPBfvEAq5pJRz0p+KVzIvV1zJ8wyH5AGhzTjdODt6h2n+bvLgF85PXw== dependencies: buffer "4.9.2" @@ -2838,7 +2796,7 @@ aws-sdk@^2.1317.0: aws-sdk@^2.1329.0, aws-sdk@^2.928.0: version "2.1329.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1329.0.tgz#6a83a1f7f8e1b3cdc8f8bdc3b7db7bfd43812b78" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1329.0.tgz" integrity sha512-F5M9x/T+PanPiYGiL95atFE6QiwzJWwgPahaEgUdq+qvVAgruiNy5t6nw2B5tBB/yWDPPavHFip3UsXeO0qU3Q== dependencies: buffer "4.9.2" @@ -2854,7 +2812,7 @@ aws-sdk@^2.1329.0, aws-sdk@^2.928.0: axios@^0.27.2: version "0.27.2" - resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== dependencies: follow-redirects "^1.14.9" @@ -2862,7 +2820,7 @@ axios@^0.27.2: axios@^1.0.0: version "1.3.4" - resolved "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024" + resolved "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz" integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== dependencies: follow-redirects "^1.15.0" @@ -2871,7 +2829,7 @@ axios@^1.0.0: babel-jest@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz" integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== dependencies: "@jest/transform" "^29.5.0" @@ -2884,7 +2842,7 @@ babel-jest@^29.5.0: babel-plugin-istanbul@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -2895,7 +2853,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz" integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== dependencies: "@babel/template" "^7.3.3" @@ -2905,7 +2863,7 @@ babel-plugin-jest-hoist@^29.5.0: babel-preset-current-node-syntax@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -2923,7 +2881,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz" integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== dependencies: babel-plugin-jest-hoist "^29.5.0" @@ -2931,22 +2889,22 @@ babel-preset-jest@^29.5.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== before-after-hook@^2.2.0: version "2.2.3" - resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== bin-links@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + resolved "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz" integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== dependencies: cmd-shim "^5.0.0" @@ -2958,7 +2916,7 @@ bin-links@^3.0.3: bin-links@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/bin-links/-/bin-links-4.0.1.tgz#afeb0549e642f61ff889b58ea2f8dca78fb9d8d3" + resolved "https://registry.npmjs.org/bin-links/-/bin-links-4.0.1.tgz" integrity sha512-bmFEM39CyX336ZGGRsGPlc6jZHriIoHacOQcTt72MktIjpPhZoP4te2jOyUXF3BLILmJ8aNLncoPVeIIFlrDeA== dependencies: cmd-shim "^6.0.0" @@ -2968,12 +2926,12 @@ bin-links@^4.0.1: binary-extensions@^2.0.0, binary-extensions@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bl@^4.0.3, bl@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: buffer "^5.5.0" @@ -2982,12 +2940,12 @@ bl@^4.0.3, bl@^4.1.0: bluebird@^3.5.0: version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== boxen@^7.0.0: version "7.0.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-7.0.2.tgz#465dd03e846c11f2d4c7eb0d1b3a39d66bd7057e" + resolved "https://registry.npmjs.org/boxen/-/boxen-7.0.2.tgz" integrity sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg== dependencies: ansi-align "^3.0.1" @@ -3001,7 +2959,7 @@ boxen@^7.0.0: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -3009,21 +2967,21 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browserslist@^4.21.3: version "4.21.5" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== dependencies: caniuse-lite "^1.0.30001449" @@ -3033,31 +2991,31 @@ browserslist@^4.21.3: bs-logger@0.x: version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== dependencies: fast-json-stable-stringify "2.x" bser@2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer@4.9.2: version "4.9.2" - resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" @@ -3066,7 +3024,7 @@ buffer@4.9.2: buffer@^5.5.0: version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: base64-js "^1.3.1" @@ -3074,7 +3032,7 @@ buffer@^5.5.0: buffer@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" @@ -3082,29 +3040,29 @@ buffer@^6.0.3: builtins@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== builtins@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== dependencies: semver "^7.0.0" byte-size@7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/byte-size/-/byte-size-7.0.0.tgz#36528cd1ca87d39bd9abd51f5715dc93b6ceb032" + resolved "https://registry.npmjs.org/byte-size/-/byte-size-7.0.0.tgz" integrity sha512-NNiBxKgxybMBtWdmvx7ZITJi4ZG+CYUgwOSZTfqB1qogkRHrhbQE/R2r5Fh94X+InN5MCYz6SvB/ejHMj/HbsQ== bytes@3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" - resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz" integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== dependencies: "@npmcli/fs" "^2.1.0" @@ -3128,7 +3086,7 @@ cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: cacache@^17.0.0, cacache@^17.0.4: version "17.0.5" - resolved "https://registry.npmjs.org/cacache/-/cacache-17.0.5.tgz#6dbec26c11f1f6a2b558bc11ed3316577c339ebc" + resolved "https://registry.npmjs.org/cacache/-/cacache-17.0.5.tgz" integrity sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA== dependencies: "@npmcli/fs" "^3.1.0" @@ -3147,12 +3105,12 @@ cacache@^17.0.0, cacache@^17.0.4: cacheable-lookup@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== cacheable-request@^10.2.8: version "10.2.9" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.9.tgz#6375833d2b99921d8870df9fdc26cb703c56f356" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.9.tgz" integrity sha512-CaAMr53AS1Tb9evO1BIWFnZjSr8A4pbXofpsNVWPMDZZj3ZQKHwsQG9BrTqQ4x5ZYJXz1T2b8LLtTZODxSpzbg== dependencies: "@types/http-cache-semantics" "^4.0.1" @@ -3165,7 +3123,7 @@ cacheable-request@^10.2.8: caching-transform@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" + resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz" integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== dependencies: hasha "^5.0.0" @@ -3175,7 +3133,7 @@ caching-transform@^4.0.0: call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -3183,12 +3141,12 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^6.2.2: version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" @@ -3197,32 +3155,32 @@ camelcase-keys@^6.2.2: camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0, camelcase@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelcase@^7.0.0: version "7.0.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== caniuse-lite@^1.0.30001449: version "1.0.30001462" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz#b2e801e37536d453731286857c8520d3dcee15fe" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz" integrity sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw== case@1.6.3, case@^1.6.3: version "1.6.3" - resolved "https://registry.npmjs.org/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9" + resolved "https://registry.npmjs.org/case/-/case-1.6.3.tgz" integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== cdk-generate-synthetic-examples@^0.1.173: version "0.1.173" - resolved "https://registry.npmjs.org/cdk-generate-synthetic-examples/-/cdk-generate-synthetic-examples-0.1.173.tgz#2792893986c57e9859e23a178c146736845bf51f" + resolved "https://registry.npmjs.org/cdk-generate-synthetic-examples/-/cdk-generate-synthetic-examples-0.1.173.tgz" integrity sha512-BTf4tAWfmGZ2nZgQmFZuCpU2o/Ay8YvizYhDTKmqFlipm12luewZkSBP9U52QQZRRiC+Wnn5YFAetJF4Ho4IEg== dependencies: "@jsii/spec" "^1.77.0" @@ -3234,14 +3192,14 @@ cdk-generate-synthetic-examples@^0.1.173: cdk8s-plus-24@2.4.40: version "2.4.40" - resolved "https://registry.npmjs.org/cdk8s-plus-24/-/cdk8s-plus-24-2.4.40.tgz#f27c4c5f0adf20ec58294ac7452fdbe3bcb64a9a" + resolved "https://registry.npmjs.org/cdk8s-plus-24/-/cdk8s-plus-24-2.4.40.tgz" integrity sha512-vDs1Q1XJ1cVg9ap/onOPEC4QRhuCMIHod7TeeQqO8v6I1bB2W9sZc52aLBEc4u9yEuI7/pP2t1rL9m+obcITvw== dependencies: minimatch "^3.1.2" cdk8s@^2.7.15: version "2.7.50" - resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.7.50.tgz#483c8748cea9304128278bb1e8e5ef8e1311c0f9" + resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.7.50.tgz" integrity sha512-edpQJdQ5vSnFx+LQ/Cs9PQtlCI7OL1io2rC+Y/+R6OpRzPPakahHO3nrP+hxp0XrRcmsvzaCDbbjslgXMXzvXw== dependencies: fast-json-patch "^3.1.1" @@ -3250,7 +3208,7 @@ cdk8s@^2.7.15: chalk@4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" @@ -3258,7 +3216,7 @@ chalk@4.1.0: chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -3267,7 +3225,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -3275,12 +3233,12 @@ chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: chalk@^5.0.1, chalk@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== changelog-parser@^2.8.1: version "2.8.1" - resolved "https://registry.npmjs.org/changelog-parser/-/changelog-parser-2.8.1.tgz#1428998c275e4f7c0a855026dc60c66cde36bb87" + resolved "https://registry.npmjs.org/changelog-parser/-/changelog-parser-2.8.1.tgz" integrity sha512-tNUYFRCEeWTXmwLqoNtOEzx9wcytg72MmGQqsEs14ClYwIDln7sbQw7FJj/dulXgSlsxkemc9gpPQhZYZx1TPw== dependencies: line-reader "^0.2.4" @@ -3288,22 +3246,22 @@ changelog-parser@^2.8.1: char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== chardet@^0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== charenc@0.0.2: version "0.0.2" - resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -3318,44 +3276,44 @@ chokidar@^3.5.1, chokidar@^3.5.3: chownr@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: version "3.8.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== cidr-regex@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + resolved "https://registry.npmjs.org/cidr-regex/-/cidr-regex-3.1.1.tgz" integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== dependencies: ip-regex "^4.1.0" cjs-module-lexer@^1.0.0: version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== cli-color@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" + resolved "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz" integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== dependencies: d "^1.0.1" @@ -3366,7 +3324,7 @@ cli-color@^2.0.0: cli-columns@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + resolved "https://registry.npmjs.org/cli-columns/-/cli-columns-4.0.0.tgz" integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== dependencies: string-width "^4.2.3" @@ -3374,24 +3332,24 @@ cli-columns@^4.0.0: cli-cursor@3.1.0, cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-spinners@2.6.1: version "2.6.1" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== cli-spinners@^2.5.0: version "2.7.0" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== cli-table3@^0.6.2, cli-table3@^0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" @@ -3400,12 +3358,12 @@ cli-table3@^0.6.2, cli-table3@^0.6.3: cli-width@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" @@ -3414,7 +3372,7 @@ cliui@^6.0.0: cliui@^7.0.2: version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" @@ -3423,7 +3381,7 @@ cliui@^7.0.2: cliui@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -3432,7 +3390,7 @@ cliui@^8.0.1: clone-deep@4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -3441,34 +3399,34 @@ clone-deep@4.0.1: clone@^1.0.2: version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== clone@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== cmd-shim@5.0.0, cmd-shim@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz" integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== dependencies: mkdirp-infer-owner "^2.0.0" cmd-shim@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d" + resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.1.tgz" integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q== co@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== codemaker@1.78.1, codemaker@^1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.78.1.tgz#bd9fa1015327c7cc1438b7d682411f7002b8d04a" + resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.78.1.tgz" integrity sha512-BNyqClGzOqL+OtRb6BsYzBJo1/vZYpy2izfXlEMXhhZFvux0RWg6XB3cFnCXyTmzawJus97GWlBtcrMajeqvVQ== dependencies: camelcase "^6.3.0" @@ -3477,36 +3435,36 @@ codemaker@1.78.1, codemaker@^1.78.1: collect-v8-coverage@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-support@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colors@1.4.0: @@ -3516,7 +3474,7 @@ colors@1.4.0: columnify@1.6.0, columnify@^1.6.0: version "1.6.0" - resolved "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + resolved "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz" integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== dependencies: strip-ansi "^6.0.1" @@ -3524,34 +3482,34 @@ columnify@1.6.0, columnify@^1.6.0: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@^10.0.0: version "10.0.0" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" + resolved "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz" integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== commander@^2.16.0, commander@^2.20.3, commander@^2.8.1: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@~9.4.1: version "9.4.1" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== comment-json@4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/comment-json/-/comment-json-4.2.2.tgz#5fae70a94e0c8f84a077bd31df5aa5269252f293" + resolved "https://registry.npmjs.org/comment-json/-/comment-json-4.2.2.tgz" integrity sha512-H8T+kl3nZesZu41zO2oNXIJWojNeK3mHxCLrsBNu6feksBXsgb+PtYz5daP5P86A0F3sz3840KVYehr04enISQ== dependencies: array-timsort "^1.0.3" @@ -3562,17 +3520,17 @@ comment-json@4.2.2: common-ancestor-path@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + resolved "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz" integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== commonmark@^0.30.0: version "0.30.0" - resolved "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz#38811dc7bbf0f59d277ae09054d4d73a332f2e45" + resolved "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz" integrity sha512-j1yoUo4gxPND1JWV9xj5ELih0yMv1iCWDG6eEQIPLSWLxzCXiFoyS7kvB+WwU+tZMf4snwJMMtaubV0laFpiBA== dependencies: entities "~2.0" @@ -3582,7 +3540,7 @@ commonmark@^0.30.0: compare-func@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" @@ -3590,7 +3548,7 @@ compare-func@^2.0.0: compress-commons@^4.1.0: version "4.1.1" - resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" + resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz" integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== dependencies: buffer-crc32 "^0.2.13" @@ -3600,12 +3558,12 @@ compress-commons@^4.1.0: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== dependencies: buffer-from "^1.0.0" @@ -3615,7 +3573,7 @@ concat-stream@^2.0.0: config-chain@1.1.12: version "1.1.12" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz" integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== dependencies: ini "^1.3.4" @@ -3623,7 +3581,7 @@ config-chain@1.1.12: config-chain@^1.1.11: version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" @@ -3631,7 +3589,7 @@ config-chain@^1.1.11: configstore@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz" integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== dependencies: dot-prop "^6.0.1" @@ -3642,17 +3600,17 @@ configstore@^6.0.0: console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== constructs@^10.0.0: version "10.1.270" - resolved "https://registry.npmjs.org/constructs/-/constructs-10.1.270.tgz#a9e55f33504b14561fe3dc971b9075b864610272" + resolved "https://registry.npmjs.org/constructs/-/constructs-10.1.270.tgz" integrity sha512-EuPb/VI9q0pOy/deaddOIO0RKdJXpBv+qTo7AbYK2dcEq6Kd7PJ8TnDQ5XwotWgB7YaXuTPddIgFDyyIstHcsA== conventional-changelog-angular@5.0.12: version "5.0.12" - resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz" integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== dependencies: compare-func "^2.0.0" @@ -3660,7 +3618,7 @@ conventional-changelog-angular@5.0.12: conventional-changelog-angular@^5.0.12: version "5.0.13" - resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: compare-func "^2.0.0" @@ -3668,14 +3626,14 @@ conventional-changelog-angular@^5.0.12: conventional-changelog-atom@^2.0.8: version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz" integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== dependencies: q "^1.5.1" conventional-changelog-cli@^2.2.2: version "2.2.2" - resolved "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz#9a7746cede92c6a8f27dc46692efaadfbed60daa" + resolved "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz" integrity sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA== dependencies: add-stream "^1.0.0" @@ -3686,19 +3644,19 @@ conventional-changelog-cli@^2.2.2: conventional-changelog-codemirror@^2.0.8: version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz" integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== dependencies: q "^1.5.1" conventional-changelog-config-spec@2.1.0, conventional-changelog-config-spec@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" + resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0: version "4.6.3" - resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" + resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz" integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== dependencies: compare-func "^2.0.0" @@ -3707,7 +3665,7 @@ conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-convent conventional-changelog-core@4.2.4, conventional-changelog-core@^4.2.1: version "4.2.4" - resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== dependencies: add-stream "^1.0.0" @@ -3727,35 +3685,35 @@ conventional-changelog-core@4.2.4, conventional-changelog-core@^4.2.1: conventional-changelog-ember@^2.0.9: version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz" integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== dependencies: q "^1.5.1" conventional-changelog-eslint@^3.0.9: version "3.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz" integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== dependencies: q "^1.5.1" conventional-changelog-express@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz" integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== dependencies: q "^1.5.1" conventional-changelog-jquery@^3.0.11: version "3.0.11" - resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz" integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== dependencies: q "^1.5.1" conventional-changelog-jshint@^2.0.9: version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz" integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== dependencies: compare-func "^2.0.0" @@ -3763,12 +3721,12 @@ conventional-changelog-jshint@^2.0.9: conventional-changelog-preset-loader@^2.3.4: version "2.3.4" - resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== conventional-changelog-writer@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f" + resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz" integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== dependencies: compare-func "^2.0.0" @@ -3784,7 +3742,7 @@ conventional-changelog-writer@^4.1.0: conventional-changelog-writer@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz" integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== dependencies: conventional-commits-filter "^2.0.7" @@ -3799,7 +3757,7 @@ conventional-changelog-writer@^5.0.0: conventional-changelog@3.1.25, conventional-changelog@^3.1.24, conventional-changelog@^3.1.25: version "3.1.25" - resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" + resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz" integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== dependencies: conventional-changelog-angular "^5.0.12" @@ -3816,7 +3774,7 @@ conventional-changelog@3.1.25, conventional-changelog@^3.1.24, conventional-chan conventional-commits-filter@^2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" @@ -3824,7 +3782,7 @@ conventional-commits-filter@^2.0.7: conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.4: version "3.2.4" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" @@ -3836,7 +3794,7 @@ conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.4: conventional-recommended-bump@6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== dependencies: concat-stream "^2.0.0" @@ -3850,22 +3808,22 @@ conventional-recommended-bump@6.1.0: convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-util-is@^1.0.3, core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" @@ -3876,7 +3834,7 @@ cosmiconfig@7.0.0: cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -3887,12 +3845,12 @@ cosmiconfig@^7.0.0: crc-32@^1.2.0: version "1.2.2" - resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== crc32-stream@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" + resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz" integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== dependencies: crc-32 "^1.2.0" @@ -3900,12 +3858,12 @@ crc32-stream@^4.0.2: create-require@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -3916,7 +3874,7 @@ cross-spawn@^6.0.5: cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -3925,29 +3883,29 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypt@0.0.2: version "0.0.2" - resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== crypto-random-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== dependencies: type-fest "^1.0.1" cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== d@1, d@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== dependencies: es5-ext "^0.10.50" @@ -3955,46 +3913,46 @@ d@1, d@^1.0.1: dargs@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== data-uri-to-buffer@3: version "3.0.1" - resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz" integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== date-format@^4.0.14: version "4.0.14" - resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + resolved "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz" integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== dateformat@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" debug@^3.1.0, debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" debuglog@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== decamelize-keys@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" @@ -4002,68 +3960,68 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decamelize@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz" integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" dedent@0.7.0, dedent@^0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.3.0" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz" integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== default-require-extensions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" + resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz" integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== dependencies: strip-bom "^4.0.0" defaults@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: clone "^1.0.2" defer-to-connect@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.1.3, define-properties@^1.1.4: version "1.2.0" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== dependencies: has-property-descriptors "^1.0.0" @@ -4071,7 +4029,7 @@ define-properties@^1.1.3, define-properties@^1.1.4: degenerator@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235" + resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz" integrity sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ== dependencies: ast-types "^0.13.2" @@ -4081,7 +4039,7 @@ degenerator@^3.0.2: del@^6.0.0: version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== dependencies: globby "^11.0.1" @@ -4095,27 +4053,27 @@ del@^6.0.0: delay@5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== depd@2.0.0, depd@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== dependency-tree@^8.1.1: version "8.1.2" - resolved "https://registry.npmjs.org/dependency-tree/-/dependency-tree-8.1.2.tgz#c9e652984f53bd0239bc8a3e50cbd52f05b2e770" + resolved "https://registry.npmjs.org/dependency-tree/-/dependency-tree-8.1.2.tgz" integrity sha512-c4CL1IKxkKng0oT5xrg4uNiiMVFqTGOXqHSFx7XEFdgSsp6nw3AGGruICppzJUrfad/r7GLqt26rmWU4h4j39A== dependencies: commander "^2.20.3" @@ -4126,32 +4084,32 @@ dependency-tree@^8.1.1: deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== detect-indent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== detect-indent@^6.0.0, detect-indent@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-newline@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" integrity sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg== detect-newline@^3.0.0, detect-newline@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detective-amd@^3.1.0: version "3.1.2" - resolved "https://registry.npmjs.org/detective-amd/-/detective-amd-3.1.2.tgz#bf55eb5291c218b76d6224a3d07932ef13a9a357" + resolved "https://registry.npmjs.org/detective-amd/-/detective-amd-3.1.2.tgz" integrity sha512-jffU26dyqJ37JHR/o44La6CxtrDf3Rt9tvd2IbImJYxWKTMdBjctp37qoZ6ZcY80RHg+kzWz4bXn39e4P7cctQ== dependencies: ast-module-types "^3.0.0" @@ -4161,7 +4119,7 @@ detective-amd@^3.1.0: detective-cjs@^3.1.1: version "3.1.3" - resolved "https://registry.npmjs.org/detective-cjs/-/detective-cjs-3.1.3.tgz#50e107d67b37f459b0ec02966ceb7e20a73f268b" + resolved "https://registry.npmjs.org/detective-cjs/-/detective-cjs-3.1.3.tgz" integrity sha512-ljs7P0Yj9MK64B7G0eNl0ThWSYjhAaSYy+fQcpzaKalYl/UoQBOzOeLCSFEY1qEBhziZ3w7l46KG/nH+s+L7BQ== dependencies: ast-module-types "^3.0.0" @@ -4169,14 +4127,14 @@ detective-cjs@^3.1.1: detective-es6@^2.2.0, detective-es6@^2.2.1: version "2.2.2" - resolved "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.2.tgz#ee5f880981d9fecae9a694007029a2f6f26d8d28" + resolved "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.2.tgz" integrity sha512-eZUKCUsbHm8xoeoCM0z6JFwvDfJ5Ww5HANo+jPR7AzkFpW9Mun3t/TqIF2jjeWa2TFbAiGaWESykf2OQp3oeMw== dependencies: node-source-walk "^4.0.0" detective-less@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/detective-less/-/detective-less-1.0.2.tgz#a68af9ca5f69d74b7d0aa190218b211d83b4f7e3" + resolved "https://registry.npmjs.org/detective-less/-/detective-less-1.0.2.tgz" integrity sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA== dependencies: debug "^4.0.0" @@ -4185,7 +4143,7 @@ detective-less@^1.0.2: detective-postcss@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/detective-postcss/-/detective-postcss-4.0.0.tgz#24e69b465e5fefe7a6afd05f7e894e34595dbf51" + resolved "https://registry.npmjs.org/detective-postcss/-/detective-postcss-4.0.0.tgz" integrity sha512-Fwc/g9VcrowODIAeKRWZfVA/EufxYL7XfuqJQFroBKGikKX83d2G7NFw6kDlSYGG3LNQIyVa+eWv1mqre+v4+A== dependencies: debug "^4.1.1" @@ -4195,7 +4153,7 @@ detective-postcss@^4.0.0: detective-postcss@^5.0.0: version "5.1.3" - resolved "https://registry.npmjs.org/detective-postcss/-/detective-postcss-5.1.3.tgz#773314cd017621b7d382be81331eb0c7abbe8cc3" + resolved "https://registry.npmjs.org/detective-postcss/-/detective-postcss-5.1.3.tgz" integrity sha512-Wo7PUpF6wqeT1aRgajdyIdDRjFFJVxlXPRAlT1aankH/RVOgrJuEZFZ4ABxYXdzaRPO5Lkg8rHxsxpLnxdJIYA== dependencies: is-url "^1.2.4" @@ -4204,7 +4162,7 @@ detective-postcss@^5.0.0: detective-sass@^3.0.1: version "3.0.2" - resolved "https://registry.npmjs.org/detective-sass/-/detective-sass-3.0.2.tgz#e0f35aac79a4d2f6409c284d95b8f7ecd5973afd" + resolved "https://registry.npmjs.org/detective-sass/-/detective-sass-3.0.2.tgz" integrity sha512-DNVYbaSlmti/eztFGSfBw4nZvwsTaVXEQ4NsT/uFckxhJrNRFUh24d76KzoCC3aarvpZP9m8sC2L1XbLej4F7g== dependencies: gonzales-pe "^4.3.0" @@ -4212,7 +4170,7 @@ detective-sass@^3.0.1: detective-scss@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/detective-scss/-/detective-scss-2.0.2.tgz#7d2a642616d44bf677963484fa8754d9558b8235" + resolved "https://registry.npmjs.org/detective-scss/-/detective-scss-2.0.2.tgz" integrity sha512-hDWnWh/l0tht/7JQltumpVea/inmkBaanJUcXRB9kEEXVwVUMuZd6z7eusQ6GcBFrfifu3pX/XPyD7StjbAiBg== dependencies: gonzales-pe "^4.3.0" @@ -4220,12 +4178,12 @@ detective-scss@^2.0.1: detective-stylus@^1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/detective-stylus/-/detective-stylus-1.0.3.tgz#20a702936c9fd7d4203fd7a903314b5dd43ac713" + resolved "https://registry.npmjs.org/detective-stylus/-/detective-stylus-1.0.3.tgz" integrity sha512-4/bfIU5kqjwugymoxLXXLltzQNeQfxGoLm2eIaqtnkWxqbhap9puDVpJPVDx96hnptdERzS5Cy6p9N8/08A69Q== detective-typescript@^7.0.0: version "7.0.2" - resolved "https://registry.npmjs.org/detective-typescript/-/detective-typescript-7.0.2.tgz#c6e00b4c28764741ef719662250e6b014a5f3c8e" + resolved "https://registry.npmjs.org/detective-typescript/-/detective-typescript-7.0.2.tgz" integrity sha512-unqovnhxzvkCz3m1/W4QW4qGsvXCU06aU2BAm8tkza+xLnp9SOFnob2QsTxUv5PdnQKfDvWcv9YeOeFckWejwA== dependencies: "@typescript-eslint/typescript-estree" "^4.33.0" @@ -4235,7 +4193,7 @@ detective-typescript@^7.0.0: dezalgo@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== dependencies: asap "^2.0.0" @@ -4243,79 +4201,79 @@ dezalgo@^1.0.0: diff-sequences@^29.4.3: version "29.4.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz" integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== diff@^4.0.1, diff@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diff@^5.0.0, diff@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== difflib@~0.2.1: version "0.2.4" - resolved "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + resolved "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz" integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== dependencies: heap ">= 0.2.0" dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dot-prop@6.0.1, dot-prop@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" dot-prop@^5.1.0: version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dotenv-json@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/dotenv-json/-/dotenv-json-1.0.0.tgz#fc7f672aafea04bed33818733b9f94662332815c" + resolved "https://registry.npmjs.org/dotenv-json/-/dotenv-json-1.0.0.tgz" integrity sha512-jAssr+6r4nKhKRudQ0HOzMskOFFi9+ubXWwmrSGJFgTvpjyPXCXsCsYbjif6mXp7uxA7xY3/LGaiTQukZzSbOQ== dotenv@^8.0.0: version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== dotenv@~10.0.0: version "10.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== dotgitignore@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" + resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== dependencies: find-up "^3.0.0" @@ -4323,7 +4281,7 @@ dotgitignore@^2.1.0: downlevel-dts@^0.11.0: version "0.11.0" - resolved "https://registry.npmjs.org/downlevel-dts/-/downlevel-dts-0.11.0.tgz#514a2d723009c5845730c1db6c994484c596ed9c" + resolved "https://registry.npmjs.org/downlevel-dts/-/downlevel-dts-0.11.0.tgz" integrity sha512-vo835pntK7kzYStk7xUHDifiYJvXxVhUapt85uk2AI94gUUAQX9HNRtrcMHNSc3YHJUEHGbYIGsM99uIbgAtxw== dependencies: semver "^7.3.2" @@ -4332,55 +4290,55 @@ downlevel-dts@^0.11.0: dreamopt@~0.8.0: version "0.8.0" - resolved "https://registry.npmjs.org/dreamopt/-/dreamopt-0.8.0.tgz#5bcc80be7097e45fc489c342405ab68140a8c1d9" + resolved "https://registry.npmjs.org/dreamopt/-/dreamopt-0.8.0.tgz" integrity sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg== dependencies: wordwrap ">=0.0.2" duplexer@^0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== ejs@^3.1.7: version "3.1.9" - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== dependencies: jake "^10.8.5" electron-to-chromium@^1.4.284: version "1.4.322" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.322.tgz#e0afa1d115b66c1d47869db40d8f2f3729cecc16" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.322.tgz" integrity sha512-KovjizNC9XB7dno/2GjxX8VS0SlfPpCjtyoKft+bCO+UfD8bFy16hY4Sh9s0h9BDxbRH2U0zX5VBjpM1LTcNlg== emittery@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== encoding@^0.1.13: version "0.1.13" - resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" end-of-stream@^1.4.1: version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enhanced-resolve@^5.8.3: version "5.12.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== dependencies: graceful-fs "^4.2.4" @@ -4388,46 +4346,46 @@ enhanced-resolve@^5.8.3: enquirer@^2.3.5, enquirer@~2.3.6: version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== dependencies: ansi-colors "^4.1.1" entities@~2.0: version "2.0.3" - resolved "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + resolved "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz" integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== entities@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + resolved "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz" integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== env-paths@^2.2.0: version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.4: version "7.8.1" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== err-code@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: version "1.21.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz" integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== dependencies: available-typed-arrays "^1.0.5" @@ -4466,7 +4424,7 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: es-set-tostringtag@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== dependencies: get-intrinsic "^1.1.3" @@ -4475,14 +4433,14 @@ es-set-tostringtag@^2.0.1: es-shim-unscopables@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== dependencies: has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -4491,7 +4449,7 @@ es-to-primitive@^1.2.1: es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.62" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== dependencies: es6-iterator "^2.0.3" @@ -4500,12 +4458,12 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@ es6-error@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== es6-iterator@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" @@ -4514,7 +4472,7 @@ es6-iterator@^2.0.3: es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== dependencies: d "^1.0.1" @@ -4522,7 +4480,7 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: es6-weak-map@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== dependencies: d "1" @@ -4532,7 +4490,7 @@ es6-weak-map@^2.0.3: esbuild@^0.17.11: version "0.17.11" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.11.tgz#9f3122643b21d7e7731e42f18576c10bfa28152b" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.11.tgz" integrity sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg== optionalDependencies: "@esbuild/android-arm" "0.17.11" @@ -4560,32 +4518,32 @@ esbuild@^0.17.11: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-goat@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^1.8.1: version "1.14.3" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: esprima "^4.0.1" @@ -4597,7 +4555,7 @@ escodegen@^1.8.1: escodegen@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: esprima "^4.0.1" @@ -4609,7 +4567,7 @@ escodegen@^2.0.0: eslint-import-resolver-node@^0.3.7: version "0.3.7" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" @@ -4618,7 +4576,7 @@ eslint-import-resolver-node@^0.3.7: eslint-import-resolver-typescript@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz" integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== dependencies: debug "^4.3.4" @@ -4629,14 +4587,14 @@ eslint-import-resolver-typescript@^2.7.1: eslint-module-utils@^2.7.4: version "2.7.4" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" eslint-plugin-import@^2.27.5: version "2.27.5" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: array-includes "^3.1.6" @@ -4657,14 +4615,14 @@ eslint-plugin-import@^2.27.5: eslint-plugin-jest@^24.7.0: version "24.7.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz" integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -4672,7 +4630,7 @@ eslint-scope@^5.1.1: eslint-scope@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== dependencies: esrecurse "^4.3.0" @@ -4680,36 +4638,36 @@ eslint-scope@^7.1.1: eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-utils@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^7.32.0: version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" @@ -4755,7 +4713,7 @@ eslint@^7.32.0: eslint@^8: version "8.35.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz" integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== dependencies: "@eslint/eslintrc" "^2.0.0" @@ -4801,7 +4759,7 @@ eslint@^8: espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" @@ -4810,7 +4768,7 @@ espree@^7.3.0, espree@^7.3.1: espree@^9.4.0: version "9.4.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== dependencies: acorn "^8.8.0" @@ -4819,41 +4777,41 @@ espree@^9.4.0: esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== event-emitter@^0.3.5: version "0.3.5" - resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== dependencies: d "1" @@ -4861,27 +4819,27 @@ event-emitter@^0.3.5: event-target-shim@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== eventemitter3@^4.0.4: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== events@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== execa@5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: cross-spawn "^7.0.3" @@ -4896,7 +4854,7 @@ execa@5.0.0: execa@^5.0.0: version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -4911,12 +4869,12 @@ execa@^5.0.0: exit@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expect@^29.0.0, expect@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" + resolved "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz" integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== dependencies: "@jest/expect-utils" "^29.5.0" @@ -4925,16 +4883,21 @@ expect@^29.0.0, expect@^29.5.0: jest-message-util "^29.5.0" jest-util "^29.5.0" +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + ext@^1.1.2: version "1.7.0" - resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: type "^2.7.2" external-editor@^3.0.3: version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" @@ -4943,19 +4906,19 @@ external-editor@^3.0.3: fast-check@^2.25.0: version "2.25.0" - resolved "https://registry.npmjs.org/fast-check/-/fast-check-2.25.0.tgz#5146601851bf3be0953bd17eb2b7d547936c6561" + resolved "https://registry.npmjs.org/fast-check/-/fast-check-2.25.0.tgz" integrity sha512-wRUT2KD2lAmT75WNIJIHECawoUUMHM0I5jrlLXGtGeqmPL8jl/EldUDjY1VCp6fDY8yflyfUeIOsOBrIbIiArg== dependencies: pure-rand "^5.0.1" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -4966,7 +4929,7 @@ fast-glob@3.2.7: fast-glob@^3.2.12, fast-glob@^3.2.9: version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -4977,22 +4940,22 @@ fast-glob@^3.2.12, fast-glob@^3.2.9: fast-json-patch@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" + resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz" integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-memoize@^2.5.2: version "2.5.2" - resolved "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" + resolved "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz" integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== fastest-levenshtein@^1.0.12: @@ -5002,52 +4965,52 @@ fastest-levenshtein@^1.0.12: fastq@^1.6.0: version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" figures@3.2.0, figures@^3.0.0, figures@^3.1.0: version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-uri-to-path@2: version "2.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz" integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== file-url@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77" + resolved "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz" integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA== filelist@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: minimatch "^5.0.1" filing-cabinet@^3.0.1: version "3.3.0" - resolved "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-3.3.0.tgz#365294d2d3d6ab01b4273e62fb6d23388a70cc0f" + resolved "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-3.3.0.tgz" integrity sha512-Tnbpbme1ONaHXV5DGcw0OFpcfP3p2itRf5VXO1bguBXdIewDbK6ZFBK//DGKM0BuCzaQLQNY4f5gljzxY1VCUw== dependencies: app-module-path "^2.2.0" @@ -5066,14 +5029,14 @@ filing-cabinet@^3.0.1: fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-cache-dir@^3.2.0: version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" @@ -5082,7 +5045,7 @@ find-cache-dir@^3.2.0: find-up@5.0.0, find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -5090,21 +5053,21 @@ find-up@5.0.0, find-up@^5.0.0: find-up@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -5112,14 +5075,14 @@ find-up@^4.0.0, find-up@^4.1.0: find-yarn-workspace-root@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: micromatch "^4.0.2" flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -5127,34 +5090,34 @@ flat-cache@^3.0.4: flat@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.1.0, flatted@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== flatten@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== follow-redirects@^1.14.9, follow-redirects@^1.15.0, follow-redirects@^1.15.2: version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" foreground-child@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz" integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== dependencies: cross-spawn "^7.0.0" @@ -5162,12 +5125,12 @@ foreground-child@^2.0.0: form-data-encoder@^2.1.2: version "2.1.4" - resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz" integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== form-data@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -5176,22 +5139,22 @@ form-data@^4.0.0: fp-and-or@^0.1.3: version "0.1.3" - resolved "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz#e6fba83872a5853a56b3ebdf8d3167f5dfca1882" + resolved "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz" integrity sha512-wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g== fromentries@^1.2.0: version "1.3.2" - resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== fs-constants@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -5201,7 +5164,7 @@ fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.1.0: fs-extra@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -5210,7 +5173,7 @@ fs-extra@^10.1.0: fs-extra@^11.1.0: version "11.1.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== dependencies: graceful-fs "^4.2.0" @@ -5219,7 +5182,7 @@ fs-extra@^11.1.0: fs-extra@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" @@ -5228,31 +5191,31 @@ fs-extra@^8.1.0: fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" fs-minipass@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz#853809af15b6d03e27638d1ab6432e6b378b085d" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz" integrity sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw== dependencies: minipass "^4.0.0" fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== ftp@^0.3.10: version "0.3.10" - resolved "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + resolved "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" integrity sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ== dependencies: readable-stream "1.1.x" @@ -5260,12 +5223,12 @@ ftp@^0.3.10: function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== function.prototype.name@^1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== dependencies: call-bind "^1.0.2" @@ -5275,17 +5238,17 @@ function.prototype.name@^1.1.5: functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== functions-have-names@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gauge@^4.0.3: version "4.0.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== dependencies: aproba "^1.0.3 || ^2.0.0" @@ -5299,7 +5262,7 @@ gauge@^4.0.3: gauge@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/gauge/-/gauge-5.0.0.tgz#e270ca9d97dae84abf64e5277ef1ebddc7dd1e2f" + resolved "https://registry.npmjs.org/gauge/-/gauge-5.0.0.tgz" integrity sha512-0s5T5eciEG7Q3ugkxAkFtaDhrrhXsCRivA5y8C9WMHWuI8UlMOJg7+Iwf7Mccii+Dfs3H5jHepU0joPVyQU0Lw== dependencies: aproba "^1.0.3 || ^2.0.0" @@ -5313,7 +5276,7 @@ gauge@^5.0.0: gauge@~2.7.3: version "2.7.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== dependencies: aproba "^1.0.3" @@ -5327,12 +5290,12 @@ gauge@~2.7.3: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-amd-module-type@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-3.0.2.tgz#46550cee2b8e1fa4c3f2c8a5753c36990aa49ab0" + resolved "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-3.0.2.tgz" integrity sha512-PcuKwB8ouJnKuAPn6Hk3UtdfKoUV3zXRqVEvj8XGIXqjWfgd1j7QGdXy5Z9OdQfzVt1Sk29HVe/P+X74ccOuqw== dependencies: ast-module-types "^3.0.0" @@ -5340,12 +5303,12 @@ get-amd-module-type@^3.0.0: get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" @@ -5354,17 +5317,17 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-pkg-repo@^4.0.0: version "4.2.1" - resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: "@hutson/parse-repository-url" "^3.0.0" @@ -5374,32 +5337,32 @@ get-pkg-repo@^4.0.0: get-port@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== get-stdin@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== get-stdin@~9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz" integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== get-stream@6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -5407,7 +5370,7 @@ get-symbol-description@^1.0.0: get-uri@3: version "3.0.2" - resolved "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + resolved "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz" integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== dependencies: "@tootallnate/once" "1" @@ -5419,7 +5382,7 @@ get-uri@3: git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: version "2.0.11" - resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== dependencies: dargs "^7.0.0" @@ -5430,7 +5393,7 @@ git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: git-remote-origin-url@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== dependencies: gitconfiglocal "^1.0.0" @@ -5438,7 +5401,7 @@ git-remote-origin-url@^2.0.0: git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== dependencies: meow "^8.0.0" @@ -5446,7 +5409,7 @@ git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: git-up@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + resolved "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz" integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== dependencies: is-ssh "^1.4.0" @@ -5454,35 +5417,35 @@ git-up@^7.0.0: git-url-parse@13.1.0: version "13.1.0" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4" + resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz" integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA== dependencies: git-up "^7.0.0" gitconfiglocal@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== dependencies: ini "^1.3.2" glob-parent@5.1.2, glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob@7.1.4: version "7.1.4" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" @@ -5494,7 +5457,7 @@ glob@7.1.4: glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0, glob@^7.2.3: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -5506,7 +5469,7 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, gl glob@^8, glob@^8.0.1: version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" @@ -5517,7 +5480,7 @@ glob@^8, glob@^8.0.1: glob@^9.2.0, glob@^9.3.0, glob@^9.3.1: version "9.3.2" - resolved "https://registry.npmjs.org/glob/-/glob-9.3.2.tgz#8528522e003819e63d11c979b30896e0eaf52eda" + resolved "https://registry.npmjs.org/glob/-/glob-9.3.2.tgz" integrity sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA== dependencies: fs.realpath "^1.0.0" @@ -5527,7 +5490,7 @@ glob@^9.2.0, glob@^9.3.0, glob@^9.3.1: glob@~8.0.3: version "8.0.3" - resolved "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + resolved "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz" integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== dependencies: fs.realpath "^1.0.0" @@ -5538,33 +5501,33 @@ glob@~8.0.3: global-dirs@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== dependencies: ini "2.0.0" globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: version "13.20.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -5576,21 +5539,21 @@ globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.0.4, g gonzales-pe@^4.2.3, gonzales-pe@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" + resolved "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz" integrity sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== dependencies: minimist "^1.2.5" gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" got@^12.1.0: version "12.6.0" - resolved "https://registry.npmjs.org/got/-/got-12.6.0.tgz#8d382ee5de4432c086e83c133efdd474484f6ac7" + resolved "https://registry.npmjs.org/got/-/got-12.6.0.tgz" integrity sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ== dependencies: "@sindresorhus/is" "^5.2.0" @@ -5607,24 +5570,24 @@ got@^12.1.0: graceful-fs@4.2.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== grapheme-splitter@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== graphviz@0.0.9: version "0.0.9" - resolved "https://registry.npmjs.org/graphviz/-/graphviz-0.0.9.tgz#0bbf1df588c6a92259282da35323622528c4bbc4" + resolved "https://registry.npmjs.org/graphviz/-/graphviz-0.0.9.tgz" integrity sha512-SmoY2pOtcikmMCqCSy2NO1YsRfu9OO0wpTlOYW++giGjfX1a6gax/m1Fo8IdUd0/3H15cTOfR1SMKwohj4LKsg== dependencies: temp "~0.4.0" handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" @@ -5636,73 +5599,73 @@ handlebars@^4.7.6, handlebars@^4.7.7: hard-rejection@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-own-prop@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + resolved "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz" integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-proto@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-unicode@2.0.1, has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has-yarn@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== has@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hasha@^5.0.0: version "5.2.2" - resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" + resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz" integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== dependencies: is-stream "^2.0.0" @@ -5710,55 +5673,55 @@ hasha@^5.0.0: "heap@>= 0.2.0": version "0.2.7" - resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^3.0.6: version "3.0.8" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" hosted-git-info@^5.0.0, hosted-git-info@^5.1.0, hosted-git-info@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz" integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== dependencies: lru-cache "^7.5.1" hosted-git-info@^6.0.0, hosted-git-info@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz" integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== dependencies: lru-cache "^7.5.1" html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-errors@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -5769,7 +5732,7 @@ http-errors@2.0.0: http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" @@ -5778,7 +5741,7 @@ http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: http-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: "@tootallnate/once" "2" @@ -5787,7 +5750,7 @@ http-proxy-agent@^5.0.0: http2-wrapper@^2.1.10: version "2.2.0" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz" integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== dependencies: quick-lru "^5.1.1" @@ -5795,7 +5758,7 @@ http2-wrapper@^2.1.10: https-proxy-agent@5, https-proxy-agent@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -5803,72 +5766,72 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== humanize-ms@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" ieee754@1.1.13: version "1.1.13" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore-walk@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz" integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== dependencies: minimatch "^5.0.1" ignore-walk@^6.0.0: version "6.0.2" - resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.2.tgz#c48f48397cf8ef6174fcc28aa5f8c1de6203d389" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.2.tgz" integrity sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg== dependencies: minimatch "^7.4.2" ignore@^4.0.6: version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.0.4, ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4, ignore@~5.2.4: version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immediate@~3.0.5: version "3.0.6" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -5876,12 +5839,12 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-lazy@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== import-local@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" @@ -5889,27 +5852,27 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" integrity sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA== infer-owner@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -5917,32 +5880,32 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@2.0.0, ini@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== ini@^3.0.0, ini@^3.0.1, ini@~3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" + resolved "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz" integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== ini@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/ini/-/ini-4.1.0.tgz#3bca65a0ae224f07f8f8b3392d8c94a7f1bb007b" + resolved "https://registry.npmjs.org/ini/-/ini-4.1.0.tgz" integrity sha512-HLR38RSF2iulAzc3I/sma4CoYxQP844rPYCNfzGDOHqa/YqVlwuuZgBx6M50/X8dKgzk0cm1qRg3+47mK2N+cQ== init-package-json@3.0.2, init-package-json@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz" integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== dependencies: npm-package-arg "^9.0.1" @@ -5955,7 +5918,7 @@ init-package-json@3.0.2, init-package-json@^3.0.2: inquirer@8.2.4: version "8.2.4" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz" integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== dependencies: ansi-escapes "^4.2.1" @@ -5976,7 +5939,7 @@ inquirer@8.2.4: inquirer@^8.2.4: version "8.2.5" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz" integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== dependencies: ansi-escapes "^4.2.1" @@ -5997,7 +5960,7 @@ inquirer@^8.2.4: internal-slot@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: get-intrinsic "^1.2.0" @@ -6006,27 +5969,27 @@ internal-slot@^1.0.4: interpret@^1.0.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== ip-regex@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== ip@^1.1.5: version "1.1.8" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== ip@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== is-arguments@^1.0.4: version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -6034,7 +5997,7 @@ is-arguments@^1.0.4: is-array-buffer@^3.0.1: version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== dependencies: call-bind "^1.0.2" @@ -6043,26 +6006,26 @@ is-array-buffer@^3.0.1: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -6070,86 +6033,86 @@ is-boolean-object@^1.1.0: is-buffer@~1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@2.0.0, is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-ci@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: ci-info "^3.2.0" is-cidr@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + resolved "https://registry.npmjs.org/is-cidr/-/is-cidr-4.0.2.tgz" integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== dependencies: cidr-regex "^3.1.1" is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.11.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: has-tostringtag "^1.0.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: global-dirs "^3.0.0" @@ -6157,86 +6120,86 @@ is-installed-globally@^0.4.0: is-interactive@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-lambda@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-npm@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-cwd@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-obj@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-plain-object@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-promise@^2.2.2: version "2.2.2" - resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -6244,62 +6207,62 @@ is-regex@^1.1.4: is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== is-relative-path@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-relative-path/-/is-relative-path-1.0.2.tgz#091b46a0d67c1ed0fe85f1f8cfdde006bb251d46" + resolved "https://registry.npmjs.org/is-relative-path/-/is-relative-path-1.0.2.tgz" integrity sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-ssh@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz" integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== dependencies: protocols "^2.0.1" is-stream@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-text-path@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: text-extensions "^1.0.0" is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: version "1.1.10" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== dependencies: available-typed-arrays "^1.0.5" @@ -6310,83 +6273,83 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unicode-supported@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== is-url-superb@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz#b54d1d2499bb16792748ac967aa3ecb41a33a8c2" + resolved "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz" integrity sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== is-url@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" is-yarn-global@^0.4.0: version "0.4.1" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== istanbul-lib-hook@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" + resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz" integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== dependencies: append-transform "^2.0.0" istanbul-lib-instrument@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" @@ -6396,7 +6359,7 @@ istanbul-lib-instrument@^4.0.0: istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" @@ -6407,7 +6370,7 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-processinfo@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz#366d454cd0dcb7eb6e0e419378e60072c8626169" + resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz" integrity sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg== dependencies: archy "^1.0.0" @@ -6419,7 +6382,7 @@ istanbul-lib-processinfo@^2.0.2: istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -6428,7 +6391,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" @@ -6437,7 +6400,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: html-escaper "^2.0.0" @@ -6445,7 +6408,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: jake@^10.8.5: version "10.8.5" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: async "^3.2.3" @@ -6455,7 +6418,7 @@ jake@^10.8.5: jest-changed-files@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz" integrity sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag== dependencies: execa "^5.0.0" @@ -6463,7 +6426,7 @@ jest-changed-files@^29.5.0: jest-circus@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz#b5926989449e75bff0d59944bae083c9d7fb7317" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz" integrity sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA== dependencies: "@jest/environment" "^29.5.0" @@ -6489,7 +6452,7 @@ jest-circus@^29.5.0: jest-cli@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz#b34c20a6d35968f3ee47a7437ff8e53e086b4a67" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz" integrity sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw== dependencies: "@jest/core" "^29.5.0" @@ -6507,7 +6470,7 @@ jest-cli@^29.5.0: jest-config@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz#3cc972faec8c8aaea9ae158c694541b79f3748da" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz" integrity sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA== dependencies: "@babel/core" "^7.11.6" @@ -6535,7 +6498,7 @@ jest-config@^29.5.0: jest-diff@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz" integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== dependencies: chalk "^4.0.0" @@ -6545,14 +6508,14 @@ jest-diff@^29.5.0: jest-docblock@^29.4.3: version "29.4.3" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz" integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== dependencies: detect-newline "^3.0.0" jest-each@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz#fc6e7014f83eac68e22b7195598de8554c2e5c06" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz" integrity sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA== dependencies: "@jest/types" "^29.5.0" @@ -6563,7 +6526,7 @@ jest-each@^29.5.0: jest-environment-node@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz#f17219d0f0cc0e68e0727c58b792c040e332c967" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz" integrity sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw== dependencies: "@jest/environment" "^29.5.0" @@ -6575,12 +6538,12 @@ jest-environment-node@^29.5.0: jest-get-type@^29.4.3: version "29.4.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz" integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== jest-haste-map@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz" integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA== dependencies: "@jest/types" "^29.5.0" @@ -6599,7 +6562,7 @@ jest-haste-map@^29.5.0: jest-junit@^13, jest-junit@^13.2.0: version "13.2.0" - resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz#66eeb86429aafac8c1745a70f44ace185aacb943" + resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz" integrity sha512-B0XNlotl1rdsvFZkFfoa19mc634+rrd8E4Sskb92Bb8MmSXeWV9XJGUyctunZS1W410uAxcyYuPUGVnbcOH8cg== dependencies: mkdirp "^1.0.4" @@ -6609,7 +6572,7 @@ jest-junit@^13, jest-junit@^13.2.0: jest-junit@^14.0.1: version "14.0.1" - resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-14.0.1.tgz#5b357d6f5d333459585d628a24cd48b5bbc92ba2" + resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-14.0.1.tgz" integrity sha512-h7/wwzPbllgpQhhVcRzRC76/cc89GlazThoV1fDxcALkf26IIlRsu/AcTG64f4nR2WPE3Cbd+i/sVf+NCUHrWQ== dependencies: mkdirp "^1.0.4" @@ -6619,7 +6582,7 @@ jest-junit@^14.0.1: jest-leak-detector@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz" integrity sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow== dependencies: jest-get-type "^29.4.3" @@ -6627,7 +6590,7 @@ jest-leak-detector@^29.5.0: jest-matcher-utils@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz" integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== dependencies: chalk "^4.0.0" @@ -6637,7 +6600,7 @@ jest-matcher-utils@^29.5.0: jest-message-util@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz" integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== dependencies: "@babel/code-frame" "^7.12.13" @@ -6652,7 +6615,7 @@ jest-message-util@^29.5.0: jest-mock@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz#26e2172bcc71d8b0195081ff1f146ac7e1518aed" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz" integrity sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw== dependencies: "@jest/types" "^29.5.0" @@ -6661,17 +6624,17 @@ jest-mock@^29.5.0: jest-pnp-resolver@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^29.4.3: version "29.4.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz" integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== jest-resolve-dependencies@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz#f0ea29955996f49788bf70996052aa98e7befee4" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz" integrity sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg== dependencies: jest-regex-util "^29.4.3" @@ -6679,7 +6642,7 @@ jest-resolve-dependencies@^29.5.0: jest-resolve@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz#b053cc95ad1d5f6327f0ac8aae9f98795475ecdc" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz" integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w== dependencies: chalk "^4.0.0" @@ -6694,7 +6657,7 @@ jest-resolve@^29.5.0: jest-runner@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz#6a57c282eb0ef749778d444c1d758c6a7693b6f8" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz" integrity sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ== dependencies: "@jest/console" "^29.5.0" @@ -6721,7 +6684,7 @@ jest-runner@^29.5.0: jest-runtime@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz#c83f943ee0c1da7eb91fa181b0811ebd59b03420" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz" integrity sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw== dependencies: "@jest/environment" "^29.5.0" @@ -6749,7 +6712,7 @@ jest-runtime@^29.5.0: jest-snapshot@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz#c9c1ce0331e5b63cd444e2f95a55a73b84b1e8ce" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz" integrity sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g== dependencies: "@babel/core" "^7.11.6" @@ -6778,7 +6741,7 @@ jest-snapshot@^29.5.0: jest-util@^29.0.0, jest-util@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz" integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ== dependencies: "@jest/types" "^29.5.0" @@ -6790,7 +6753,7 @@ jest-util@^29.0.0, jest-util@^29.5.0: jest-validate@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz#8e5a8f36178d40e47138dc00866a5f3bd9916ffc" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz" integrity sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ== dependencies: "@jest/types" "^29.5.0" @@ -6802,7 +6765,7 @@ jest-validate@^29.5.0: jest-watcher@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz#cf7f0f949828ba65ddbbb45c743a382a4d911363" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz" integrity sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA== dependencies: "@jest/test-result" "^29.5.0" @@ -6816,7 +6779,7 @@ jest-watcher@^29.5.0: jest-worker@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz" integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA== dependencies: "@types/node" "*" @@ -6826,7 +6789,7 @@ jest-worker@^29.5.0: jest@^29, jest@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz#f75157622f5ce7ad53028f2f8888ab53e1f1f24e" + resolved "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz" integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ== dependencies: "@jest/core" "^29.5.0" @@ -6836,22 +6799,22 @@ jest@^29, jest@^29.5.0: jju@^1.1.0: version "1.4.0" - resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== jmespath@0.16.0: version "0.16.0" - resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz" integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== js-sdsl@^4.1.4: version "4.3.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz" integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@3.14.0: @@ -6864,14 +6827,14 @@ js-yaml@3.14.0: js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" js-yaml@^3.10.0, js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -6879,12 +6842,12 @@ js-yaml@^3.10.0, js-yaml@^3.13.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsii-diff@1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/jsii-diff/-/jsii-diff-1.78.1.tgz#29920ee69793bf9a9cde4787c78f6f31912c4af1" + resolved "https://registry.npmjs.org/jsii-diff/-/jsii-diff-1.78.1.tgz" integrity sha512-WiFM99y9qmXyMQCjQMB5YERs+AVQ807smpzOkyLsWyw0dSbjeMM0d59SW9d6AVFS80kGo1yao2P04bPhmjgOow== dependencies: "@jsii/check-node" "1.78.1" @@ -6896,7 +6859,7 @@ jsii-diff@1.78.1: jsii-pacmak@1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.78.1.tgz#8ad6c807f45742f4de8501151e07b1456ac77e3b" + resolved "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.78.1.tgz" integrity sha512-4zDYcleQOHF/735YiYWOYSWKAlKSaFU8gUWSssZO7aOGgQ6C3yDoWtRvbnYnlTUC303S7hkd3ieiJdShCLKvzg== dependencies: "@jsii/check-node" "1.78.1" @@ -6913,9 +6876,9 @@ jsii-pacmak@1.78.1: xmlbuilder "^15.1.1" yargs "^16.2.0" -jsii-reflect@1.78.1, jsii-reflect@^1.78.1: +jsii-reflect@1.78.1, jsii-reflect@^1.77.0, jsii-reflect@^1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.78.1.tgz#8d32a9378294f8af27eaeb84abb3d8f1ffe2f1eb" + resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.78.1.tgz" integrity sha512-fdlUOAua7Qj/mPTdHIBYUVpZ+LMs+BJCzPQZEF3wheFYJK5p9mQpn83zums5adFwV1R+5yjaqPnfb748GDCBzw== dependencies: "@jsii/check-node" "1.78.1" @@ -6925,21 +6888,9 @@ jsii-reflect@1.78.1, jsii-reflect@^1.78.1: oo-ascii-tree "^1.78.1" yargs "^16.2.0" -jsii-reflect@^1.77.0: - version "1.78.0" - resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.78.0.tgz#5fc8ac6faaf7629906169fa3814bccc4008fbf52" - integrity sha512-iKRepENxf1QER/9bnjH6FQXiuYatdok5wkLvI49oDUBdZa5Qepcak6ezohBRQaFste1nxqimrxrypMrh+C40Zg== - dependencies: - "@jsii/check-node" "1.78.0" - "@jsii/spec" "^1.78.0" - chalk "^4" - fs-extra "^10.1.0" - oo-ascii-tree "^1.78.0" - yargs "^16.2.0" - jsii-rosetta@^1.77.0: version "1.77.0" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.77.0.tgz#12e99f0e43c5028456883f46d3ac92bd8c77a22e" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.77.0.tgz" integrity sha512-gOpK7YxGb64Fwy6zvEpRV3umC3u77HAmltP3kSF/eGPmM04ggTQ17UEfN+XsEO4NXJh1LDniMDyMjOIa3QViBw== dependencies: "@jsii/check-node" "1.77.0" @@ -6956,7 +6907,7 @@ jsii-rosetta@^1.77.0: jsii-rosetta@^1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.78.1.tgz#e3bba787263135e96d80a503e27e7ce61ba3c343" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.78.1.tgz" integrity sha512-HljTgK3/Pnvjm6raHuTr8aQL1V/y+ZxHb8fEQEHCE+HshwUYdxz5j4LGdS8E6ZBReHYMPCbtMVGWnwxjXcsoGQ== dependencies: "@jsii/check-node" "1.78.1" @@ -6973,7 +6924,7 @@ jsii-rosetta@^1.78.1: jsii-rosetta@~5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.0.0.tgz#14801f97427db6cb4ad4b693924b3c9427069df1" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.0.0.tgz" integrity sha512-DQ20nZCJO0idMnTlIxCxJs+3zt7JEhmbTtuzGkS0e9E62iT1cMB4qiyCZ97rFqzUcWxKjq31HiEEjp9ou28row== dependencies: "@jsii/check-node" "1.78.1" @@ -6991,7 +6942,7 @@ jsii-rosetta@~5.0.0: jsii@1.77.0, jsii@^1.77.0: version "1.77.0" - resolved "https://registry.npmjs.org/jsii/-/jsii-1.77.0.tgz#bc3f4e3c475045f5d8d49c3c6fe202b33a1d0705" + resolved "https://registry.npmjs.org/jsii/-/jsii-1.77.0.tgz" integrity sha512-3VODnWUhljro1+PmWlTWAEUPxWGWwCOmzOS6EG7l5E1KthurCgQDzhpTySlw80U85mGU9XvDJMcpvwuj3ESrKA== dependencies: "@jsii/check-node" "1.77.0" @@ -7010,7 +6961,7 @@ jsii@1.77.0, jsii@^1.77.0: jsii@1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/jsii/-/jsii-1.78.1.tgz#21a919e0a4515fdf3dddc634133085d9079d5026" + resolved "https://registry.npmjs.org/jsii/-/jsii-1.78.1.tgz" integrity sha512-IQu18rVRVi5hnwl7vd7UNFPd9ZlX40P/GdaybO3qgYp8meyLbuvIlFIZ7mPQYUHA8TqFD51bo2byyocm+jHBkQ== dependencies: "@jsii/check-node" "1.78.1" @@ -7028,27 +6979,27 @@ jsii@1.78.1: yargs "^16.2.0" jsii@v5.0-next: - version "5.0.2-dev.2" - resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.2-dev.2.tgz#03df0368380f6c7deeafc0996d2d18f9a5dfafca" - integrity sha512-DO9nWtNV0XCG0Be3xxn/bOaWmwgXuTzlDyj8w6fF+odUpnDFx/CJDtqfaOfhC6ITUmpr3rkicNTAhBAZQD/xuQ== + version "5.0.12-dev.0" + resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.12-dev.0.tgz#7c0f521b95770acf5caac5fd81fc84fec4bbfe2b" + integrity sha512-lbWC/kCW+1ZN5CZb/ChB02uclDSaqfj6EXDnxWJ9CTGc3tyLWq032nwI307igW71bf7CV+tYneu22TnZUPZaTA== dependencies: - "@jsii/check-node" "1.79.0" - "@jsii/spec" "^1.79.0" + "@jsii/check-node" "1.84.0" + "@jsii/spec" "^1.84.0" case "^1.6.3" chalk "^4" downlevel-dts "^0.11.0" fast-deep-equal "^3.1.3" log4js "^6.9.1" - semver "^7.3.8" + semver "^7.5.2" semver-intersect "^1.4.0" sort-json "^2.0.1" spdx-license-list "^6.6.0" - typescript "~5.0.2" - yargs "^17.7.1" + typescript "~5.0.4" + yargs "^17.7.2" jsii@~5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.2.tgz#d8d7252583a73d7812b3d8a58ad22d4b71ce4170" + resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.2.tgz" integrity sha512-5L9Kl11jGS9Iikf0Ran/Vv1CYHAkTfeuRs9JPj9x8qvwJxMQwhQDwEiz6RqT1ekAxZs6syknpa077/Yt+l4ifQ== dependencies: "@jsii/check-node" "1.79.0" @@ -7067,12 +7018,12 @@ jsii@~5.0.2: json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-diff@^0.10.0: version "0.10.0" - resolved "https://registry.npmjs.org/json-diff/-/json-diff-0.10.0.tgz#9ded0aea47bccad7900eabce441d03a82cbd19af" + resolved "https://registry.npmjs.org/json-diff/-/json-diff-0.10.0.tgz" integrity sha512-jOkbyMEdbIhROk4s9qWyD+YZ1jSHX8mHlUqWz71jwnRB/rDhWZBLdhv84j5pu4Ri8fFAnFOZANHKIlExcf2+KQ== dependencies: cli-color "^2.0.0" @@ -7081,78 +7032,78 @@ json-diff@^0.10.0: json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-parse-even-better-errors@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz" integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== json-parse-helpfulerror@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" + resolved "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz" integrity sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg== dependencies: jju "^1.1.0" json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-nice@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + resolved "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz" integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== json-stringify-safe@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.2.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonc-parser@3.2.0, jsonc-parser@~3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -7161,22 +7112,22 @@ jsonfile@^6.0.1: jsonlines@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/jsonlines/-/jsonlines-0.1.1.tgz#4fcd246dc5d0e38691907c44ab002f782d1d94cc" + resolved "https://registry.npmjs.org/jsonlines/-/jsonlines-0.1.1.tgz" integrity sha512-ekDrAGso79Cvf+dtm+mL8OBI2bmAOt3gssYs833De/C9NmIpWDWyUO4zPgB5x2/OhY366dkhgfPMYfwZF7yOZA== jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== jsonschema@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" + resolved "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz" integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== jszip@^3.10.1: version "3.10.1" - resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: lie "~3.3.0" @@ -7186,7 +7137,7 @@ jszip@^3.10.1: just-diff-apply@^5.2.0: version "5.5.0" - resolved "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + resolved "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz" integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== just-diff@^5.0.1: @@ -7196,51 +7147,51 @@ just-diff@^5.0.1: just-diff@^6.0.0: version "6.0.2" - resolved "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" + resolved "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz" integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== just-extend@^4.0.2: version "4.2.1" - resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== keyv@^4.5.2: version "4.5.2" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz" integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== dependencies: json-buffer "3.0.1" kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== dependencies: graceful-fs "^4.1.11" kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== kleur@^4.0.1: version "4.1.5" - resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== lambda-leak@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/lambda-leak/-/lambda-leak-2.0.0.tgz#771985d3628487f6e885afae2b54510dcfb2cd7e" + resolved "https://registry.npmjs.org/lambda-leak/-/lambda-leak-2.0.0.tgz" integrity sha512-2c9jwUN3ZLa2GEiOhObbx2BMGQplEUCDHSIkhDtYwUjsTfiV/3jCF6ThIuEXfsvqbUK+0QpZcugIKB8YMbSevQ== lambda-tester@^3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/lambda-tester/-/lambda-tester-3.6.0.tgz#ceb7d4f4f0da768487a05cff37dcd088508b5247" + resolved "https://registry.npmjs.org/lambda-tester/-/lambda-tester-3.6.0.tgz" integrity sha512-F2ZTGWCLyIR95o/jWK46V/WnOCFAEUG/m/V7/CLhPJ7PCM+pror1rZ6ujP3TkItSGxUfpJi0kqwidw+M/nEqWw== dependencies: app-root-path "^2.2.1" @@ -7253,21 +7204,21 @@ lambda-tester@^3.6.0: latest-version@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== dependencies: package-json "^8.1.0" lazystream@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz" integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== dependencies: readable-stream "^2.0.5" lerna@^6.6.1: version "6.6.1" - resolved "https://registry.npmjs.org/lerna/-/lerna-6.6.1.tgz#4897171aed64e244a2d0f9000eef5c5b228f9332" + resolved "https://registry.npmjs.org/lerna/-/lerna-6.6.1.tgz" integrity sha512-WJtrvmbmR+6hMB9b5pvsxJzew0lRL6hARgW/My9BM4vYaxwPIA2I0riv3qQu5Zd7lYse7FEqJkTnl9Kn1bXhLA== dependencies: "@lerna/child-process" "6.6.1" @@ -7349,12 +7300,12 @@ lerna@^6.6.1: leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -7362,7 +7313,7 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== dependencies: prelude-ls "~1.1.2" @@ -7370,7 +7321,7 @@ levn@~0.3.0: libnpmaccess@6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded" + resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.3.tgz" integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg== dependencies: aproba "^2.0.0" @@ -7380,7 +7331,7 @@ libnpmaccess@6.0.3: libnpmaccess@^6.0.4: version "6.0.4" - resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz" integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== dependencies: aproba "^2.0.0" @@ -7390,7 +7341,7 @@ libnpmaccess@^6.0.4: libnpmdiff@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" + resolved "https://registry.npmjs.org/libnpmdiff/-/libnpmdiff-4.0.5.tgz" integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== dependencies: "@npmcli/disparity-colors" "^2.0.0" @@ -7404,7 +7355,7 @@ libnpmdiff@^4.0.5: libnpmexec@^4.0.14: version "4.0.14" - resolved "https://registry.npmjs.org/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" + resolved "https://registry.npmjs.org/libnpmexec/-/libnpmexec-4.0.14.tgz" integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== dependencies: "@npmcli/arborist" "^5.6.3" @@ -7424,14 +7375,14 @@ libnpmexec@^4.0.14: libnpmfund@^3.0.5: version "3.0.5" - resolved "https://registry.npmjs.org/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" + resolved "https://registry.npmjs.org/libnpmfund/-/libnpmfund-3.0.5.tgz" integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== dependencies: "@npmcli/arborist" "^5.6.3" libnpmhook@^8.0.4: version "8.0.4" - resolved "https://registry.npmjs.org/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" + resolved "https://registry.npmjs.org/libnpmhook/-/libnpmhook-8.0.4.tgz" integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== dependencies: aproba "^2.0.0" @@ -7439,7 +7390,7 @@ libnpmhook@^8.0.4: libnpmorg@^4.0.4: version "4.0.4" - resolved "https://registry.npmjs.org/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" + resolved "https://registry.npmjs.org/libnpmorg/-/libnpmorg-4.0.4.tgz" integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== dependencies: aproba "^2.0.0" @@ -7447,7 +7398,7 @@ libnpmorg@^4.0.4: libnpmpack@^4.1.3: version "4.1.3" - resolved "https://registry.npmjs.org/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" + resolved "https://registry.npmjs.org/libnpmpack/-/libnpmpack-4.1.3.tgz" integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== dependencies: "@npmcli/run-script" "^4.1.3" @@ -7456,7 +7407,7 @@ libnpmpack@^4.1.3: libnpmpublish@6.0.4: version "6.0.4" - resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b" + resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.4.tgz" integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg== dependencies: normalize-package-data "^4.0.0" @@ -7467,7 +7418,7 @@ libnpmpublish@6.0.4: libnpmpublish@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz" integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== dependencies: normalize-package-data "^4.0.0" @@ -7478,14 +7429,14 @@ libnpmpublish@^6.0.5: libnpmsearch@^5.0.4: version "5.0.4" - resolved "https://registry.npmjs.org/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" + resolved "https://registry.npmjs.org/libnpmsearch/-/libnpmsearch-5.0.4.tgz" integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== dependencies: npm-registry-fetch "^13.0.0" libnpmteam@^4.0.4: version "4.0.4" - resolved "https://registry.npmjs.org/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" + resolved "https://registry.npmjs.org/libnpmteam/-/libnpmteam-4.0.4.tgz" integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== dependencies: aproba "^2.0.0" @@ -7493,7 +7444,7 @@ libnpmteam@^4.0.4: libnpmversion@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" + resolved "https://registry.npmjs.org/libnpmversion/-/libnpmversion-3.0.7.tgz" integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== dependencies: "@npmcli/git" "^3.0.0" @@ -7504,7 +7455,7 @@ libnpmversion@^3.0.7: license-checker@^25.0.1: version "25.0.1" - resolved "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz#4d14504478a5240a857bb3c21cd0491a00d761fa" + resolved "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz" integrity sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g== dependencies: chalk "^2.4.1" @@ -7520,36 +7471,36 @@ license-checker@^25.0.1: lie@~3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== dependencies: immediate "~3.0.5" line-reader@^0.2.4: version "0.2.4" - resolved "https://registry.npmjs.org/line-reader/-/line-reader-0.2.4.tgz#c4392b587dea38580c9678570e6e8e49fce52622" + resolved "https://registry.npmjs.org/line-reader/-/line-reader-0.2.4.tgz" integrity sha512-342xzyZZS9uTiKwHJcMacopVl/WjrMMCZS1Qg4Uhl/WBknWRrGFdKOIS1Kec6SaiTcZMtmuxWvvIbPXj/+FMjA== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lines-and-columns@~2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz" integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== linkify-it@^3.0.1: version "3.0.3" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz" integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== dependencies: uc.micro "^1.0.1" load-json-file@6.2.0, load-json-file@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== dependencies: graceful-fs "^4.1.15" @@ -7559,7 +7510,7 @@ load-json-file@6.2.0, load-json-file@^6.2.0: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" @@ -7569,7 +7520,7 @@ load-json-file@^4.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" @@ -7577,7 +7528,7 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -7585,81 +7536,81 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.defaults@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== lodash.difference@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== lodash.flatten@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== lodash.get@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== lodash.ismatch@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== lodash.memoize@4.x: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash.union@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: chalk "^4.1.0" @@ -7667,7 +7618,7 @@ log-symbols@^4.1.0: log4js@^6.8.0: version "6.9.0" - resolved "https://registry.npmjs.org/log4js/-/log4js-6.9.0.tgz#2687c08b330f610054e79c492b35c677c9b183eb" + resolved "https://registry.npmjs.org/log4js/-/log4js-6.9.0.tgz" integrity sha512-sAGxJKqxXFlK+05OlMH6SIDAdvgQHj95EfSDOfkHW6BQUlkz+fZw8PWhydfRHq+0UuWYWR55mVnR+KTnWE2JDA== dependencies: date-format "^4.0.14" @@ -7678,7 +7629,7 @@ log4js@^6.8.0: log4js@^6.9.1: version "6.9.1" - resolved "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + resolved "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz" integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== dependencies: date-format "^4.0.14" @@ -7689,38 +7640,38 @@ log4js@^6.9.1: lowercase-keys@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" lru-cache@^7.14.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: version "7.18.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== lru-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz" integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== dependencies: es5-ext "~0.10.2" madge@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/madge/-/madge-5.0.2.tgz#d34527af7e96de9625e8069902667c4c5a073ada" + resolved "https://registry.npmjs.org/madge/-/madge-5.0.2.tgz" integrity sha512-OeqFIgugINbVqh6keLWePD/N3u1EEYS3O9gCTD+EjcuaJa1TH30jcCxr8CEl3+neS1VM8sDCQSYoln/2li3ceg== dependencies: chalk "^4.1.1" @@ -7748,14 +7699,14 @@ madge@^5.0.2: make-dir@3.1.0, make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" @@ -7763,12 +7714,12 @@ make-dir@^2.1.0: make-error@1.x, make-error@^1.1.1: version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: version "10.2.1" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz" integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== dependencies: agentkeepalive "^4.2.1" @@ -7790,7 +7741,7 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1: version "11.0.3" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz#ed83dd3685b97f75607156d2721848f6eca561b9" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz" integrity sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA== dependencies: agentkeepalive "^4.2.1" @@ -7809,9 +7760,30 @@ make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1: socks-proxy-agent "^7.0.0" ssri "^10.0.0" +make-fetch-happen@^11.0.3: + version "11.1.1" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" + integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^17.0.0" + http-cache-semantics "^4.1.1" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^10.0.0" + make-runnable@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/make-runnable/-/make-runnable-1.4.1.tgz#a230f5bc085468362dc73c9f2391948b26e777ba" + resolved "https://registry.npmjs.org/make-runnable/-/make-runnable-1.4.1.tgz" integrity sha512-18F9NyNAPcoAT5a1y5r2bBOEY17Z4fa86WXBfLcSOzNo8/KSCymyViDDlsPJ66xhatwBVfodiXYyOm5Jvz9YFA== dependencies: bluebird "^3.5.0" @@ -7819,19 +7791,19 @@ make-runnable@^1.4.1: makeerror@1.0.12: version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: tmpl "1.0.5" map-obj@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== markdown-it@13.0.1, markdown-it@^12.3.2: @@ -7847,7 +7819,7 @@ markdown-it@13.0.1, markdown-it@^12.3.2: markdownlint-cli@^0.33.0: version "0.33.0" - resolved "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz#703af1234c32c309ab52fcd0e8bc797a34e2b096" + resolved "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz" integrity sha512-zMK1oHpjYkhjO+94+ngARiBBrRDEUMzooDHBAHtmEIJ9oYddd9l3chCReY2mPlecwH7gflQp1ApilTo+o0zopQ== dependencies: commander "~9.4.1" @@ -7862,14 +7834,14 @@ markdownlint-cli@^0.33.0: markdownlint@~0.27.0: version "0.27.0" - resolved "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz#9dabf7710a4999e2835e3c68317f1acd0bc89049" + resolved "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz" integrity sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w== dependencies: markdown-it "13.0.1" md5@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== dependencies: charenc "0.0.2" @@ -7878,12 +7850,12 @@ md5@^2.3.0: mdurl@^1.0.1, mdurl@~1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== memoizee@^0.4.15: version "0.4.15" - resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== dependencies: d "^1.0.1" @@ -7897,7 +7869,7 @@ memoizee@^0.4.15: meow@^8.0.0: version "8.1.2" - resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" @@ -7914,17 +7886,17 @@ meow@^8.0.0: merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -7932,93 +7904,93 @@ micromatch@^4.0.2, micromatch@^4.0.4: mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" mime@^2.6.0: version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== mimic-response@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@3.0.5: version "3.0.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz" integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== dependencies: brace-expansion "^1.1.7" minimatch@>=3.1: version "7.4.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz" integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA== dependencies: brace-expansion "^2.0.1" minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1, minimatch@^5.1.0, minimatch@~5.1.2: version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" minimatch@^6.1.6: version "6.2.0" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz" integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== dependencies: brace-expansion "^2.0.1" minimatch@^7.4.1, minimatch@^7.4.2: version "7.4.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.3.tgz" integrity sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A== dependencies: brace-expansion "^2.0.1" minimatch@^8.0.3: version "8.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz" integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== dependencies: brace-expansion "^2.0.1" minimist-options@4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" @@ -8027,19 +7999,19 @@ minimist-options@4.1.0: minimist@>=1.2.2, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass-collect@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== dependencies: minipass "^3.0.0" minipass-fetch@^2.0.3: version "2.1.2" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz" integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== dependencies: minipass "^3.1.6" @@ -8050,7 +8022,7 @@ minipass-fetch@^2.0.3: minipass-fetch@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz#bae3789f668d82ffae3ea47edc6b78b8283b3656" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz" integrity sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw== dependencies: minipass "^4.0.0" @@ -8061,14 +8033,14 @@ minipass-fetch@^3.0.0: minipass-flush@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: minipass "^3.0.0" minipass-json-stream@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== dependencies: jsonparse "^1.3.1" @@ -8076,38 +8048,43 @@ minipass-json-stream@^1.0.1: minipass-pipeline@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" minipass-sized@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== dependencies: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.3.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" minipass@^4.0.0: version "4.2.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz#7d0d97434b6a19f59c5c3221698b48bbf3b2cd06" + resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz" integrity sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ== minipass@^4.0.2, minipass@^4.2.4: version "4.2.5" - resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" + resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz" integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -8115,7 +8092,7 @@ minizlib@^2.1.1, minizlib@^2.1.2: mkdirp-infer-owner@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== dependencies: chownr "^2.0.0" @@ -8124,34 +8101,34 @@ mkdirp-infer-owner@^2.0.0: mkdirp@^0.5.1: version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mock-fs@^4.14.0: version "4.14.0" - resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz" integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== mockery@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz#5b0aef1ff564f0f8139445e165536c7909713470" + resolved "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz" integrity sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA== modify-values@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== module-definition@^3.3.1: version "3.4.0" - resolved "https://registry.npmjs.org/module-definition/-/module-definition-3.4.0.tgz#953a3861f65df5e43e80487df98bb35b70614c2b" + resolved "https://registry.npmjs.org/module-definition/-/module-definition-3.4.0.tgz" integrity sha512-XxJ88R1v458pifaSkPNLUTdSPNVGMP2SXVncVmApGO+gAfrLANiYe6JofymCzVceGOMwQE2xogxBSc8uB7XegA== dependencies: ast-module-types "^3.0.0" @@ -8159,7 +8136,7 @@ module-definition@^3.3.1: module-lookup-amd@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-7.0.1.tgz#d67c1a93f2ff8e38b8774b99a638e9a4395774b2" + resolved "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-7.0.1.tgz" integrity sha512-w9mCNlj0S8qviuHzpakaLVc+/7q50jl9a/kmJ/n8bmXQZgDPkQHnPBb8MUOYh3WpAYkXuNc2c+khsozhIp/amQ== dependencies: commander "^2.8.1" @@ -8170,17 +8147,17 @@ module-lookup-amd@^7.0.1: ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@^2.0.0, ms@^2.1.1, ms@^2.1.2: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multimatch@5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== dependencies: "@types/minimatch" "^3.0.3" @@ -8191,52 +8168,52 @@ multimatch@5.0.0: mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nanoid@^3.3.4: version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== natural-compare-lite@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== negotiator@^0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.6.0: version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== netmask@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== next-tick@1, next-tick@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nise@^4.0.4: version "4.1.0" - resolved "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz#8fb75a26e90b99202fa1e63f448f58efbcdedaf6" + resolved "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz" integrity sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA== dependencies: "@sinonjs/commons" "^1.7.0" @@ -8247,7 +8224,7 @@ nise@^4.0.4: nise@^5.1.0: version "5.1.4" - resolved "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz#491ce7e7307d4ec546f5a659b2efe94a18b4bbc0" + resolved "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz" integrity sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg== dependencies: "@sinonjs/commons" "^2.0.0" @@ -8258,7 +8235,7 @@ nise@^5.1.0: nock@^13.3.0: version "13.3.0" - resolved "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" + resolved "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz" integrity sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg== dependencies: debug "^4.1.0" @@ -8268,31 +8245,31 @@ nock@^13.3.0: node-addon-api@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== node-fetch@2.6.7: version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" node-fetch@^2.6.7: version "2.6.9" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: whatwg-url "^5.0.0" node-gyp-build@^4.3.0: version "4.6.0" - resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz" integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== -node-gyp@^9.0.0, node-gyp@^9.1.0: +node-gyp@^9.0.0: version "9.3.1" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz" integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg== dependencies: env-paths "^2.2.0" @@ -8306,33 +8283,50 @@ node-gyp@^9.0.0, node-gyp@^9.1.0: tar "^6.1.2" which "^2.0.2" +node-gyp@^9.1.0: + version "9.4.0" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369" + integrity sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^11.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-preload@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" + resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz" integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== dependencies: process-on-spawn "^1.0.0" node-releases@^2.0.8: version "2.0.10" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== node-source-walk@^4.0.0, node-source-walk@^4.2.0, node-source-walk@^4.2.2: version "4.3.0" - resolved "https://registry.npmjs.org/node-source-walk/-/node-source-walk-4.3.0.tgz#8336b56cfed23ac5180fe98f1e3bb6b11fd5317c" + resolved "https://registry.npmjs.org/node-source-walk/-/node-source-walk-4.3.0.tgz" integrity sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA== dependencies: "@babel/parser" "^7.0.0" nopt@^4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== dependencies: abbrev "1" @@ -8340,21 +8334,21 @@ nopt@^4.0.1: nopt@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz" integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== dependencies: abbrev "^1.0.0" nopt@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-7.1.0.tgz#91f6a3366182176e72ecab93a09c19b63b485f28" + resolved "https://registry.npmjs.org/nopt/-/nopt-7.1.0.tgz" integrity sha512-ZFPLe9Iu0tnx7oWhFxAo4s7QTn8+NNDDxYNaKLjE7Dp0tbakQ3M1QhQzsnzXHQBTUO3K9BmwaxnyO8Ayn2I95Q== dependencies: abbrev "^2.0.0" normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -8364,7 +8358,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package- normalize-package-data@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" @@ -8374,7 +8368,7 @@ normalize-package-data@^3.0.0: normalize-package-data@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz" integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== dependencies: hosted-git-info "^5.0.0" @@ -8384,7 +8378,7 @@ normalize-package-data@^4.0.0: normalize-package-data@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz" integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== dependencies: hosted-git-info "^6.0.0" @@ -8394,45 +8388,45 @@ normalize-package-data@^5.0.0: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz" integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== npm-audit-report@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" + resolved "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-3.0.0.tgz" integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== dependencies: chalk "^4.0.0" npm-bundled@^1.1.1, npm-bundled@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" npm-bundled@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz" integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== dependencies: npm-normalize-package-bin "^2.0.0" npm-bundled@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz" integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== dependencies: npm-normalize-package-bin "^3.0.0" npm-check-updates@^16: version "16.10.8" - resolved "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.10.8.tgz#a8b9cb3a7bfecad4d95e2b5a51ed2431d162478e" + resolved "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.10.8.tgz" integrity sha512-e+p3rUCvaU0iKOvi+/Xiyx+mLe9/aRTu9Zrc7+TR6H2q+uFgmXEwqbXYN9Ngqsta8gdTjpn751UD5MEOogO5cA== dependencies: chalk "^5.2.0" @@ -8468,36 +8462,36 @@ npm-check-updates@^16: npm-install-checks@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz" integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== dependencies: semver "^7.1.1" npm-install-checks@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.0.tgz#7221210d9d746a40c37bf6c9b6c7a39f85e92998" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.0.tgz" integrity sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA== dependencies: semver "^7.1.1" npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== npm-normalize-package-bin@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz" integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== npm-normalize-package-bin@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz" integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== npm-package-arg@8.1.1: version "8.1.1" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz" integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== dependencies: hosted-git-info "^3.0.6" @@ -8506,7 +8500,7 @@ npm-package-arg@8.1.1: npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz" integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== dependencies: hosted-git-info "^6.0.0" @@ -8516,7 +8510,7 @@ npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: npm-package-arg@^8.1.0: version "8.1.5" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz" integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== dependencies: hosted-git-info "^4.0.1" @@ -8525,7 +8519,7 @@ npm-package-arg@^8.1.0: npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.2" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz" integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== dependencies: hosted-git-info "^5.0.0" @@ -8535,7 +8529,7 @@ npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: npm-packlist@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz" integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== dependencies: glob "^8.0.1" @@ -8545,7 +8539,7 @@ npm-packlist@5.1.1: npm-packlist@^5.1.0: version "5.1.3" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz" integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== dependencies: glob "^8.0.1" @@ -8555,14 +8549,14 @@ npm-packlist@^5.1.0: npm-packlist@^7.0.0: version "7.0.4" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz" integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== dependencies: ignore-walk "^6.0.0" npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: version "7.0.2" - resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz" integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== dependencies: npm-install-checks "^5.0.0" @@ -8572,7 +8566,7 @@ npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz#c6acd97d1ad4c5dbb80eac7b386b03ffeb289e5f" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz" integrity sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA== dependencies: npm-install-checks "^6.0.0" @@ -8582,7 +8576,7 @@ npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1: npm-profile@^6.2.0: version "6.2.1" - resolved "https://registry.npmjs.org/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" + resolved "https://registry.npmjs.org/npm-profile/-/npm-profile-6.2.1.tgz" integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== dependencies: npm-registry-fetch "^13.0.1" @@ -8590,7 +8584,7 @@ npm-profile@^6.2.0: npm-registry-fetch@14.0.3, npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3: version "14.0.3" - resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz#8545e321c2b36d2c6fe6e009e77e9f0e527f547b" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz" integrity sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA== dependencies: make-fetch-happen "^11.0.0" @@ -8603,7 +8597,7 @@ npm-registry-fetch@14.0.3, npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0. npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: version "13.3.1" - resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz" integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== dependencies: make-fetch-happen "^10.0.6" @@ -8616,19 +8610,19 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3 npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npm-user-validate@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + resolved "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.1.tgz" integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.19.4: version "8.19.4" - resolved "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz#65ad6a2dfdd157a4ef4467fb86e8dcd35a43493f" + resolved "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz" integrity sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw== dependencies: "@isaacs/string-locale-compare" "^1.1.0" @@ -8707,7 +8701,7 @@ npm@^8.19.4: npmlog@6.0.2, npmlog@^6.0.0, npmlog@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== dependencies: are-we-there-yet "^3.0.0" @@ -8717,7 +8711,7 @@ npmlog@6.0.2, npmlog@^6.0.0, npmlog@^6.0.2: npmlog@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" @@ -8727,7 +8721,7 @@ npmlog@^4.1.2: npmlog@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz" integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== dependencies: are-we-there-yet "^4.0.0" @@ -8737,7 +8731,7 @@ npmlog@^7.0.1: nx@15.9.1, "nx@>=15.5.2 < 16", nx@^15.9.1: version "15.9.1" - resolved "https://registry.npmjs.org/nx/-/nx-15.9.1.tgz#c6a923cc29a869feeeab5768fc18a314fb696a84" + resolved "https://registry.npmjs.org/nx/-/nx-15.9.1.tgz" integrity sha512-4PXqQ45JPUBTYqVkVFmUg+mGj+qYkn89Cf+T1n+V1EC8p0pdavqPNaMaTxJTJDOP0TyF+yZ780Kujbarzae8bg== dependencies: "@nrwl/cli" "15.9.1" @@ -8788,7 +8782,7 @@ nx@15.9.1, "nx@>=15.5.2 < 16", nx@^15.9.1: nyc@^15.1.0: version "15.1.0" - resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" + resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz" integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== dependencies: "@istanbuljs/load-nyc-config" "^1.0.0" @@ -8821,22 +8815,22 @@ nyc@^15.1.0: object-assign@^4.1.0: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.4: version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" @@ -8846,7 +8840,7 @@ object.assign@^4.1.4: object.values@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" @@ -8855,31 +8849,26 @@ object.values@^1.1.6: once@^1.3.0, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -oo-ascii-tree@^1.78.0: - version "1.78.0" - resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.78.0.tgz#423f4db4dd5ae9ed5562608c61cf64b1c0f906be" - integrity sha512-1xNAGuyU4mRuseC3JKAzMVczP4jaIXr+hlLLJZwUdPeBDv1geAGxA/Rxixs3tcmUSX4us6RAuqjX1tJ6Vlezyg== - oo-ascii-tree@^1.78.1: version "1.78.1" - resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.78.1.tgz#99e92e313c9d80fe0cbba631e79282c7375f77bb" + resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.78.1.tgz" integrity sha512-XHgsuZb1s1Vio1Q1Fr1CIrt9lS9VkBOwwxfPIC9KXiinBaV7dRSUS9XzlpTIS7d68zh5AGZQ+aB8o5tIq79wLA== open@^7.4.2: version "7.4.2" - resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" @@ -8887,7 +8876,7 @@ open@^7.4.2: open@^8.4.0: version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" @@ -8896,12 +8885,12 @@ open@^8.4.0: opener@^1.5.2: version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== optionator@^0.8.1: version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" @@ -8913,7 +8902,7 @@ optionator@^0.8.1: optionator@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -8925,7 +8914,7 @@ optionator@^0.9.1: ora@^5.4.1: version "5.4.1" - resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== dependencies: bl "^4.1.0" @@ -8940,17 +8929,17 @@ ora@^5.4.1: os-homedir@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== osenv@^0.1.4: version "0.1.5" - resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" @@ -8958,90 +8947,90 @@ osenv@^0.1.4: p-cancelable@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-map-series@2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz" integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== p-map@4.0.0, p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-map@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== dependencies: aggregate-error "^3.0.0" p-pipe@3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== p-queue@6.6.2, p-queue@^6.6.2: version "6.6.2" - resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: eventemitter3 "^4.0.4" @@ -9049,36 +9038,36 @@ p-queue@6.6.2, p-queue@^6.6.2: p-reduce@2.1.0, p-reduce@^2.0.0, p-reduce@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz" integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== p-timeout@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== dependencies: p-finally "^1.0.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== p-waterfall@2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + resolved "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz" integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== dependencies: p-reduce "^2.0.0" pac-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" + resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz" integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== dependencies: "@tootallnate/once" "1" @@ -9093,7 +9082,7 @@ pac-proxy-agent@^5.0.0: pac-resolver@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz#c91efa3a9af9f669104fa2f51102839d01cde8e7" + resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz" integrity sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q== dependencies: degenerator "^3.0.2" @@ -9102,7 +9091,7 @@ pac-resolver@^5.0.0: package-hash@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" + resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz" integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== dependencies: graceful-fs "^4.1.15" @@ -9112,7 +9101,7 @@ package-hash@^4.0.0: package-json@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.0.tgz#2a22806f1ed7c786c8e6ff26cfe20003bf4c6850" + resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.0.tgz" integrity sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg== dependencies: got "^12.1.0" @@ -9122,7 +9111,7 @@ package-json@^8.1.0: pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: version "13.6.2" - resolved "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + resolved "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz" integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== dependencies: "@npmcli/git" "^3.0.0" @@ -9149,7 +9138,7 @@ pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: pacote@15.1.1, pacote@^15.0.0, pacote@^15.0.8: version "15.1.1" - resolved "https://registry.npmjs.org/pacote/-/pacote-15.1.1.tgz#94d8c6e0605e04d427610b3aacb0357073978348" + resolved "https://registry.npmjs.org/pacote/-/pacote-15.1.1.tgz" integrity sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ== dependencies: "@npmcli/git" "^4.0.0" @@ -9173,19 +9162,19 @@ pacote@15.1.1, pacote@^15.0.0, pacote@^15.0.8: pako@~1.0.2: version "1.0.11" - resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz" integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== dependencies: json-parse-even-better-errors "^2.3.1" @@ -9194,7 +9183,7 @@ parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: parse-conflict-json@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" + resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz" integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== dependencies: json-parse-even-better-errors "^3.0.0" @@ -9203,12 +9192,12 @@ parse-conflict-json@^3.0.0: parse-github-url@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz" integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" @@ -9216,7 +9205,7 @@ parse-json@^4.0.0: parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -9226,26 +9215,26 @@ parse-json@^5.0.0, parse-json@^5.2.0: parse-ms@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" + resolved "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz" integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== parse-path@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + resolved "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz" integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== dependencies: protocols "^2.0.0" parse-url@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + resolved "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz" integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== dependencies: parse-path "^7.0.0" patch-package@^6.5.1: version "6.5.1" - resolved "https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz#3e5d00c16997e6160291fee06a521c42ac99b621" + resolved "https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz" integrity sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA== dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -9265,42 +9254,42 @@ patch-package@^6.5.1: path-equal@^1.1.2: version "1.2.5" - resolved "https://registry.npmjs.org/path-equal/-/path-equal-1.2.5.tgz#9fcbdd5e5daee448e96f43f3bac06c666b5e982a" + resolved "https://registry.npmjs.org/path-equal/-/path-equal-1.2.5.tgz" integrity sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g== path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.6.1: version "1.6.3" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.3.tgz#4eba7183d64ef88b63c7d330bddc3ba279dc6c40" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.3.tgz" integrity sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g== dependencies: lru-cache "^7.14.1" @@ -9308,73 +9297,73 @@ path-scurry@^1.6.1: path-to-regexp@^1.7.0: version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" path-type@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@5.0.0, pify@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== pify@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pirates@^4.0.4: version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pluralize@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== postcss-selector-parser@^6.0.10: version "6.0.11" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== dependencies: cssesc "^3.0.0" @@ -9382,7 +9371,7 @@ postcss-selector-parser@^6.0.10: postcss-values-parser@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz" integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== dependencies: flatten "^1.0.2" @@ -9391,7 +9380,7 @@ postcss-values-parser@^2.0.1: postcss-values-parser@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-5.0.0.tgz#10c61ac3f488e4de25746b829ea8d8894e9ac3d2" + resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-5.0.0.tgz" integrity sha512-2viDDjMMrt21W2izbeiJxl3kFuD/+asgB0CBwPEgSyhCmBnDIa/y+pLaoyX+q3I3DHH0oPPL3cgjVTQvlS1Maw== dependencies: color-name "^1.1.4" @@ -9400,7 +9389,7 @@ postcss-values-parser@^5.0.0: postcss@^8.1.7, postcss@^8.4.6: version "8.4.21" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== dependencies: nanoid "^3.3.4" @@ -9409,7 +9398,7 @@ postcss@^8.1.7, postcss@^8.4.6: precinct@^8.0.0, precinct@^8.1.0: version "8.3.1" - resolved "https://registry.npmjs.org/precinct/-/precinct-8.3.1.tgz#94b99b623df144eed1ce40e0801c86078466f0dc" + resolved "https://registry.npmjs.org/precinct/-/precinct-8.3.1.tgz" integrity sha512-pVppfMWLp2wF68rwHqBIpPBYY8Kd12lDhk8LVQzOwqllifVR15qNFyod43YLyFpurKRZQKnE7E4pofAagDOm2Q== dependencies: commander "^2.20.3" @@ -9428,17 +9417,17 @@ precinct@^8.0.0, precinct@^8.1.0: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== pretty-format@29.4.3: version "29.4.3" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz" integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== dependencies: "@jest/schemas" "^29.4.3" @@ -9447,7 +9436,7 @@ pretty-format@29.4.3: pretty-format@^29.0.0, pretty-format@^29.5.0: version "29.5.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz" integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== dependencies: "@jest/schemas" "^29.4.3" @@ -9456,46 +9445,46 @@ pretty-format@^29.0.0, pretty-format@^29.5.0: pretty-ms@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" + resolved "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz" integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== dependencies: parse-ms "^2.1.0" proc-log@^2.0.0, proc-log@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz" integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== proc-log@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process-on-spawn@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" + resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz" integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== dependencies: fromentries "^1.2.0" process@^0.11.10: version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== progress@^2.0.0, progress@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== projen@^0.67.75: version "0.67.75" - resolved "https://registry.npmjs.org/projen/-/projen-0.67.75.tgz#64fc75d9e8aaea7ad56424bf78ba0c5d59a8f27e" + resolved "https://registry.npmjs.org/projen/-/projen-0.67.75.tgz" integrity sha512-cdCRjhyIumTPOlKIaNSl4FtJUV5QC6C11FqbdEXhOBsnLleppo62NoS/renS4IGkruyHyqliX0bXakBCskYiaQ== dependencies: "@iarna/toml" "^2.2.5" @@ -9516,22 +9505,22 @@ projen@^0.67.75: promise-all-reject-late@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + resolved "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz" integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== promise-call-limit@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24" + resolved "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz" integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q== promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== dependencies: err-code "^2.0.2" @@ -9539,14 +9528,14 @@ promise-retry@^2.0.1: promptly@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz#a5517fbbf59bd31c1751d4e1d9bef1714f42b9d8" + resolved "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz" integrity sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug== dependencies: read "^1.0.4" prompts-ncu@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/prompts-ncu/-/prompts-ncu-3.0.0.tgz#716feb4874fca3dbe00af0f3de17a15d43d2228d" + resolved "https://registry.npmjs.org/prompts-ncu/-/prompts-ncu-3.0.0.tgz" integrity sha512-qyz9UxZ5MlPKWVhWrCmSZ1ahm2GVYdjLb8og2sg0IPth1KRuhcggHGuijz0e41dkx35p1t1q3GRISGH7QGALFA== dependencies: kleur "^4.0.1" @@ -9554,7 +9543,7 @@ prompts-ncu@^3.0.0: prompts@^2.0.1: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -9562,29 +9551,29 @@ prompts@^2.0.1: promzard@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== dependencies: read "1" propagate@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" + resolved "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz" integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== protocols@^2.0.0, protocols@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + resolved "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz" integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" + resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz" integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== dependencies: agent-base "^6.0.0" @@ -9598,74 +9587,74 @@ proxy-agent@^5.0.0: proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== punycode@1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== punycode@^2.1.0, punycode@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== pupa@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" + resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz" integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== dependencies: escape-goat "^4.0.0" pure-rand@^5.0.1: version "5.0.5" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz#bda2a7f6a1fc0f284d78d78ca5902f26f2ad35cf" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz" integrity sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw== pure-rand@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.1.tgz#31207dddd15d43f299fdcdb2f572df65030c19af" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.1.tgz" integrity sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg== q@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qrcode-terminal@^0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + resolved "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== querystring@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-lru@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== quote-unquote@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz#67a9a77148effeaf81a4d428404a710baaac8a0b" + resolved "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz" integrity sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== raw-body@^2.2.0: version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" @@ -9675,7 +9664,7 @@ raw-body@^2.2.0: rc-config-loader@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.2.tgz#e57fc874bde9b1e48d8a8564f2f824f91eafd920" + resolved "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.2.tgz" integrity sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg== dependencies: debug "^4.3.4" @@ -9685,7 +9674,7 @@ rc-config-loader@^4.1.2: rc@1.2.8, rc@^1.2.7: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -9695,12 +9684,12 @@ rc@1.2.8, rc@^1.2.7: react-is@^18.0.0: version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== read-cmd-shim@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" + resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz" integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== read-cmd-shim@^3.0.0: @@ -9710,12 +9699,12 @@ read-cmd-shim@^3.0.0: read-cmd-shim@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" + resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz" integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== read-installed@~4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" + resolved "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz" integrity sha512-O03wg/IYuV/VtnK2h/KXEt9VIbMUFbk3ERG0Iu4FhLZw0EP0T9znqrYDGn6ncbEsXUFaUjiVAWXHzxwt3lhRPQ== dependencies: debuglog "^1.0.1" @@ -9729,7 +9718,7 @@ read-installed@~4.0.3: read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz" integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== dependencies: json-parse-even-better-errors "^2.3.0" @@ -9737,7 +9726,7 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz" integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== dependencies: json-parse-even-better-errors "^3.0.0" @@ -9745,7 +9734,7 @@ read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: read-package-json@5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz" integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== dependencies: glob "^8.0.1" @@ -9755,7 +9744,7 @@ read-package-json@5.0.1: read-package-json@^2.0.0: version "2.1.2" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz" integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== dependencies: glob "^7.1.1" @@ -9765,7 +9754,7 @@ read-package-json@^2.0.0: read-package-json@^5.0.0, read-package-json@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz" integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== dependencies: glob "^8.0.1" @@ -9775,7 +9764,7 @@ read-package-json@^5.0.0, read-package-json@^5.0.2: read-package-json@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.1.tgz#566cb06bc05dbddefba4607e9096d5a9efbcd836" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.1.tgz" integrity sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA== dependencies: glob "^9.3.0" @@ -9785,7 +9774,7 @@ read-package-json@^6.0.0: read-pkg-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: find-up "^2.0.0" @@ -9793,7 +9782,7 @@ read-pkg-up@^3.0.0: read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" @@ -9802,7 +9791,7 @@ read-pkg-up@^7.0.1: read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" @@ -9811,7 +9800,7 @@ read-pkg@^3.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -9821,14 +9810,14 @@ read-pkg@^5.2.0: read@1, read@^1.0.4, read@^1.0.7, read@~1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz" integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== dependencies: mute-stream "~0.0.4" readable-stream@1.1.x: version "1.1.14" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" @@ -9838,7 +9827,7 @@ readable-stream@1.1.x: readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.1" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz" integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== dependencies: inherits "^2.0.3" @@ -9847,7 +9836,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stre readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@~2.3.6: version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -9860,7 +9849,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable readable-stream@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz" integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ== dependencies: abort-controller "^3.0.0" @@ -9870,14 +9859,14 @@ readable-stream@^4.1.0: readdir-glob@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz#b185789b8e6a43491635b6953295c5c5e3fd224c" + resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz" integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA== dependencies: minimatch "^5.1.0" readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== dependencies: debuglog "^1.0.1" @@ -9887,21 +9876,21 @@ readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" redent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -9909,7 +9898,7 @@ redent@^3.0.0: regexp.prototype.flags@^1.4.3: version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" @@ -9918,63 +9907,63 @@ regexp.prototype.flags@^1.4.3: regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== registry-auth-token@^5.0.1: version "5.0.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz" integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== dependencies: "@pnpm/npm-conf" "^2.1.0" registry-url@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz" integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== dependencies: rc "1.2.8" release-zalgo@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" integrity sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA== dependencies: es6-error "^4.0.1" remote-git-tags@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/remote-git-tags/-/remote-git-tags-3.0.0.tgz#424f8ec2cdea00bb5af1784a49190f25e16983c3" + resolved "https://registry.npmjs.org/remote-git-tags/-/remote-git-tags-3.0.0.tgz" integrity sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w== remove-markdown@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.2.2.tgz#66b0ceeba9fb77ca9636bb1b0307ce21a32a12a6" + resolved "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.2.2.tgz" integrity sha512-jwgEf3Yh/xi4WodWi/vPlasa9C9pMv1kz5ITOIAGjBW7PeZ/CHZCdBfJzQnn2VX2cBvf1xCuJv0tUJqn/FCMNA== repeat-string@^1.6.1: version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== requirejs-config-file@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/requirejs-config-file/-/requirejs-config-file-4.0.0.tgz#4244da5dd1f59874038cc1091d078d620abb6ebc" + resolved "https://registry.npmjs.org/requirejs-config-file/-/requirejs-config-file-4.0.0.tgz" integrity sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw== dependencies: esprima "^4.0.0" @@ -9982,44 +9971,44 @@ requirejs-config-file@^4.0.0: requirejs@^2.3.5: version "2.3.6" - resolved "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz#e5093d9601c2829251258c0b9445d4d19fa9e7c9" + resolved "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz" integrity sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg== resolve-alpn@^1.2.0: version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-dependency-path@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-2.0.0.tgz#11700e340717b865d216c66cabeb4a2a3c696736" + resolved "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-2.0.0.tgz" integrity sha512-DIgu+0Dv+6v2XwRaNWnumKu7GPufBBOr5I1gRPJHkvghrfCGOooJODFvgFimX/KRxk9j0whD2MnKHzM1jYvk9w== resolve-from@5.0.0, resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve.exports@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.21.0, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: is-core-module "^2.9.0" @@ -10028,14 +10017,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.21.0, resolve@^1.22 responselike@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz" integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== dependencies: lowercase-keys "^3.0.0" restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" @@ -10043,48 +10032,48 @@ restore-cursor@^3.1.0: retry@^0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^2.6.3: version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rimraf@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz" integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== dependencies: glob "^9.2.0" run-async@^2.4.0: version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-con@~1.2.11: version "1.2.11" - resolved "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz#0014ed430bad034a60568dfe7de2235f32e3f3c4" + resolved "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz" integrity sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ== dependencies: deep-extend "^0.6.0" @@ -10094,38 +10083,38 @@ run-con@~1.2.11: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rxjs@^6.5.4: version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" rxjs@^7.5.5: version "7.8.0" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== dependencies: call-bind "^1.0.2" @@ -10134,123 +10123,130 @@ safe-regex-test@^1.0.0: safe-stable-stringify@^2.2.0: version "2.4.2" - resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz" integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass-lookup@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/sass-lookup/-/sass-lookup-3.0.0.tgz#3b395fa40569738ce857bc258e04df2617c48cac" + resolved "https://registry.npmjs.org/sass-lookup/-/sass-lookup-3.0.0.tgz" integrity sha512-TTsus8CfFRn1N44bvdEai1no6PqdmDiQUiqW5DlpmtT+tYnIt1tXtDIph5KA1efC+LmioJXSnCtUVpcK9gaKIg== dependencies: commander "^2.16.0" sax@1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== sax@>=0.6.0, sax@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== semver-diff@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz" integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== dependencies: semver "^7.3.5" semver-intersect@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz#bdd9c06bedcdd2fedb8cd352c3c43ee8c61321f3" + resolved "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz" integrity sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ== dependencies: semver "^5.0.0" semver-utils@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" + resolved "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.4.tgz" integrity sha512-EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA== "semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.5.0, semver@^5.6.0: version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@7.3.4: version "7.3.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" -semver@7.3.8, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@7.3.8, semver@7.x, semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" semver@^6.0.0, semver@^6.1.1, semver@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.1.1, semver@^7.5.1, semver@^7.5.2: + version "7.5.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz#5b851e66d1be07c1cdaf37dfc856f543325a2beb" + integrity sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ== + dependencies: + lru-cache "^6.0.0" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shelljs@^0.8.3, shelljs@^0.8.5: version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" @@ -10259,12 +10255,12 @@ shelljs@^0.8.3, shelljs@^0.8.5: shlex@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/shlex/-/shlex-2.1.2.tgz#5b5384d603885281c1dee05d56975865edddcba0" + resolved "https://registry.npmjs.org/shlex/-/shlex-2.1.2.tgz" integrity sha512-Nz6gtibMVgYeMEhUjp2KuwAgqaJA1K155dU/HuDaEJUGgnmYfVtVZah+uerVWdH8UGnyahhDCgABbYTbs254+w== shx@^0.3.4: version "0.3.4" - resolved "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" + resolved "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz" integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== dependencies: minimist "^1.2.3" @@ -10272,7 +10268,7 @@ shx@^0.3.4: side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -10281,12 +10277,12 @@ side-channel@^1.0.4: signal-exit@3.0.7, signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sigstore@^1.0.0: version "1.2.0" - resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.2.0.tgz#ae5b31dac75c2d31e7873897e2862f0d0b205bce" + resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.2.0.tgz" integrity sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA== dependencies: "@sigstore/protobuf-specs" "^0.1.0" @@ -10295,7 +10291,7 @@ sigstore@^1.0.0: sinon@^11.1.1: version "11.1.2" - resolved "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz#9e78850c747241d5c59d1614d8f9cbe8840e8674" + resolved "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz" integrity sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw== dependencies: "@sinonjs/commons" "^1.8.3" @@ -10307,7 +10303,7 @@ sinon@^11.1.1: sinon@^9.2.4: version "9.2.4" - resolved "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" + resolved "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz" integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== dependencies: "@sinonjs/commons" "^1.8.1" @@ -10319,22 +10315,22 @@ sinon@^9.2.4: sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@3.0.0, slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slash@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -10343,17 +10339,17 @@ slice-ansi@^4.0.0: slide@~1.1.3: version "1.1.6" - resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw== smart-buffer@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== socks-proxy-agent@5, socks-proxy-agent@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz" integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== dependencies: agent-base "^6.0.2" @@ -10362,7 +10358,7 @@ socks-proxy-agent@5, socks-proxy-agent@^5.0.0: socks-proxy-agent@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz" integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== dependencies: agent-base "^6.0.2" @@ -10371,7 +10367,7 @@ socks-proxy-agent@^7.0.0: socks@^2.3.3, socks@^2.6.2: version "2.7.1" - resolved "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + resolved "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz" integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== dependencies: ip "^2.0.0" @@ -10379,7 +10375,7 @@ socks@^2.3.3, socks@^2.6.2: sort-json@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/sort-json/-/sort-json-2.0.1.tgz#7338783bef807185dc37d5b02e3afd905d537cfb" + resolved "https://registry.npmjs.org/sort-json/-/sort-json-2.0.1.tgz" integrity sha512-s8cs2bcsQCzo/P2T/uoU6Js4dS/jnX8+4xunziNoq9qmSpZNCrRIAIvp4avsz0ST18HycV4z/7myJ7jsHWB2XQ== dependencies: detect-indent "^5.0.0" @@ -10388,26 +10384,26 @@ sort-json@^2.0.1: sort-keys@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== dependencies: is-plain-obj "^1.0.0" sort-keys@^4.0.0: version "4.2.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== dependencies: is-plain-obj "^2.0.0" source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map-support@0.5.13: version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" @@ -10415,7 +10411,7 @@ source-map-support@0.5.13: source-map-support@^0.5.21: version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -10423,19 +10419,19 @@ source-map-support@^0.5.21: source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spawn-please@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz#13d76566ca5e9ac0537a90853ca4f53f27489ae0" + resolved "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz" integrity sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA== dependencies: cross-spawn "^7.0.3" spawn-wrap@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" + resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz" integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== dependencies: foreground-child "^2.0.0" @@ -10447,7 +10443,7 @@ spawn-wrap@^2.0.0: spdx-compare@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" + resolved "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz" integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== dependencies: array-find-index "^1.0.2" @@ -10456,7 +10452,7 @@ spdx-compare@^1.0.0: spdx-correct@^3.0.0: version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" @@ -10464,12 +10460,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -10477,22 +10473,22 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.12" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz" integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== spdx-license-list@^6.6.0: version "6.6.0" - resolved "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.6.0.tgz#403e1807fd87ef2b4781677bc91896d23eaed4ea" + resolved "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.6.0.tgz" integrity sha512-vLwdf9AWgdJQmG8cai2HKfkInFsliKaCCOwXmdVonClIhdURTX61KdDOoXC1qcQ7gDaZj+CUTcrMJeAdnCtrKA== spdx-ranges@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" + resolved "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz" integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== spdx-satisfies@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz#9a09a68d80f5f1a31cfaebb384b0c6009e4969fe" + resolved "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz" integrity sha512-WVzZ/cXAzoNmjCWiEluEA3BjHp5tiUmmhn9MK+X0tBbR9sOqtC6UQwmgCNrAIZvNlMuBUYAaHYfb2oqlF9SwKA== dependencies: spdx-compare "^1.0.0" @@ -10501,47 +10497,47 @@ spdx-satisfies@^4.0.0: split2@^3.0.0: version "3.2.2" - resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: readable-stream "^3.0.0" split@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@9.0.1, ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + resolved "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz" integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== dependencies: minipass "^3.1.1" ssri@^10.0.0, ssri@^10.0.1: version "10.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz#c61f85894bbc6929fc3746f05e31cf5b44c030d5" + resolved "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz" integrity sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw== dependencies: minipass "^4.0.0" stack-utils@^2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" standard-version@^9, standard-version@^9.5.0: version "9.5.0" - resolved "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz#851d6dcddf5320d5079601832aeb185dbf497949" + resolved "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz" integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q== dependencies: chalk "^2.4.2" @@ -10561,12 +10557,12 @@ standard-version@^9, standard-version@^9.5.0: statuses@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== streamroller@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + resolved "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz" integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== dependencies: date-format "^4.0.14" @@ -10575,7 +10571,7 @@ streamroller@^3.1.5: string-length@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" @@ -10583,7 +10579,7 @@ string-length@^4.0.1: string-width@*, string-width@^1.0.1, "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3, string-width@^5.0.1, string-width@^5.1.2: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -10592,12 +10588,12 @@ string-width@*, string-width@^1.0.1, "string-width@^1.0.2 || 2 || 3 || 4", strin string.prototype.repeat@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf" + resolved "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz" integrity sha512-1BH+X+1hSthZFW+X+JaUkjkkUPwIlLEMJBLANN3hOob3RhEk5snLWNECDnYbgn/m5c5JV7Ersu1Yubaf+05cIA== string.prototype.trimend@^1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" @@ -10606,7 +10602,7 @@ string.prototype.trimend@^1.0.6: string.prototype.trimstart@^1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" @@ -10615,26 +10611,26 @@ string.prototype.trimstart@^1.0.6: string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-object@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -10643,70 +10639,70 @@ stringify-object@^3.2.1: stringify-package@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" + resolved "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz" integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== dependencies: ansi-regex "^6.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz#ec101b766476a703031bc607e3c712569de2aa06" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz" integrity sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw== strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== dependencies: duplexer "^0.1.1" @@ -10715,7 +10711,7 @@ strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: stylus-lookup@^3.0.1: version "3.0.2" - resolved "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-3.0.2.tgz#c9eca3ff799691020f30b382260a67355fefdddd" + resolved "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-3.0.2.tgz" integrity sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg== dependencies: commander "^2.8.1" @@ -10723,33 +10719,33 @@ stylus-lookup@^3.0.1: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== table@*, table@^6.0.9, table@^6.8.1: version "6.8.1" - resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== dependencies: ajv "^8.0.1" @@ -10760,12 +10756,12 @@ table@*, table@^6.0.9, table@^6.8.1: tapable@^2.2.0: version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar-stream@^2.2.0, tar-stream@~2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: bl "^4.0.3" @@ -10776,7 +10772,7 @@ tar-stream@^2.2.0, tar-stream@~2.2.0: tar@6.1.11: version "6.1.11" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" @@ -10786,9 +10782,21 @@ tar@6.1.11: mkdirp "^1.0.3" yallist "^4.0.0" -tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: +tar@^6.1.0: + version "6.1.15" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" + integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tar@^6.1.11, tar@^6.1.2: version "6.1.13" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz" integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== dependencies: chownr "^2.0.0" @@ -10800,22 +10808,22 @@ tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: temp-dir@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== temp-dir@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== temp@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/temp/-/temp-0.4.0.tgz#671ad63d57be0fe9d7294664b3fc400636678a60" + resolved "https://registry.npmjs.org/temp/-/temp-0.4.0.tgz" integrity sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA== tempfile@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/tempfile/-/tempfile-3.0.0.tgz#5376a3492de7c54150d0cc0612c3f00e2cdaf76c" + resolved "https://registry.npmjs.org/tempfile/-/tempfile-3.0.0.tgz" integrity sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw== dependencies: temp-dir "^2.0.0" @@ -10823,7 +10831,7 @@ tempfile@^3.0.0: tempy@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/tempy/-/tempy-1.0.0.tgz#4f192b3ee3328a2684d0e3fc5c491425395aab65" + resolved "https://registry.npmjs.org/tempy/-/tempy-1.0.0.tgz" integrity sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w== dependencies: del "^6.0.0" @@ -10834,7 +10842,7 @@ tempy@1.0.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" @@ -10843,17 +10851,17 @@ test-exclude@^6.0.0: text-extensions@^1.0.0: version "1.9.0" - resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== through2@^2.0.0: version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" @@ -10861,19 +10869,19 @@ through2@^2.0.0: through2@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== dependencies: readable-stream "3" through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== timers-ext@^0.1.7: version "0.1.7" - resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== dependencies: es5-ext "~0.10.46" @@ -10881,78 +10889,78 @@ timers-ext@^0.1.7: tiny-relative-date@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + resolved "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz" integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== tmp@^0.0.33: version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" tmp@~0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: rimraf "^3.0.0" tmpl@1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== traverse@^0.6.6: version "0.6.7" - resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz" integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== treeify@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + resolved "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== treeverse@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + resolved "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz" integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== treeverse@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" + resolved "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz" integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== trim-newlines@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== ts-jest@^29, ts-jest@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz#4a9db4104a49b76d2b368ea775b6c9535c603891" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz" integrity sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA== dependencies: bs-logger "0.x" @@ -10966,12 +10974,12 @@ ts-jest@^29, ts-jest@^29.1.0: ts-mock-imports@^1.3.8: version "1.3.8" - resolved "https://registry.npmjs.org/ts-mock-imports/-/ts-mock-imports-1.3.8.tgz#6b26887c651effe947ea91f928338d1899146fb9" + resolved "https://registry.npmjs.org/ts-mock-imports/-/ts-mock-imports-1.3.8.tgz" integrity sha512-A5n0iEg4zh2/qToo54XOa/wT31fAI0B8DHYU4RDcA6HIddZQPRkTsYri3Hl69+OSLjOKWjyP3/vYOIp3SAIZXg== ts-node@^10.9.1: version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: "@cspotcode/source-map-support" "^0.8.0" @@ -10990,7 +10998,7 @@ ts-node@^10.9.1: tsconfig-paths@^3.10.1, tsconfig-paths@^3.14.1: version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" @@ -11000,7 +11008,7 @@ tsconfig-paths@^3.10.1, tsconfig-paths@^3.14.1: tsconfig-paths@^4.1.2: version "4.2.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz" integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== dependencies: json5 "^2.2.2" @@ -11009,24 +11017,24 @@ tsconfig-paths@^4.1.2: tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: version "2.5.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" tuf-js@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.2.tgz#09ca04a89783b739e67dd796f6562e3940628aea" + resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.2.tgz" integrity sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g== dependencies: "@tufjs/models" "1.0.1" @@ -11034,86 +11042,86 @@ tuf-js@^1.0.0: tunnel@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: prelude-ls "~1.1.2" type-detect@4.0.8, type-detect@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.16.0: version "0.16.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== type-fest@^0.18.0: version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz" integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.0, type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^1.0.1: version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== type-fest@^2.13.0: version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type@^1.0.1: version "1.2.0" - resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.7.2: version "2.7.2" - resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typed-array-length@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== dependencies: call-bind "^1.0.2" @@ -11122,19 +11130,19 @@ typed-array-length@^1.0.4: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-json-schema@^0.55.0: version "0.55.0" - resolved "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.55.0.tgz#f268d27ac0b76284a929c6f72714c6ca4e1b5e20" + resolved "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.55.0.tgz" integrity sha512-BXaivYecUdiXWWNiUqXgY6A9cMWerwmhtO+lQE7tDZGs7Mf38sORDeQZugfYOZOHPZ9ulsD+w0LWjFDOQoXcwg== dependencies: "@types/json-schema" "^7.0.9" @@ -11148,42 +11156,47 @@ typescript-json-schema@^0.55.0: "typescript@^3 || ^4", typescript@^4.5.5, typescript@~4.9.5: version "4.9.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== typescript@^3.9.10, typescript@^3.9.5, typescript@^3.9.7, typescript@~3.9.10: version "3.9.10" - resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== typescript@next: - version "5.1.0-dev.20230307" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.0-dev.20230307.tgz#64cde6497b61b894af9b9a0547ee273f11bd34ce" - integrity sha512-QoA4rJ5koT+JJk69FBwAF4vx446c5xPWlvgMrlz0E0SaGDpveCbK8DTpRmdxrZR4oVQ0VxMag1BGtZPtQtU+Jg== + version "5.2.0-dev.20230621" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.0-dev.20230621.tgz#fc61be8c6448dce096aa5df1abda7966d730999d" + integrity sha512-8iIehsqwx8TrzBcPWAuXZ0Z4wF/+0CmwdbibftaivqXJlD3V4qWr26hn67r/UT/VNm67iO86XN45F8Viivvobw== typescript@~4.8.2: version "4.8.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== typescript@~5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz" integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== +typescript@~5.0.4: + version "5.0.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: version "3.17.4" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -11193,84 +11206,84 @@ unbox-primitive@^1.0.2: uniq@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA== unique-filename@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz" integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== dependencies: unique-slug "^3.0.0" unique-filename@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz" integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== dependencies: unique-slug "^4.0.0" unique-slug@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz" integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== dependencies: imurmurhash "^0.1.4" unique-slug@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz" integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== dependencies: imurmurhash "^0.1.4" unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" unique-string@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz" integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== dependencies: crypto-random-string "^4.0.0" universal-user-agent@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== universalify@^0.1.0: version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unpipe@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== untildify@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== upath@2.0.1, upath@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== update-browserslist-db@^1.0.10: version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" @@ -11278,7 +11291,7 @@ update-browserslist-db@^1.0.10: update-notifier@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== dependencies: boxen "^7.0.0" @@ -11298,14 +11311,14 @@ update-notifier@^6.0.2: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url@0.10.3: version "0.10.3" - resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== dependencies: punycode "1.3.2" @@ -11313,17 +11326,17 @@ url@0.10.3: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util-extend@^1.0.1: version "1.0.3" - resolved "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" + resolved "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz" integrity sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA== util@^0.12.4: version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== dependencies: inherits "^2.0.3" @@ -11334,32 +11347,32 @@ util@^0.12.4: uuid@8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz" integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== uuid@8.3.2, uuid@^8.3.2: version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.3.2: version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache-lib@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8-to-istanbul@^9.0.1: version "9.1.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz" integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" @@ -11368,7 +11381,7 @@ v8-to-istanbul@^9.0.1: validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -11376,33 +11389,33 @@ validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validat validate-npm-package-name@4.0.0, validate-npm-package-name@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz" integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== dependencies: builtins "^5.0.0" validate-npm-package-name@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== dependencies: builtins "^1.0.3" validate-npm-package-name@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz" integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== dependencies: builtins "^5.0.0" vandium-utils@^1.1.1: version "1.2.0" - resolved "https://registry.npmjs.org/vandium-utils/-/vandium-utils-1.2.0.tgz#44735de4b7641a05de59ebe945f174e582db4f59" + resolved "https://registry.npmjs.org/vandium-utils/-/vandium-utils-1.2.0.tgz" integrity sha512-yxYUDZz4BNo0CW/z5w4mvclitt5zolY7zjW97i6tTE+sU63cxYs1A6Bl9+jtIQa3+0hkeqY87k+7ptRvmeHe3g== vm2@^3.9.8: version "3.9.14" - resolved "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz#964042b474cf1e6e4f475a39144773cdb9deb734" + resolved "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz" integrity sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA== dependencies: acorn "^8.7.0" @@ -11410,36 +11423,36 @@ vm2@^3.9.8: walk-up-path@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + resolved "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz" integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== walkdir@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39" + resolved "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz" integrity sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ== walker@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: makeerror "1.0.12" wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== dependencies: defaults "^1.0.3" webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -11447,7 +11460,7 @@ whatwg-url@^5.0.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -11458,12 +11471,12 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.9" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== dependencies: available-typed-arrays "^1.0.5" @@ -11475,57 +11488,57 @@ which-typed-array@^1.1.2, which-typed-array@^1.1.9: which@^1.2.9: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1, which@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" which@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/which/-/which-3.0.0.tgz#a9efd016db59728758a390d23f1687b6e8f59f8e" + resolved "https://registry.npmjs.org/which/-/which-3.0.0.tgz" integrity sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ== dependencies: isexe "^2.0.0" wide-align@^1.1.0, wide-align@^1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" widest-line@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== dependencies: string-width "^5.0.1" word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wordwrap@>=0.0.2, wordwrap@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== workerpool@^6.4.0: version "6.4.0" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.4.0.tgz#f8d5cfb45fde32fa3b7af72ad617c3369567a462" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.4.0.tgz" integrity sha512-i3KR1mQMNwY2wx20ozq2EjISGtQWDIfV56We+yGJ5yDs8jTwQiLLaqHlkBHITlCuJnYlVRmXegxFxZg7gqI++A== wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -11534,7 +11547,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -11543,7 +11556,7 @@ wrap-ansi@^7.0.0: wrap-ansi@^8.0.1: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -11552,12 +11565,12 @@ wrap-ansi@^8.0.1: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz" integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== dependencies: imurmurhash "^0.1.4" @@ -11565,7 +11578,7 @@ write-file-atomic@4.0.1: write-file-atomic@^2.4.2: version "2.4.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" @@ -11574,7 +11587,7 @@ write-file-atomic@^2.4.2: write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -11584,7 +11597,7 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: write-file-atomic@^4.0.0, write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" @@ -11592,7 +11605,7 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: write-file-atomic@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz" integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w== dependencies: imurmurhash "^0.1.4" @@ -11600,7 +11613,7 @@ write-file-atomic@^5.0.0: write-json-file@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz" integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== dependencies: detect-indent "^5.0.0" @@ -11612,7 +11625,7 @@ write-json-file@^3.2.0: write-json-file@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== dependencies: detect-indent "^6.0.0" @@ -11624,7 +11637,7 @@ write-json-file@^4.3.0: write-pkg@4.0.0, write-pkg@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz" integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== dependencies: sort-keys "^2.0.0" @@ -11633,19 +11646,19 @@ write-pkg@4.0.0, write-pkg@^4.0.0: xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" xml2js@0.4.19: version "0.4.19" - resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz" integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== dependencies: sax ">=0.6.0" @@ -11653,12 +11666,12 @@ xml2js@0.4.19: xml@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== xmlbuilder2@^2.4.1: version "2.4.1" - resolved "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.1.tgz#899c783a833188c5a5aa6f3c5428a3963f3e479d" + resolved "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.1.tgz" integrity sha512-vliUplZsk5vJnhxXN/mRcij/AE24NObTUm/Zo4vkLusgayO6s3Et5zLEA14XZnY1c3hX5o1ToR0m0BJOPy0UvQ== dependencies: "@oozcitak/dom" "1.15.8" @@ -11669,72 +11682,72 @@ xmlbuilder2@^2.4.1: xmlbuilder@^15.1.1: version "15.1.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== xmlbuilder@~9.0.1: version "9.0.7" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz" integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== xregexp@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + resolved "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz" integrity sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA== xtend@~4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@1.10.2, yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.0.0.tgz#cbc588ad58e0cd924cd3f5f2b1a9485103048e25" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.0.0.tgz" integrity sha512-JbfdlHKGP2Ik9IHylzWlGd4pPK++EU46/IxMykphS2ZKw7a7h+dHNmcXObLgpRDriBY+rpWslldikckX8oruWQ== yaml@2.0.0-7: version "2.0.0-7" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.0.0-7.tgz#9799d9d85dfc8f01e4cc425e18e09215364beef1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.0.0-7.tgz" integrity sha512-RbI2Tm3hl9AoHY4wWyWvGvJfFIbHOzuzaxum6ez1A0vve+uXgNor03Wys4t+2sgjJSVSe+B2xerd1/dnvqHlOA== yargs-parser@20.2.4: version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -11742,12 +11755,12 @@ yargs-parser@^18.1.2: yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" @@ -11760,7 +11773,7 @@ yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: yargs@^15.0.2: version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" @@ -11777,7 +11790,7 @@ yargs@^15.0.2: yargs@^17.1.1, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.1: version "17.7.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz" integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== dependencies: cliui "^8.0.1" @@ -11788,19 +11801,32 @@ yargs@^17.1.1, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.1: y18n "^5.0.5" yargs-parser "^21.1.1" +yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yn@3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zip-stream@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" + resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz" integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== dependencies: archiver-utils "^2.1.0" @@ -11809,5 +11835,5 @@ zip-stream@^4.1.0: zlib@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0" + resolved "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz" integrity sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w== From 09f6bb1a472f1c75901b19020ba0679aa5028bea Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Thu, 22 Jun 2023 14:15:32 +0200 Subject: [PATCH 09/20] feat: adapted snapshots --- ...efaultTestDeployAssert4E6713E1.assets.json | 19 + ...aultTestDeployAssert4E6713E1.template.json | 36 + ...eWithAllPrepareNodesFirstStack.assets.json | 19 + ...ithAllPrepareNodesFirstStack.template.json | 1754 ++++++++++ ...PrepareNodesFirstStackPipeline7347DBA1.dot | 139 + ...esFirstStackBetaStack10B353F75.assets.json | 19 + ...FirstStackBetaStack10B353F75.template.json | 56 + ...esFirstStackBetaStack29591E1BE.assets.json | 19 + ...FirstStackBetaStack29591E1BE.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...sFirstStackProd1Stack100E227D4.assets.json | 19 + ...irstStackProd1Stack100E227D4.template.json | 56 + ...sFirstStackProd1Stack25EFAE655.assets.json | 19 + ...irstStackProd1Stack25EFAE655.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...sFirstStackProd2Stack1C128D28E.assets.json | 19 + ...irstStackProd2Stack1C128D28E.template.json | 56 + ...sFirstStackProd2Stack2D0D755B0.assets.json | 19 + ...irstStackProd2Stack2D0D755B0.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...sFirstStackProd3Stack195649ECA.assets.json | 19 + ...irstStackProd3Stack195649ECA.template.json | 36 + .../cdk.out | 1 + .../manifest.json | 53 + ...sFirstStackProd4Stack2CBC2D372.assets.json | 19 + ...irstStackProd4Stack2CBC2D372.template.json | 36 + .../cdk.out | 1 + .../manifest.json | 53 + .../cdk.out | 1 + .../integ.json | 12 + .../manifest.json | 224 ++ .../tree.json | 2828 +++++++++++++++ ...efaultTestDeployAssert4E6713E1.assets.json | 19 + ...aultTestDeployAssert4E6713E1.template.json | 36 + .../PipelineWithPostPrepareStack.assets.json | 19 + ...PipelineWithPostPrepareStack.template.json | 1916 ++++++++++ ...reStackPipelineWithPostPrepare9F1BC6DA.dot | 146 + ...PrepareStackBetaStack1E900E8C2.assets.json | 19 + ...epareStackBetaStack1E900E8C2.template.json | 56 + ...PrepareStackBetaStack2A215C7AA.assets.json | 19 + ...epareStackBetaStack2A215C7AA.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...repareStackProd1Stack18A6E05FD.assets.json | 19 + ...pareStackProd1Stack18A6E05FD.template.json | 56 + ...repareStackProd1Stack23830DAC4.assets.json | 19 + ...pareStackProd1Stack23830DAC4.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...repareStackProd2Stack1AE394F2F.assets.json | 19 + ...pareStackProd2Stack1AE394F2F.template.json | 56 + ...repareStackProd2Stack2FE352778.assets.json | 19 + ...pareStackProd2Stack2FE352778.template.json | 51 + .../cdk.out | 1 + .../manifest.json | 120 + ...repareStackProd3Stack1E9091829.assets.json | 19 + ...pareStackProd3Stack1E9091829.template.json | 36 + .../cdk.out | 1 + .../manifest.json | 53 + ...repareStackProd4Stack224266FA1.assets.json | 19 + ...pareStackProd4Stack224266FA1.template.json | 36 + .../cdk.out | 1 + .../manifest.json | 53 + .../cdk.out | 1 + .../integ.json | 12 + .../manifest.json | 242 ++ .../tree.json | 3098 +++++++++++++++++ 70 files changed, 12553 insertions(+) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStackPipeline7347DBA1.dot create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/integ.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/tree.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStackPipelineWithPostPrepare9F1BC6DA.dot create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/integ.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/tree.json diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json new file mode 100644 index 0000000000000..9e7065c2b0432 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.assets.json new file mode 100644 index 0000000000000..f06801e71e87e --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "be9df4dcffefcb8e70c71f3bec3119eea791f1918059542aca090253d2272a19": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be9df4dcffefcb8e70c71f3bec3119eea791f1918059542aca090253d2272a19.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.template.json new file mode 100644 index 0000000000000..c58d2137f8838 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStack.template.json @@ -0,0 +1,1754 @@ +{ + "Resources": { + "PipelineArtifactsBucketAEA9A052": { + "Type": "AWS::S3::Bucket", + "Properties": { + "BucketEncryption": { + "ServerSideEncryptionConfiguration": [ + { + "ServerSideEncryptionByDefault": { + "SSEAlgorithm": "aws:kms" + } + } + ] + }, + "PublicAccessBlockConfiguration": { + "BlockPublicAcls": true, + "BlockPublicPolicy": true, + "IgnorePublicAcls": true, + "RestrictPublicBuckets": true + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "PipelineArtifactsBucketPolicyF53CCC52": { + "Type": "AWS::S3::BucketPolicy", + "Properties": { + "Bucket": { + "Ref": "PipelineArtifactsBucketAEA9A052" + }, + "PolicyDocument": { + "Statement": [ + { + "Action": "s3:*", + "Condition": { + "Bool": { + "aws:SecureTransport": "false" + } + }, + "Effect": "Deny", + "Principal": { + "AWS": "*" + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineRoleB27FAA37": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codepipeline.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineRoleDefaultPolicy7BDC1ABB": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineRoleDefaultPolicy7BDC1ABB", + "Roles": [ + { + "Ref": "PipelineRoleB27FAA37" + } + ] + } + }, + "Pipeline9850B417": { + "Type": "AWS::CodePipeline::Pipeline", + "Properties": { + "RoleArn": { + "Fn::GetAtt": [ + "PipelineRoleB27FAA37", + "Arn" + ] + }, + "Stages": [ + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Source", + "Owner": "ThirdParty", + "Provider": "GitHub", + "Version": "1" + }, + "Configuration": { + "Owner": "Nico-DB", + "Repo": "aws-cdk", + "Branch": "main", + "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", + "PollForSourceChanges": false + }, + "Name": "Nico-DB_aws-cdk", + "OutputArtifacts": [ + { + "Name": "Nico_DB_aws_cdk_Source" + } + ], + "RunOrder": 1 + } + ], + "Name": "Source" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Build", + "Owner": "AWS", + "Provider": "CodeBuild", + "Version": "1" + }, + "Configuration": { + "ProjectName": { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"09deb76d97fe89f2ccd364ad1eedc7ebc7c010be6bf79da68c34f358446cd134\"}]" + }, + "InputArtifacts": [ + { + "Name": "Nico_DB_aws_cdk_Source" + } + ], + "Name": "Synth", + "OutputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "RoleArn": { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + }, + "RunOrder": 1 + } + ], + "Name": "Build" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Build", + "Owner": "AWS", + "Provider": "CodeBuild", + "Version": "1" + }, + "Configuration": { + "ProjectName": { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"7d1ff87f89f43d74cb5c6007476960a738ebca1a257e02a4e24dbc7ac33d3f97\"}]" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "SelfMutate", + "RoleArn": { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + }, + "RunOrder": 1 + } + ], + "Name": "UpdatePipeline" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prepare-Beta-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prepare-Beta-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + } + ], + "Name": "Beta" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod1.Prepare-Prod1-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod1.Prepare-Prod1-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod2.Prepare-Prod2-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod2.Prepare-Prod2-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod1.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod2.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod1.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod2.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + } + ], + "Name": "Wave1" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod3-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod3.Prepare-Prod3-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod4-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod4.Prepare-Prod4-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod3-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod3.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod4-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod4.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 2 + } + ], + "Name": "Wave2" + } + ], + "ArtifactStore": { + "Location": { + "Ref": "PipelineArtifactsBucketAEA9A052" + }, + "Type": "S3" + }, + "RestartExecutionOnUpdate": true + }, + "DependsOn": [ + "PipelineRoleDefaultPolicy7BDC1ABB", + "PipelineRoleB27FAA37" + ] + }, + "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4": { + "Type": "AWS::CodePipeline::Webhook", + "Properties": { + "Authentication": "GITHUB_HMAC", + "AuthenticationConfiguration": { + "SecretToken": "{{resolve:secretsmanager:github-token:SecretString:::}}" + }, + "Filters": [ + { + "JsonPath": "$.ref", + "MatchEquals": "refs/heads/{Branch}" + } + ], + "TargetAction": "Nico-DB_aws-cdk", + "TargetPipeline": { + "Ref": "Pipeline9850B417" + }, + "TargetPipelineVersion": 1, + "RegisterWithThirdParty": true + } + }, + "PipelineBuildSynthCdkBuildProjectRole231EEA2A": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineBuildSynthCdkBuildProjectRoleDefaultPolicyFB6C941C": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + "-*" + ] + ] + } + }, + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineBuildSynthCdkBuildProjectRoleDefaultPolicyFB6C941C", + "Roles": [ + { + "Ref": "PipelineBuildSynthCdkBuildProjectRole231EEA2A" + } + ] + } + }, + "PipelineBuildSynthCdkBuildProject6BEFA8E6": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "CODEPIPELINE" + }, + "Environment": { + "ComputeType": "BUILD_GENERAL1_SMALL", + "Image": "aws/codebuild/standard:6.0", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "LINUX_CONTAINER" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "PipelineBuildSynthCdkBuildProjectRole231EEA2A", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"build\": {\n \"commands\": [\n \"npm ci\",\n \"npm run build\",\n \"npx cdk synth\"\n ]\n }\n },\n \"artifacts\": {\n \"base-directory\": \"cdk.out\",\n \"files\": \"**/*\"\n }\n}", + "Type": "CODEPIPELINE" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "Description": "Pipeline step PipelineWithAllPrepareNodesFirstStack/Pipeline/Build/Synth", + "EncryptionKey": "alias/aws/s3" + } + }, + "PipelineCodeBuildActionRole226DB0CB": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Condition": { + "Bool": { + "aws:ViaAWSService": "codepipeline.amazonaws.com" + } + }, + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineCodeBuildActionRoleDefaultPolicy1D62A6FE": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "codebuild:BatchGetBuilds", + "codebuild:StartBuild", + "codebuild:StopBuild" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineBuildSynthCdkBuildProject6BEFA8E6", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineUpdatePipelineSelfMutationDAA41400", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineCodeBuildActionRoleDefaultPolicy1D62A6FE", + "Roles": [ + { + "Ref": "PipelineCodeBuildActionRole226DB0CB" + } + ] + } + }, + "PipelineUpdatePipelineSelfMutationRole57E559E8": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineUpdatePipelineSelfMutationRoleDefaultPolicyA225DA4E": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + "-*" + ] + ] + } + }, + { + "Action": "sts:AssumeRole", + "Condition": { + "ForAnyValue:StringEquals": { + "iam:ResourceTag/aws-cdk:bootstrap-role": [ + "image-publishing", + "file-publishing", + "deploy" + ] + } + }, + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:*:iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/*" + ] + ] + } + }, + { + "Action": [ + "cloudformation:DescribeStacks", + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineUpdatePipelineSelfMutationRoleDefaultPolicyA225DA4E", + "Roles": [ + { + "Ref": "PipelineUpdatePipelineSelfMutationRole57E559E8" + } + ] + } + }, + "PipelineUpdatePipelineSelfMutationDAA41400": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "CODEPIPELINE" + }, + "Environment": { + "ComputeType": "BUILD_GENERAL1_SMALL", + "Image": "aws/codebuild/standard:6.0", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "LINUX_CONTAINER" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "PipelineUpdatePipelineSelfMutationRole57E559E8", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"install\": {\n \"commands\": [\n \"npm install -g aws-cdk@2\"\n ]\n },\n \"build\": {\n \"commands\": [\n \"cdk -a . deploy PipelineWithAllPrepareNodesFirstStack --require-approval=never --verbose\"\n ]\n }\n }\n}", + "Type": "CODEPIPELINE" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "Description": "Pipeline step PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutate", + "EncryptionKey": "alias/aws/s3" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStackPipeline7347DBA1.dot b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStackPipeline7347DBA1.dot new file mode 100644 index 0000000000000..f93b066a21db3 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/PipelineWithAllPrepareNodesFirstStackPipeline7347DBA1.dot @@ -0,0 +1,139 @@ +digraph G { + # Arrows represent an "unlocks" relationship (opposite of dependency). So chosen + # because the layout looks more natural that way. + # To represent subgraph dependencies, subgraphs are represented by BEGIN/END nodes. + # To render: `dot -Tsvg PipelineWithAllPrepareNodesFirstStackPipeline7347DBA1.dot > graph.svg`, open in a browser. + node [shape="box"]; +"BEGIN Build" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Build" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Build.Synth"; +"Source.Nico-DB/aws-cdk" -> "Build.Synth"; +"BEGIN Build" -> "Build.Synth"; +"Build.Synth" -> "END Build"; +"BEGIN UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate"; +"Build.Synth" -> "UpdatePipeline.SelfMutate"; +"BEGIN UpdatePipeline" -> "UpdatePipeline.SelfMutate"; +"UpdatePipeline.SelfMutate" -> "END UpdatePipeline"; +"BEGIN Beta" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Beta"; +"BEGIN Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Beta.Stack1.Deploy"; +"Beta.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"BEGIN Beta.Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Deploy" -> "END Beta.Stack1"; +"Beta.Prepare-Beta-Stack1"; +"Build.Synth" -> "Beta.Prepare-Beta-Stack1"; +"BEGIN Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack1" -> "BEGIN Beta.Stack2"; +"Beta.Stack2.Deploy"; +"Beta.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"BEGIN Beta.Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Deploy" -> "END Beta.Stack2"; +"Beta.Prepare-Beta-Stack2"; +"Build.Synth" -> "Beta.Prepare-Beta-Stack2"; +"BEGIN Beta" -> "Beta.Prepare-Beta-Stack1"; +"BEGIN Beta" -> "Beta.Prepare-Beta-Stack2"; +"END Beta.Stack2" -> "END Beta"; +"BEGIN Wave1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Wave1"; +"END Beta" -> "BEGIN Wave1"; +"BEGIN Wave1.Prod1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Deploy" -> "END Wave1.Prod1.Stack1"; +"Wave1.Prod1.Prepare-Prod1-Stack1"; +"Build.Synth" -> "Wave1.Prod1.Prepare-Prod1-Stack1"; +"BEGIN Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack1" -> "BEGIN Wave1.Prod1.Stack2"; +"Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Deploy" -> "END Wave1.Prod1.Stack2"; +"Wave1.Prod1.Prepare-Prod1-Stack2"; +"Build.Synth" -> "Wave1.Prod1.Prepare-Prod1-Stack2"; +"BEGIN Wave1.Prod1" -> "Wave1.Prod1.Prepare-Prod1-Stack1"; +"BEGIN Wave1.Prod1" -> "Wave1.Prod1.Prepare-Prod1-Stack2"; +"END Wave1.Prod1.Stack2" -> "END Wave1.Prod1"; +"BEGIN Wave1.Prod2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Deploy" -> "END Wave1.Prod2.Stack1"; +"Wave1.Prod2.Prepare-Prod2-Stack1"; +"Build.Synth" -> "Wave1.Prod2.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack1" -> "BEGIN Wave1.Prod2.Stack2"; +"Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Deploy" -> "END Wave1.Prod2.Stack2"; +"Wave1.Prod2.Prepare-Prod2-Stack2"; +"Build.Synth" -> "Wave1.Prod2.Prepare-Prod2-Stack2"; +"BEGIN Wave1.Prod2" -> "Wave1.Prod2.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2" -> "Wave1.Prod2.Prepare-Prod2-Stack2"; +"END Wave1.Prod2.Stack2" -> "END Wave1.Prod2"; +"BEGIN Wave1" -> "BEGIN Wave1.Prod1"; +"BEGIN Wave1" -> "BEGIN Wave1.Prod2"; +"END Wave1.Prod1" -> "END Wave1"; +"END Wave1.Prod2" -> "END Wave1"; +"BEGIN Wave2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Wave2"; +"END Wave1" -> "BEGIN Wave2"; +"BEGIN Wave2.Prod3" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod3" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Deploy" -> "END Wave2.Prod3.Stack1"; +"Wave2.Prod3.Prepare-Prod3-Stack1"; +"Build.Synth" -> "Wave2.Prod3.Prepare-Prod3-Stack1"; +"BEGIN Wave2.Prod3" -> "Wave2.Prod3.Prepare-Prod3-Stack1"; +"END Wave2.Prod3.Stack1" -> "END Wave2.Prod3"; +"BEGIN Wave2.Prod4" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod4" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Deploy" -> "END Wave2.Prod4.Stack2"; +"Wave2.Prod4.Prepare-Prod4-Stack2"; +"Build.Synth" -> "Wave2.Prod4.Prepare-Prod4-Stack2"; +"BEGIN Wave2.Prod4" -> "Wave2.Prod4.Prepare-Prod4-Stack2"; +"END Wave2.Prod4.Stack2" -> "END Wave2.Prod4"; +"BEGIN Wave2" -> "BEGIN Wave2.Prod3"; +"BEGIN Wave2" -> "BEGIN Wave2.Prod4"; +"END Wave2.Prod3" -> "END Wave2"; +"END Wave2.Prod4" -> "END Wave2"; +"BEGIN Source" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Source" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Source.Nico-DB/aws-cdk"; +"BEGIN Source" -> "Source.Nico-DB/aws-cdk"; +"Source.Nico-DB/aws-cdk" -> "END Source"; +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets.json new file mode 100644 index 0000000000000..d2bed4279bf1a --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json new file mode 100644 index 0000000000000..c1339d0126ee2 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets.json new file mode 100644 index 0000000000000..8781293a6ca72 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json new file mode 100644 index 0000000000000..f7390e702aa6d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/manifest.json new file mode 100644 index 0000000000000..f8864281575dc --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Beta/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Beta-Stack1" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1" + }, + "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Beta-Stack2" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75", + "PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets.json new file mode 100644 index 0000000000000..2ccf5e430e674 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json new file mode 100644 index 0000000000000..b46a5cc4fbb7d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets.json new file mode 100644 index 0000000000000..b08445bac3b62 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json new file mode 100644 index 0000000000000..fcabd32211080 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/manifest.json new file mode 100644 index 0000000000000..221fc8d3b63ed --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod1-Stack1" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1" + }, + "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod1-Stack2" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4", + "PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets.json new file mode 100644 index 0000000000000..fb367a2b44c31 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json new file mode 100644 index 0000000000000..302ccbd07207e --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets.json new file mode 100644 index 0000000000000..f764f0f8415ac --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json new file mode 100644 index 0000000000000..933decc98d696 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/manifest.json new file mode 100644 index 0000000000000..f10bde05fbe9e --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod2-Stack1" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1" + }, + "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod2-Stack2" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E", + "PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets.json new file mode 100644 index 0000000000000..302b51e0ed7a9 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/manifest.json new file mode 100644 index 0000000000000..f2381af1776ec --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/manifest.json @@ -0,0 +1,53 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod3-Stack1" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets.json new file mode 100644 index 0000000000000..18db4455e1b4e --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/manifest.json new file mode 100644 index 0000000000000..b1a98e27ad3cd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/manifest.json @@ -0,0 +1,53 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod4-Stack2" + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/integ.json new file mode 100644 index 0000000000000..e521b8f2d47cd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "31.0.0", + "testCases": { + "Integ/DefaultTest": { + "stacks": [ + "PipelineWithAllPrepareNodesFirstStack" + ], + "assertionStack": "Integ/DefaultTest/DeployAssert", + "assertionStackName": "IntegDefaultTestDeployAssert4E6713E1" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/manifest.json new file mode 100644 index 0000000000000..747d15570c922 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/manifest.json @@ -0,0 +1,224 @@ +{ + "version": "31.0.0", + "artifacts": { + "assembly-PipelineWithAllPrepareNodesFirstStack-Beta": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithAllPrepareNodesFirstStack-Beta", + "displayName": "PipelineWithAllPrepareNodesFirstStack/Beta" + } + }, + "assembly-PipelineWithAllPrepareNodesFirstStack-Prod1": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithAllPrepareNodesFirstStack-Prod1", + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod1" + } + }, + "assembly-PipelineWithAllPrepareNodesFirstStack-Prod2": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithAllPrepareNodesFirstStack-Prod2", + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod2" + } + }, + "assembly-PipelineWithAllPrepareNodesFirstStack-Prod3": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithAllPrepareNodesFirstStack-Prod3", + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod3" + } + }, + "assembly-PipelineWithAllPrepareNodesFirstStack-Prod4": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithAllPrepareNodesFirstStack-Prod4", + "displayName": "PipelineWithAllPrepareNodesFirstStack/Prod4" + } + }, + "PipelineWithAllPrepareNodesFirstStack.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithAllPrepareNodesFirstStack.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithAllPrepareNodesFirstStack": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithAllPrepareNodesFirstStack.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/be9df4dcffefcb8e70c71f3bec3119eea791f1918059542aca090253d2272a19.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithAllPrepareNodesFirstStack.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "PipelineWithAllPrepareNodesFirstStack.assets" + ], + "metadata": { + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineArtifactsBucketAEA9A052" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineArtifactsBucketPolicyF53CCC52" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineRoleB27FAA37" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineRoleDefaultPolicy7BDC1ABB" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Pipeline9850B417" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineSourceNicoDBawscdkWebhookResource5DAA82C4" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBuildSynthCdkBuildProjectRole231EEA2A" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBuildSynthCdkBuildProjectRoleDefaultPolicyFB6C941C" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineCodeBuildActionRole226DB0CB" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineCodeBuildActionRoleDefaultPolicy1D62A6FE" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineUpdatePipelineSelfMutationRole57E559E8" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineUpdatePipelineSelfMutationRoleDefaultPolicyA225DA4E" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineUpdatePipelineSelfMutationDAA41400" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithAllPrepareNodesFirstStack/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithAllPrepareNodesFirstStack" + }, + "IntegDefaultTestDeployAssert4E6713E1.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "IntegDefaultTestDeployAssert4E6713E1.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "IntegDefaultTestDeployAssert4E6713E1": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "metadata": { + "/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "Integ/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/tree.json new file mode 100644 index 0000000000000..b3031c0df919d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-allPrepareNodesFirst.js.snapshot/tree.json @@ -0,0 +1,2828 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "PipelineWithAllPrepareNodesFirstStack": { + "id": "PipelineWithAllPrepareNodesFirstStack", + "path": "PipelineWithAllPrepareNodesFirstStack", + "children": { + "Pipeline": { + "id": "Pipeline", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline", + "children": { + "Pipeline": { + "id": "Pipeline", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline", + "children": { + "ArtifactsBucket": { + "id": "ArtifactsBucket", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::S3::Bucket", + "aws:cdk:cloudformation:props": { + "bucketEncryption": { + "serverSideEncryptionConfiguration": [ + { + "serverSideEncryptionByDefault": { + "sseAlgorithm": "aws:kms" + } + } + ] + }, + "publicAccessBlockConfiguration": { + "blockPublicAcls": true, + "blockPublicPolicy": true, + "ignorePublicAcls": true, + "restrictPublicBuckets": true + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.CfnBucket", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/ArtifactsBucket/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy", + "aws:cdk:cloudformation:props": { + "bucket": { + "Ref": "PipelineArtifactsBucketAEA9A052" + }, + "policyDocument": { + "Statement": [ + { + "Action": "s3:*", + "Condition": { + "Bool": { + "aws:SecureTransport": "false" + } + }, + "Effect": "Deny", + "Principal": { + "AWS": "*" + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.Bucket", + "version": "0.0.0" + } + }, + "Role": { + "id": "Role", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codepipeline.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineRoleDefaultPolicy7BDC1ABB", + "roles": [ + { + "Ref": "PipelineRoleB27FAA37" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodePipeline::Pipeline", + "aws:cdk:cloudformation:props": { + "roleArn": { + "Fn::GetAtt": [ + "PipelineRoleB27FAA37", + "Arn" + ] + }, + "stages": [ + { + "name": "Source", + "actions": [ + { + "name": "Nico-DB_aws-cdk", + "outputArtifacts": [ + { + "name": "Nico_DB_aws_cdk_Source" + } + ], + "actionTypeId": { + "category": "Source", + "version": "1", + "owner": "ThirdParty", + "provider": "GitHub" + }, + "configuration": { + "Owner": "Nico-DB", + "Repo": "aws-cdk", + "Branch": "main", + "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", + "PollForSourceChanges": false + }, + "runOrder": 1 + } + ] + }, + { + "name": "Build", + "actions": [ + { + "name": "Synth", + "inputArtifacts": [ + { + "name": "Nico_DB_aws_cdk_Source" + } + ], + "outputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Build", + "version": "1", + "owner": "AWS", + "provider": "CodeBuild" + }, + "configuration": { + "ProjectName": { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"09deb76d97fe89f2ccd364ad1eedc7ebc7c010be6bf79da68c34f358446cd134\"}]" + }, + "runOrder": 1, + "roleArn": { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + } + } + ] + }, + { + "name": "UpdatePipeline", + "actions": [ + { + "name": "SelfMutate", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Build", + "version": "1", + "owner": "AWS", + "provider": "CodeBuild" + }, + "configuration": { + "ProjectName": { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"7d1ff87f89f43d74cb5c6007476960a738ebca1a257e02a4e24dbc7ac33d3f97\"}]" + }, + "runOrder": 1, + "roleArn": { + "Fn::GetAtt": [ + "PipelineCodeBuildActionRole226DB0CB", + "Arn" + ] + } + } + ] + }, + { + "name": "Beta", + "actions": [ + { + "name": "Prepare-Beta-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack10B353F75.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prepare-Beta-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Beta/PipelineWithAllPrepareNodesFirstStackBetaStack29591E1BE.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 2, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + }, + { + "name": "Wave1", + "actions": [ + { + "name": "Prod1.Prepare-Prod1-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack100E227D4.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Prepare-Prod1-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod1/PipelineWithAllPrepareNodesFirstStackProd1Stack25EFAE655.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Prepare-Prod2-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack1C128D28E.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Prepare-Prod2-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod2/PipelineWithAllPrepareNodesFirstStackProd2Stack2D0D755B0.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 2, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 2, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + }, + { + "name": "Wave2", + "actions": [ + { + "name": "Prod3.Prepare-Prod3-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod3-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod3/PipelineWithAllPrepareNodesFirstStackProd3Stack195649ECA.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod4.Prepare-Prod4-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod4-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithAllPrepareNodesFirstStack-Prod4/PipelineWithAllPrepareNodesFirstStackProd4Stack2CBC2D372.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod3.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod3-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 2, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod4.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod4-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 2, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + } + ], + "artifactStore": { + "type": "S3", + "location": { + "Ref": "PipelineArtifactsBucketAEA9A052" + } + }, + "restartExecutionOnUpdate": true + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.CfnPipeline", + "version": "0.0.0" + } + }, + "Source": { + "id": "Source", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Source", + "children": { + "Nico-DB_aws-cdk": { + "id": "Nico-DB_aws-cdk", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk", + "children": { + "WebhookResource": { + "id": "WebhookResource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodePipeline::Webhook", + "aws:cdk:cloudformation:props": { + "authentication": "GITHUB_HMAC", + "authenticationConfiguration": { + "secretToken": "{{resolve:secretsmanager:github-token:SecretString:::}}" + }, + "filters": [ + { + "jsonPath": "$.ref", + "matchEquals": "refs/heads/{Branch}" + } + ], + "targetAction": "Nico-DB_aws-cdk", + "targetPipeline": { + "Ref": "Pipeline9850B417" + }, + "targetPipelineVersion": 1, + "registerWithThirdParty": true + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.CfnWebhook", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Build": { + "id": "Build", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build", + "children": { + "Synth": { + "id": "Synth", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth", + "children": { + "CdkBuildProject": { + "id": "CdkBuildProject", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject", + "children": { + "Role": { + "id": "Role", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineBuildSynthCdkBuildProject6BEFA8E6" + }, + "-*" + ] + ] + } + }, + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineBuildSynthCdkBuildProjectRoleDefaultPolicyFB6C941C", + "roles": [ + { + "Ref": "PipelineBuildSynthCdkBuildProjectRole231EEA2A" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", + "aws:cdk:cloudformation:props": { + "artifacts": { + "type": "CODEPIPELINE" + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:6.0", + "imagePullCredentialsType": "CODEBUILD", + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_SMALL" + }, + "serviceRole": { + "Fn::GetAtt": [ + "PipelineBuildSynthCdkBuildProjectRole231EEA2A", + "Arn" + ] + }, + "source": { + "type": "CODEPIPELINE", + "buildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"build\": {\n \"commands\": [\n \"npm ci\",\n \"npm run build\",\n \"npx cdk synth\"\n ]\n }\n },\n \"artifacts\": {\n \"base-directory\": \"cdk.out\",\n \"files\": \"**/*\"\n }\n}" + }, + "cache": { + "type": "NO_CACHE" + }, + "description": "Pipeline step PipelineWithAllPrepareNodesFirstStack/Pipeline/Build/Synth", + "encryptionKey": "alias/aws/s3" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.PipelineProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "UpdatePipeline": { + "id": "UpdatePipeline", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/UpdatePipeline", + "children": { + "SelfMutate": { + "id": "SelfMutate", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/UpdatePipeline/SelfMutate", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Beta": { + "id": "Beta", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Beta", + "children": { + "Prepare-Beta-Stack1": { + "id": "Prepare-Beta-Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Beta/Prepare-Beta-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prepare-Beta-Stack2": { + "id": "Prepare-Beta-Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Beta/Prepare-Beta-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Stack1.Deploy": { + "id": "Stack1.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Beta/Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Stack2.Deploy": { + "id": "Stack2.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Beta/Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { + "id": "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { + "id": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "children": { + "8389e75f-0810-4838-bf64-d6f85a95cf83": { + "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}": { + "id": "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}": { + "id": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Wave1": { + "id": "Wave1", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1", + "children": { + "Prod1.Prepare-Prod1-Stack1": { + "id": "Prod1.Prepare-Prod1-Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod1.Prepare-Prod1-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Prepare-Prod1-Stack2": { + "id": "Prod1.Prepare-Prod1-Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod1.Prepare-Prod1-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Prepare-Prod2-Stack1": { + "id": "Prod2.Prepare-Prod2-Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod2.Prepare-Prod2-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Prepare-Prod2-Stack2": { + "id": "Prod2.Prepare-Prod2-Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod2.Prepare-Prod2-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Stack1.Deploy": { + "id": "Prod1.Stack1.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Stack1.Deploy": { + "id": "Prod2.Stack1.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Stack2.Deploy": { + "id": "Prod1.Stack2.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Stack2.Deploy": { + "id": "Prod2.Stack2.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Wave2": { + "id": "Wave2", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave2", + "children": { + "Prod3.Prepare-Prod3-Stack1": { + "id": "Prod3.Prepare-Prod3-Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave2/Prod3.Prepare-Prod3-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod4.Prepare-Prod4-Stack2": { + "id": "Prod4.Prepare-Prod4-Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave2/Prod4.Prepare-Prod4-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod3.Stack1.Deploy": { + "id": "Prod3.Stack1.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod4.Stack2.Deploy": { + "id": "Prod4.Stack2.Deploy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.Pipeline", + "version": "0.0.0" + } + }, + "CodeBuildActionRole": { + "id": "CodeBuildActionRole", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole", + "children": { + "ImportCodeBuildActionRole": { + "id": "ImportCodeBuildActionRole", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/ImportCodeBuildActionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Condition": { + "Bool": { + "aws:ViaAWSService": "codepipeline.amazonaws.com" + } + }, + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/CodeBuildActionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "codebuild:BatchGetBuilds", + "codebuild:StartBuild", + "codebuild:StopBuild" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineBuildSynthCdkBuildProject6BEFA8E6", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineUpdatePipelineSelfMutationDAA41400", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineCodeBuildActionRoleDefaultPolicy1D62A6FE", + "roles": [ + { + "Ref": "PipelineCodeBuildActionRole226DB0CB" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "UpdatePipeline": { + "id": "UpdatePipeline", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline", + "children": { + "SelfMutation": { + "id": "SelfMutation", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation", + "children": { + "Role": { + "id": "Role", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineUpdatePipelineSelfMutationDAA41400" + }, + "-*" + ] + ] + } + }, + { + "Action": "sts:AssumeRole", + "Condition": { + "ForAnyValue:StringEquals": { + "iam:ResourceTag/aws-cdk:bootstrap-role": [ + "image-publishing", + "file-publishing", + "deploy" + ] + } + }, + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:*:iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/*" + ] + ] + } + }, + { + "Action": [ + "cloudformation:DescribeStacks", + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineArtifactsBucketAEA9A052", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineUpdatePipelineSelfMutationRoleDefaultPolicyA225DA4E", + "roles": [ + { + "Ref": "PipelineUpdatePipelineSelfMutationRole57E559E8" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutation/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", + "aws:cdk:cloudformation:props": { + "artifacts": { + "type": "CODEPIPELINE" + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:6.0", + "imagePullCredentialsType": "CODEBUILD", + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_SMALL" + }, + "serviceRole": { + "Fn::GetAtt": [ + "PipelineUpdatePipelineSelfMutationRole57E559E8", + "Arn" + ] + }, + "source": { + "type": "CODEPIPELINE", + "buildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"install\": {\n \"commands\": [\n \"npm install -g aws-cdk@2\"\n ]\n },\n \"build\": {\n \"commands\": [\n \"cdk -a . deploy PipelineWithAllPrepareNodesFirstStack --require-approval=never --verbose\"\n ]\n }\n }\n}" + }, + "cache": { + "type": "NO_CACHE" + }, + "description": "Pipeline step PipelineWithAllPrepareNodesFirstStack/Pipeline/UpdatePipeline/SelfMutate", + "encryptionKey": "alias/aws/s3" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.PipelineProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.pipelines.CodePipeline", + "version": "0.0.0" + } + }, + "Beta": { + "id": "Beta", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Beta/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod1": { + "id": "Prod1", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod1/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod2": { + "id": "Prod2", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod2/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod3": { + "id": "Prod3", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod3", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod3/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod4": { + "id": "Prod4", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod4", + "children": { + "Stack2": { + "id": "Stack2", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/Prod4/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithAllPrepareNodesFirstStack/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Integ": { + "id": "Integ", + "path": "Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json new file mode 100644 index 0000000000000..9e7065c2b0432 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/IntegDefaultTestDeployAssert4E6713E1.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.assets.json new file mode 100644 index 0000000000000..e44828a723ebe --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "0b49d4ab5e39b8af3160f841b1cb57d051eeb3009e494aeb1069ddb2d38e7114": { + "source": { + "path": "PipelineWithPostPrepareStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0b49d4ab5e39b8af3160f841b1cb57d051eeb3009e494aeb1069ddb2d38e7114.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.template.json new file mode 100644 index 0000000000000..37cd5bc2718d4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStack.template.json @@ -0,0 +1,1916 @@ +{ + "Resources": { + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB": { + "Type": "AWS::S3::Bucket", + "Properties": { + "BucketEncryption": { + "ServerSideEncryptionConfiguration": [ + { + "ServerSideEncryptionByDefault": { + "SSEAlgorithm": "aws:kms" + } + } + ] + }, + "PublicAccessBlockConfiguration": { + "BlockPublicAcls": true, + "BlockPublicPolicy": true, + "IgnorePublicAcls": true, + "RestrictPublicBuckets": true + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "PipelineWithPostPreparePipelineArtifactsBucketPolicy083A21B1": { + "Type": "AWS::S3::BucketPolicy", + "Properties": { + "Bucket": { + "Ref": "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB" + }, + "PolicyDocument": { + "Statement": [ + { + "Action": "s3:*", + "Condition": { + "Bool": { + "aws:SecureTransport": "false" + } + }, + "Effect": "Deny", + "Principal": { + "AWS": "*" + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPreparePipelineRole2917FC8F": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codepipeline.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPreparePipelineRoleDefaultPolicy488B101C": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineWithPostPreparePipelineRoleDefaultPolicy488B101C", + "Roles": [ + { + "Ref": "PipelineWithPostPreparePipelineRole2917FC8F" + } + ] + } + }, + "PipelineWithPostPreparePipeline26230908": { + "Type": "AWS::CodePipeline::Pipeline", + "Properties": { + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineRole2917FC8F", + "Arn" + ] + }, + "Stages": [ + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Source", + "Owner": "ThirdParty", + "Provider": "GitHub", + "Version": "1" + }, + "Configuration": { + "Owner": "Nico-DB", + "Repo": "aws-cdk", + "Branch": "main", + "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", + "PollForSourceChanges": false + }, + "Name": "Nico-DB_aws-cdk", + "OutputArtifacts": [ + { + "Name": "Nico_DB_aws_cdk_Source" + } + ], + "RunOrder": 1 + } + ], + "Name": "Source" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Build", + "Owner": "AWS", + "Provider": "CodeBuild", + "Version": "1" + }, + "Configuration": { + "ProjectName": { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"09deb76d97fe89f2ccd364ad1eedc7ebc7c010be6bf79da68c34f358446cd134\"}]" + }, + "InputArtifacts": [ + { + "Name": "Nico_DB_aws_cdk_Source" + } + ], + "Name": "Synth", + "OutputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + }, + "RunOrder": 1 + } + ], + "Name": "Build" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Build", + "Owner": "AWS", + "Provider": "CodeBuild", + "Version": "1" + }, + "Configuration": { + "ProjectName": { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"3ddee2251fc74ec37387ef5b88ac1031be8e788fc79a287a0792aa9ee9134fe2\"}]" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "SelfMutate", + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + }, + "RunOrder": 1 + } + ], + "Name": "UpdatePipeline" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prepare-Beta-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prepare-Beta-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Approval", + "Owner": "AWS", + "Provider": "Manual", + "Version": "1" + }, + "Name": "Approval0", + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A", + "Arn" + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Beta-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 4 + } + ], + "Name": "Beta" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod1.Prepare-Prod1-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod1.Prepare-Prod1-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod2.Prepare-Prod2-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod2.Prepare-Prod2-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Approval", + "Owner": "AWS", + "Provider": "Manual", + "Version": "1" + }, + "Name": "Prod1.Approval1", + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA", + "Arn" + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod1.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod2.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod1-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod1.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 4 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod2-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod2.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 4 + } + ], + "Name": "Wave1" + }, + { + "Actions": [ + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod3-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod3.Prepare-Prod3-Stack1", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod4-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json" + }, + "InputArtifacts": [ + { + "Name": "Synth_Output" + } + ], + "Name": "Prod4.Prepare-Prod4-Stack2", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 1 + }, + { + "ActionTypeId": { + "Category": "Approval", + "Owner": "AWS", + "Provider": "Manual", + "Version": "1" + }, + "Name": "Prod3.Approval2", + "RoleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC", + "Arn" + ] + }, + "RunOrder": 2 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod3-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod3.Stack1.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + }, + { + "ActionTypeId": { + "Category": "Deploy", + "Owner": "AWS", + "Provider": "CloudFormation", + "Version": "1" + }, + "Configuration": { + "StackName": "Prod4-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "Name": "Prod4.Stack2.Deploy", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "RunOrder": 3 + } + ], + "Name": "Wave2" + } + ], + "ArtifactStore": { + "Location": { + "Ref": "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB" + }, + "Type": "S3" + }, + "RestartExecutionOnUpdate": true + }, + "DependsOn": [ + "PipelineWithPostPreparePipelineRoleDefaultPolicy488B101C", + "PipelineWithPostPreparePipelineRole2917FC8F" + ] + }, + "PipelineWithPostPreparePipelineSourceNicoDBawscdkWebhookResourceD40271CA": { + "Type": "AWS::CodePipeline::Webhook", + "Properties": { + "Authentication": "GITHUB_HMAC", + "AuthenticationConfiguration": { + "SecretToken": "{{resolve:secretsmanager:github-token:SecretString:::}}" + }, + "Filters": [ + { + "JsonPath": "$.ref", + "MatchEquals": "refs/heads/{Branch}" + } + ], + "TargetAction": "Nico-DB_aws-cdk", + "TargetPipeline": { + "Ref": "PipelineWithPostPreparePipeline26230908" + }, + "TargetPipelineVersion": 1, + "RegisterWithThirdParty": true + } + }, + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRoleDefaultPolicy7BCFCA94": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + "-*" + ] + ] + } + }, + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRoleDefaultPolicy7BCFCA94", + "Roles": [ + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7" + } + ] + } + }, + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "CODEPIPELINE" + }, + "Environment": { + "ComputeType": "BUILD_GENERAL1_SMALL", + "Image": "aws/codebuild/standard:6.0", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "LINUX_CONTAINER" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"build\": {\n \"commands\": [\n \"npm ci\",\n \"npm run build\",\n \"npx cdk synth\"\n ]\n }\n },\n \"artifacts\": {\n \"base-directory\": \"cdk.out\",\n \"files\": \"**/*\"\n }\n}", + "Type": "CODEPIPELINE" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "Description": "Pipeline step PipelineWithPostPrepareStack/Pipeline/Build/Synth", + "EncryptionKey": "alias/aws/s3" + } + }, + "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPrepareCodeBuildActionRole452BE06A": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Condition": { + "Bool": { + "aws:ViaAWSService": "codepipeline.amazonaws.com" + } + }, + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPrepareCodeBuildActionRoleDefaultPolicy4B1A81F6": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "codebuild:BatchGetBuilds", + "codebuild:StartBuild", + "codebuild:StopBuild" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineWithPostPrepareCodeBuildActionRoleDefaultPolicy4B1A81F6", + "Roles": [ + { + "Ref": "PipelineWithPostPrepareCodeBuildActionRole452BE06A" + } + ] + } + }, + "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PipelineWithPostPrepareUpdatePipelineSelfMutationRoleDefaultPolicyF7AF6CE2": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + "-*" + ] + ] + } + }, + { + "Action": "sts:AssumeRole", + "Condition": { + "ForAnyValue:StringEquals": { + "iam:ResourceTag/aws-cdk:bootstrap-role": [ + "image-publishing", + "file-publishing", + "deploy" + ] + } + }, + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:*:iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/*" + ] + ] + } + }, + { + "Action": [ + "cloudformation:DescribeStacks", + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PipelineWithPostPrepareUpdatePipelineSelfMutationRoleDefaultPolicyF7AF6CE2", + "Roles": [ + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF" + } + ] + } + }, + "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "CODEPIPELINE" + }, + "Environment": { + "ComputeType": "BUILD_GENERAL1_SMALL", + "Image": "aws/codebuild/standard:6.0", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "LINUX_CONTAINER" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"install\": {\n \"commands\": [\n \"npm install -g aws-cdk@2\"\n ]\n },\n \"build\": {\n \"commands\": [\n \"cdk -a . deploy PipelineWithPostPrepareStack --require-approval=never --verbose\"\n ]\n }\n }\n}", + "Type": "CODEPIPELINE" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "Description": "Pipeline step PipelineWithPostPrepareStack/Pipeline/UpdatePipeline/SelfMutate", + "EncryptionKey": "alias/aws/s3" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStackPipelineWithPostPrepare9F1BC6DA.dot b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStackPipelineWithPostPrepare9F1BC6DA.dot new file mode 100644 index 0000000000000..5f84bbc07fa83 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/PipelineWithPostPrepareStackPipelineWithPostPrepare9F1BC6DA.dot @@ -0,0 +1,146 @@ +digraph G { + # Arrows represent an "unlocks" relationship (opposite of dependency). So chosen + # because the layout looks more natural that way. + # To represent subgraph dependencies, subgraphs are represented by BEGIN/END nodes. + # To render: `dot -Tsvg PipelineWithPostPrepareStackPipelineWithPostPrepare9F1BC6DA.dot > graph.svg`, open in a browser. + node [shape="box"]; +"BEGIN Build" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Build" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Build.Synth"; +"Source.Nico-DB/aws-cdk" -> "Build.Synth"; +"BEGIN Build" -> "Build.Synth"; +"Build.Synth" -> "END Build"; +"BEGIN UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END UpdatePipeline" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate"; +"Build.Synth" -> "UpdatePipeline.SelfMutate"; +"BEGIN UpdatePipeline" -> "UpdatePipeline.SelfMutate"; +"UpdatePipeline.SelfMutate" -> "END UpdatePipeline"; +"BEGIN Beta" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Beta"; +"BEGIN Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Beta.Stack1.Deploy"; +"Beta.Prepare-Beta-Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Approval0" -> "Beta.Stack1.Deploy"; +"BEGIN Beta.Stack1" -> "Beta.Stack1.Deploy"; +"Beta.Stack1.Deploy" -> "END Beta.Stack1"; +"Beta.Prepare-Beta-Stack1"; +"Build.Synth" -> "Beta.Prepare-Beta-Stack1"; +"Beta.Approval0"; +"Beta.Prepare-Beta-Stack1" -> "Beta.Approval0"; +"Beta.Prepare-Beta-Stack2" -> "Beta.Approval0"; +"BEGIN Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Beta.Stack1" -> "BEGIN Beta.Stack2"; +"Beta.Stack2.Deploy"; +"Beta.Prepare-Beta-Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Approval0" -> "Beta.Stack2.Deploy"; +"BEGIN Beta.Stack2" -> "Beta.Stack2.Deploy"; +"Beta.Stack2.Deploy" -> "END Beta.Stack2"; +"Beta.Prepare-Beta-Stack2"; +"Build.Synth" -> "Beta.Prepare-Beta-Stack2"; +"BEGIN Beta" -> "Beta.Prepare-Beta-Stack1"; +"BEGIN Beta" -> "Beta.Prepare-Beta-Stack2"; +"END Beta.Stack2" -> "END Beta"; +"BEGIN Wave1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Wave1"; +"END Beta" -> "BEGIN Wave1"; +"BEGIN Wave1.Prod1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Approval1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"BEGIN Wave1.Prod1.Stack1" -> "Wave1.Prod1.Stack1.Deploy"; +"Wave1.Prod1.Stack1.Deploy" -> "END Wave1.Prod1.Stack1"; +"Wave1.Prod1.Prepare-Prod1-Stack1"; +"Build.Synth" -> "Wave1.Prod1.Prepare-Prod1-Stack1"; +"Wave1.Prod1.Approval1"; +"Wave1.Prod1.Prepare-Prod1-Stack1" -> "Wave1.Prod1.Approval1"; +"Wave1.Prod1.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Approval1"; +"Wave1.Prod2.Prepare-Prod2-Stack1" -> "Wave1.Prod1.Approval1"; +"Wave1.Prod2.Prepare-Prod2-Stack2" -> "Wave1.Prod1.Approval1"; +"BEGIN Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod1.Stack1" -> "BEGIN Wave1.Prod1.Stack2"; +"Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Approval1" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Prepare-Prod1-Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"BEGIN Wave1.Prod1.Stack2" -> "Wave1.Prod1.Stack2.Deploy"; +"Wave1.Prod1.Stack2.Deploy" -> "END Wave1.Prod1.Stack2"; +"Wave1.Prod1.Prepare-Prod1-Stack2"; +"Build.Synth" -> "Wave1.Prod1.Prepare-Prod1-Stack2"; +"BEGIN Wave1.Prod1" -> "Wave1.Prod1.Prepare-Prod1-Stack1"; +"BEGIN Wave1.Prod1" -> "Wave1.Prod1.Prepare-Prod1-Stack2"; +"END Wave1.Prod1.Stack2" -> "END Wave1.Prod1"; +"BEGIN Wave1.Prod2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod1.Approval1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"BEGIN Wave1.Prod2.Stack1" -> "Wave1.Prod2.Stack1.Deploy"; +"Wave1.Prod2.Stack1.Deploy" -> "END Wave1.Prod2.Stack1"; +"Wave1.Prod2.Prepare-Prod2-Stack1"; +"Build.Synth" -> "Wave1.Prod2.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave1.Prod2.Stack1" -> "BEGIN Wave1.Prod2.Stack2"; +"Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod1.Approval1" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Prepare-Prod2-Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"BEGIN Wave1.Prod2.Stack2" -> "Wave1.Prod2.Stack2.Deploy"; +"Wave1.Prod2.Stack2.Deploy" -> "END Wave1.Prod2.Stack2"; +"Wave1.Prod2.Prepare-Prod2-Stack2"; +"Build.Synth" -> "Wave1.Prod2.Prepare-Prod2-Stack2"; +"BEGIN Wave1.Prod2" -> "Wave1.Prod2.Prepare-Prod2-Stack1"; +"BEGIN Wave1.Prod2" -> "Wave1.Prod2.Prepare-Prod2-Stack2"; +"END Wave1.Prod2.Stack2" -> "END Wave1.Prod2"; +"BEGIN Wave1" -> "BEGIN Wave1.Prod1"; +"END Wave1.Prod2" -> "END Wave1"; +"BEGIN Wave2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"UpdatePipeline.SelfMutate" -> "BEGIN Wave2"; +"END Wave1" -> "BEGIN Wave2"; +"BEGIN Wave2.Prod3" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod3" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod3.Stack1" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Approval2" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"BEGIN Wave2.Prod3.Stack1" -> "Wave2.Prod3.Stack1.Deploy"; +"Wave2.Prod3.Stack1.Deploy" -> "END Wave2.Prod3.Stack1"; +"Wave2.Prod3.Prepare-Prod3-Stack1"; +"Build.Synth" -> "Wave2.Prod3.Prepare-Prod3-Stack1"; +"Wave2.Prod3.Approval2"; +"Wave2.Prod3.Prepare-Prod3-Stack1" -> "Wave2.Prod3.Approval2"; +"Wave2.Prod4.Prepare-Prod4-Stack2" -> "Wave2.Prod3.Approval2"; +"BEGIN Wave2.Prod3" -> "Wave2.Prod3.Prepare-Prod3-Stack1"; +"END Wave2.Prod3.Stack1" -> "END Wave2.Prod3"; +"BEGIN Wave2.Prod4" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod4" [shape="cds", style="filled", fillcolor="#b7deff"]; +"BEGIN Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Wave2.Prod4.Stack2" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod3.Approval2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Prepare-Prod4-Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"BEGIN Wave2.Prod4.Stack2" -> "Wave2.Prod4.Stack2.Deploy"; +"Wave2.Prod4.Stack2.Deploy" -> "END Wave2.Prod4.Stack2"; +"Wave2.Prod4.Prepare-Prod4-Stack2"; +"Build.Synth" -> "Wave2.Prod4.Prepare-Prod4-Stack2"; +"BEGIN Wave2.Prod4" -> "Wave2.Prod4.Prepare-Prod4-Stack2"; +"END Wave2.Prod4.Stack2" -> "END Wave2.Prod4"; +"BEGIN Wave2" -> "BEGIN Wave2.Prod3"; +"END Wave2.Prod4" -> "END Wave2"; +"BEGIN Source" [shape="cds", style="filled", fillcolor="#b7deff"]; +"END Source" [shape="cds", style="filled", fillcolor="#b7deff"]; +"Source.Nico-DB/aws-cdk"; +"BEGIN Source" -> "Source.Nico-DB/aws-cdk"; +"Source.Nico-DB/aws-cdk" -> "END Source"; +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.assets.json new file mode 100644 index 0000000000000..f48b2155e3bb7 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65": { + "source": { + "path": "PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json new file mode 100644 index 0000000000000..c1339d0126ee2 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.assets.json new file mode 100644 index 0000000000000..9c897f7110973 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326": { + "source": { + "path": "PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json new file mode 100644 index 0000000000000..f7390e702aa6d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/manifest.json new file mode 100644 index 0000000000000..1eb311e9e40b6 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Beta/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithPostPrepareStackBetaStack1E900E8C2.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackBetaStack1E900E8C2.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackBetaStack1E900E8C2": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/91031b26c04588c38a59e3481d308182b5244c5f5a3af3ee05566e2f4f70ce65.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackBetaStack1E900E8C2.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Beta-Stack1" + }, + "dependencies": [ + "PipelineWithPostPrepareStackBetaStack1E900E8C2.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Beta/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithPostPrepareStack/Beta/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithPostPrepareStack/Beta/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Beta/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Beta/Stack1" + }, + "PipelineWithPostPrepareStackBetaStack2A215C7AA.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackBetaStack2A215C7AA.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackBetaStack2A215C7AA": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e3aa38ca82b00b776ad3834e9ee862d2e529d91c0f0b12fad846884e1e600326.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackBetaStack2A215C7AA.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Beta-Stack2" + }, + "dependencies": [ + "PipelineWithPostPrepareStackBetaStack1E900E8C2", + "PipelineWithPostPrepareStackBetaStack2A215C7AA.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Beta/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithPostPrepareStack/Beta/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Beta/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Beta/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets.json new file mode 100644 index 0000000000000..aaad33fa62a1c --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3": { + "source": { + "path": "PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json new file mode 100644 index 0000000000000..b46a5cc4fbb7d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.assets.json new file mode 100644 index 0000000000000..7edbf09075d8c --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059": { + "source": { + "path": "PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json new file mode 100644 index 0000000000000..fcabd32211080 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/manifest.json new file mode 100644 index 0000000000000..fe9b877cc24a4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod1/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd1Stack18A6E05FD": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/774f0c3cec814003a4da7d6cab73aec82952a0cb52a221b3f94fae483d9922a3.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod1-Stack1" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd1Stack18A6E05FD.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod1/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithPostPrepareStack/Prod1/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithPostPrepareStack/Prod1/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod1/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod1/Stack1" + }, + "PipelineWithPostPrepareStackProd1Stack23830DAC4.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd1Stack23830DAC4.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd1Stack23830DAC4": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c1cb4eebe68ea920a89e618efa29c36ecc1aa0c6f6ef6b65559efe9c0bba4059.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd1Stack23830DAC4.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod1-Stack2" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd1Stack18A6E05FD", + "PipelineWithPostPrepareStackProd1Stack23830DAC4.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod1/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithPostPrepareStack/Prod1/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod1/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod1/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets.json new file mode 100644 index 0000000000000..e5a32c734926d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68": { + "source": { + "path": "PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json new file mode 100644 index 0000000000000..302ccbd07207e --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json @@ -0,0 +1,56 @@ +{ + "Resources": { + "Queue4A7E3555": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Outputs": { + "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E": { + "Value": { + "Fn::GetAtt": [ + "Queue4A7E3555", + "Arn" + ] + }, + "Export": { + "Name": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.assets.json new file mode 100644 index 0000000000000..990375301937f --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9": { + "source": { + "path": "PipelineWithPostPrepareStackProd2Stack2FE352778.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json new file mode 100644 index 0000000000000..933decc98d696 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json @@ -0,0 +1,51 @@ +{ + "Resources": { + "OtherQueue60B686DC": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/manifest.json new file mode 100644 index 0000000000000..6dffaff4aaf90 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod2/manifest.json @@ -0,0 +1,120 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd2Stack1AE394F2F": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a595899a57366f015e986ac46c3da09fac75670ea0f4719de8defc67d731fa68.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod2-Stack1" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd2Stack1AE394F2F.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod2/Stack1/Queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Queue4A7E3555" + } + ], + "/PipelineWithPostPrepareStack/Prod2/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ + { + "type": "aws:cdk:logicalId", + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + } + ], + "/PipelineWithPostPrepareStack/Prod2/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod2/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod2/Stack1" + }, + "PipelineWithPostPrepareStackProd2Stack2FE352778.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd2Stack2FE352778.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd2Stack2FE352778": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd2Stack2FE352778.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/364ee9a72c6c371a00c6e41438695af070848a2d625a4c953bfc4666e7ad5ae9.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd2Stack2FE352778.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod2-Stack2" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd2Stack1AE394F2F", + "PipelineWithPostPrepareStackProd2Stack2FE352778.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod2/Stack2/OtherQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "OtherQueue60B686DC" + } + ], + "/PipelineWithPostPrepareStack/Prod2/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod2/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod2/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.assets.json new file mode 100644 index 0000000000000..1cf4590723fd4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "PipelineWithPostPrepareStackProd3Stack1E9091829.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/manifest.json new file mode 100644 index 0000000000000..b0a84091323f2 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod3/manifest.json @@ -0,0 +1,53 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithPostPrepareStackProd3Stack1E9091829.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd3Stack1E9091829.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd3Stack1E9091829": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd3Stack1E9091829.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd3Stack1E9091829.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod3-Stack1" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd3Stack1E9091829.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod3/Stack1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod3/Stack1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod3/Stack1" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.assets.json new file mode 100644 index 0000000000000..0568fd5d01c44 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "31.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "PipelineWithPostPrepareStackProd4Stack224266FA1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/manifest.json new file mode 100644 index 0000000000000..bc58be966ac1d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/assembly-PipelineWithPostPrepareStack-Prod4/manifest.json @@ -0,0 +1,53 @@ +{ + "version": "31.0.0", + "artifacts": { + "PipelineWithPostPrepareStackProd4Stack224266FA1.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStackProd4Stack224266FA1.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStackProd4Stack224266FA1": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStackProd4Stack224266FA1.template.json", + "validateOnSynth": true, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStackProd4Stack224266FA1.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + }, + "stackName": "Prod4-Stack2" + }, + "dependencies": [ + "PipelineWithPostPrepareStackProd4Stack224266FA1.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/Prod4/Stack2/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/Prod4/Stack2/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack/Prod4/Stack2" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/cdk.out new file mode 100644 index 0000000000000..7925065efbcc4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/integ.json new file mode 100644 index 0000000000000..5c345d605c42d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "31.0.0", + "testCases": { + "Integ/DefaultTest": { + "stacks": [ + "PipelineWithPostPrepareStack" + ], + "assertionStack": "Integ/DefaultTest/DeployAssert", + "assertionStackName": "IntegDefaultTestDeployAssert4E6713E1" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/manifest.json new file mode 100644 index 0000000000000..f01152cb6c4c5 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/manifest.json @@ -0,0 +1,242 @@ +{ + "version": "31.0.0", + "artifacts": { + "assembly-PipelineWithPostPrepareStack-Beta": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithPostPrepareStack-Beta", + "displayName": "PipelineWithPostPrepareStack/Beta" + } + }, + "assembly-PipelineWithPostPrepareStack-Prod1": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithPostPrepareStack-Prod1", + "displayName": "PipelineWithPostPrepareStack/Prod1" + } + }, + "assembly-PipelineWithPostPrepareStack-Prod2": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithPostPrepareStack-Prod2", + "displayName": "PipelineWithPostPrepareStack/Prod2" + } + }, + "assembly-PipelineWithPostPrepareStack-Prod3": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithPostPrepareStack-Prod3", + "displayName": "PipelineWithPostPrepareStack/Prod3" + } + }, + "assembly-PipelineWithPostPrepareStack-Prod4": { + "type": "cdk:cloud-assembly", + "properties": { + "directoryName": "assembly-PipelineWithPostPrepareStack-Prod4", + "displayName": "PipelineWithPostPrepareStack/Prod4" + } + }, + "PipelineWithPostPrepareStack.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "PipelineWithPostPrepareStack.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "PipelineWithPostPrepareStack": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "PipelineWithPostPrepareStack.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0b49d4ab5e39b8af3160f841b1cb57d051eeb3009e494aeb1069ddb2d38e7114.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "PipelineWithPostPrepareStack.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "PipelineWithPostPrepareStack.assets" + ], + "metadata": { + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineArtifactsBucketPolicy083A21B1" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineRole2917FC8F" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineRoleDefaultPolicy488B101C" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipeline26230908" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineSourceNicoDBawscdkWebhookResourceD40271CA" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRoleDefaultPolicy7BCFCA94" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Approval0/CodePipelineActionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Approval1/CodePipelineActionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Approval2/CodePipelineActionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPrepareCodeBuildActionRole452BE06A" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPrepareCodeBuildActionRoleDefaultPolicy4B1A81F6" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPrepareUpdatePipelineSelfMutationRoleDefaultPolicyF7AF6CE2" + } + ], + "/PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + } + ], + "/PipelineWithPostPrepareStack/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/PipelineWithPostPrepareStack/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "PipelineWithPostPrepareStack" + }, + "IntegDefaultTestDeployAssert4E6713E1.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "IntegDefaultTestDeployAssert4E6713E1.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "IntegDefaultTestDeployAssert4E6713E1": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "IntegDefaultTestDeployAssert4E6713E1.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "IntegDefaultTestDeployAssert4E6713E1.assets" + ], + "metadata": { + "/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "Integ/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/tree.json new file mode 100644 index 0000000000000..df0a89aa2ff17 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-postPrepare.js.snapshot/tree.json @@ -0,0 +1,3098 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "PipelineWithPostPrepareStack": { + "id": "PipelineWithPostPrepareStack", + "path": "PipelineWithPostPrepareStack", + "children": { + "PipelineWithPostPrepare": { + "id": "PipelineWithPostPrepare", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare", + "children": { + "Pipeline": { + "id": "Pipeline", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline", + "children": { + "ArtifactsBucket": { + "id": "ArtifactsBucket", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::S3::Bucket", + "aws:cdk:cloudformation:props": { + "bucketEncryption": { + "serverSideEncryptionConfiguration": [ + { + "serverSideEncryptionByDefault": { + "sseAlgorithm": "aws:kms" + } + } + ] + }, + "publicAccessBlockConfiguration": { + "blockPublicAcls": true, + "blockPublicPolicy": true, + "ignorePublicAcls": true, + "restrictPublicBuckets": true + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.CfnBucket", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/ArtifactsBucket/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy", + "aws:cdk:cloudformation:props": { + "bucket": { + "Ref": "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB" + }, + "policyDocument": { + "Statement": [ + { + "Action": "s3:*", + "Condition": { + "Bool": { + "aws:SecureTransport": "false" + } + }, + "Effect": "Deny", + "Principal": { + "AWS": "*" + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.Bucket", + "version": "0.0.0" + } + }, + "Role": { + "id": "Role", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codepipeline.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineWithPostPreparePipelineRoleDefaultPolicy488B101C", + "roles": [ + { + "Ref": "PipelineWithPostPreparePipelineRole2917FC8F" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodePipeline::Pipeline", + "aws:cdk:cloudformation:props": { + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineRole2917FC8F", + "Arn" + ] + }, + "stages": [ + { + "name": "Source", + "actions": [ + { + "name": "Nico-DB_aws-cdk", + "outputArtifacts": [ + { + "name": "Nico_DB_aws_cdk_Source" + } + ], + "actionTypeId": { + "category": "Source", + "version": "1", + "owner": "ThirdParty", + "provider": "GitHub" + }, + "configuration": { + "Owner": "Nico-DB", + "Repo": "aws-cdk", + "Branch": "main", + "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", + "PollForSourceChanges": false + }, + "runOrder": 1 + } + ] + }, + { + "name": "Build", + "actions": [ + { + "name": "Synth", + "inputArtifacts": [ + { + "name": "Nico_DB_aws_cdk_Source" + } + ], + "outputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Build", + "version": "1", + "owner": "AWS", + "provider": "CodeBuild" + }, + "configuration": { + "ProjectName": { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"09deb76d97fe89f2ccd364ad1eedc7ebc7c010be6bf79da68c34f358446cd134\"}]" + }, + "runOrder": 1, + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + } + } + ] + }, + { + "name": "UpdatePipeline", + "actions": [ + { + "name": "SelfMutate", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Build", + "version": "1", + "owner": "AWS", + "provider": "CodeBuild" + }, + "configuration": { + "ProjectName": { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + "EnvironmentVariables": "[{\"name\":\"_PROJECT_CONFIG_HASH\",\"type\":\"PLAINTEXT\",\"value\":\"3ddee2251fc74ec37387ef5b88ac1031be8e788fc79a287a0792aa9ee9134fe2\"}]" + }, + "runOrder": 1, + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareCodeBuildActionRole452BE06A", + "Arn" + ] + } + } + ] + }, + { + "name": "Beta", + "actions": [ + { + "name": "Prepare-Beta-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack1E900E8C2.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prepare-Beta-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Beta/PipelineWithPostPrepareStackBetaStack2A215C7AA.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Approval0", + "actionTypeId": { + "category": "Approval", + "version": "1", + "owner": "AWS", + "provider": "Manual" + }, + "runOrder": 2, + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBetaApproval0CodePipelineActionRole4EC4A93A", + "Arn" + ] + } + }, + { + "name": "Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Beta-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 4, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + }, + { + "name": "Wave1", + "actions": [ + { + "name": "Prod1.Prepare-Prod1-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack18A6E05FD.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Prepare-Prod1-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod1/PipelineWithPostPrepareStackProd1Stack23830DAC4.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Prepare-Prod2-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack1AE394F2F.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Prepare-Prod2-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod2/PipelineWithPostPrepareStackProd2Stack2FE352778.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Approval1", + "actionTypeId": { + "category": "Approval", + "version": "1", + "owner": "AWS", + "provider": "Manual" + }, + "runOrder": 2, + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave1Prod1Approval1CodePipelineActionRole1E69C5CA", + "Arn" + ] + } + }, + { + "name": "Prod1.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod1.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod1-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 4, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod2.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod2-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 4, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + }, + { + "name": "Wave2", + "actions": [ + { + "name": "Prod3.Prepare-Prod3-Stack1", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod3-Stack1", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod3/PipelineWithPostPrepareStackProd3Stack1E9091829.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod4.Prepare-Prod4-Stack2", + "inputArtifacts": [ + { + "name": "Synth_Output" + } + ], + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod4-Stack2", + "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", + "RoleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-cfn-exec-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + }, + "ActionMode": "CHANGE_SET_REPLACE", + "ChangeSetName": "PipelineChange", + "TemplatePath": "Synth_Output::assembly-PipelineWithPostPrepareStack-Prod4/PipelineWithPostPrepareStackProd4Stack224266FA1.template.json" + }, + "runOrder": 1, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod3.Approval2", + "actionTypeId": { + "category": "Approval", + "version": "1", + "owner": "AWS", + "provider": "Manual" + }, + "runOrder": 2, + "roleArn": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineWave2Prod3Approval2CodePipelineActionRoleDC716EBC", + "Arn" + ] + } + }, + { + "name": "Prod3.Stack1.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod3-Stack1", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + }, + { + "name": "Prod4.Stack2.Deploy", + "actionTypeId": { + "category": "Deploy", + "version": "1", + "owner": "AWS", + "provider": "CloudFormation" + }, + "configuration": { + "StackName": "Prod4-Stack2", + "ActionMode": "CHANGE_SET_EXECUTE", + "ChangeSetName": "PipelineChange" + }, + "runOrder": 3, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/cdk-hnb659fds-deploy-role-", + { + "Ref": "AWS::AccountId" + }, + "-", + { + "Ref": "AWS::Region" + } + ] + ] + } + } + ] + } + ], + "artifactStore": { + "type": "S3", + "location": { + "Ref": "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB" + } + }, + "restartExecutionOnUpdate": true + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.CfnPipeline", + "version": "0.0.0" + } + }, + "Source": { + "id": "Source", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Source", + "children": { + "Nico-DB_aws-cdk": { + "id": "Nico-DB_aws-cdk", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Source/Nico-DB_aws-cdk", + "children": { + "WebhookResource": { + "id": "WebhookResource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Source/Nico-DB_aws-cdk/WebhookResource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodePipeline::Webhook", + "aws:cdk:cloudformation:props": { + "authentication": "GITHUB_HMAC", + "authenticationConfiguration": { + "secretToken": "{{resolve:secretsmanager:github-token:SecretString:::}}" + }, + "filters": [ + { + "jsonPath": "$.ref", + "matchEquals": "refs/heads/{Branch}" + } + ], + "targetAction": "Nico-DB_aws-cdk", + "targetPipeline": { + "Ref": "PipelineWithPostPreparePipeline26230908" + }, + "targetPipelineVersion": 1, + "registerWithThirdParty": true + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.CfnWebhook", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Build": { + "id": "Build", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build", + "children": { + "Synth": { + "id": "Synth", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth", + "children": { + "CdkBuildProject": { + "id": "CdkBuildProject", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject", + "children": { + "Role": { + "id": "Role", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC" + }, + "-*" + ] + ] + } + }, + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRoleDefaultPolicy7BCFCA94", + "roles": [ + { + "Ref": "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Build/Synth/CdkBuildProject/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", + "aws:cdk:cloudformation:props": { + "artifacts": { + "type": "CODEPIPELINE" + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:6.0", + "imagePullCredentialsType": "CODEBUILD", + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_SMALL" + }, + "serviceRole": { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectRole50FA74A7", + "Arn" + ] + }, + "source": { + "type": "CODEPIPELINE", + "buildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"build\": {\n \"commands\": [\n \"npm ci\",\n \"npm run build\",\n \"npx cdk synth\"\n ]\n }\n },\n \"artifacts\": {\n \"base-directory\": \"cdk.out\",\n \"files\": \"**/*\"\n }\n}" + }, + "cache": { + "type": "NO_CACHE" + }, + "description": "Pipeline step PipelineWithPostPrepareStack/Pipeline/Build/Synth", + "encryptionKey": "alias/aws/s3" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.PipelineProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "UpdatePipeline": { + "id": "UpdatePipeline", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/UpdatePipeline", + "children": { + "SelfMutate": { + "id": "SelfMutate", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/UpdatePipeline/SelfMutate", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Beta": { + "id": "Beta", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta", + "children": { + "Prepare-Beta-Stack1": { + "id": "Prepare-Beta-Stack1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Prepare-Beta-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prepare-Beta-Stack2": { + "id": "Prepare-Beta-Stack2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Prepare-Beta-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Approval0": { + "id": "Approval0", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Approval0", + "children": { + "CodePipelineActionRole": { + "id": "CodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Approval0/CodePipelineActionRole", + "children": { + "ImportCodePipelineActionRole": { + "id": "ImportCodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Approval0/CodePipelineActionRole/ImportCodePipelineActionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Approval0/CodePipelineActionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Stack1.Deploy": { + "id": "Stack1.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Stack2.Deploy": { + "id": "Stack2.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Beta/Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { + "id": "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { + "id": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "children": { + "8389e75f-0810-4838-bf64-d6f85a95cf83": { + "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}": { + "id": "MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/MutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}": { + "id": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Wave1": { + "id": "Wave1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1", + "children": { + "Prod1.Prepare-Prod1-Stack1": { + "id": "Prod1.Prepare-Prod1-Stack1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Prepare-Prod1-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Prepare-Prod1-Stack2": { + "id": "Prod1.Prepare-Prod1-Stack2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Prepare-Prod1-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Prepare-Prod2-Stack1": { + "id": "Prod2.Prepare-Prod2-Stack1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod2.Prepare-Prod2-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Prepare-Prod2-Stack2": { + "id": "Prod2.Prepare-Prod2-Stack2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod2.Prepare-Prod2-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Approval1": { + "id": "Prod1.Approval1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Approval1", + "children": { + "CodePipelineActionRole": { + "id": "CodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Approval1/CodePipelineActionRole", + "children": { + "ImportCodePipelineActionRole": { + "id": "ImportCodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Approval1/CodePipelineActionRole/ImportCodePipelineActionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Approval1/CodePipelineActionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Stack1.Deploy": { + "id": "Prod1.Stack1.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Stack1.Deploy": { + "id": "Prod2.Stack1.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod2.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod1.Stack2.Deploy": { + "id": "Prod1.Stack2.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod1.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod2.Stack2.Deploy": { + "id": "Prod2.Stack2.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave1/Prod2.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Wave2": { + "id": "Wave2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2", + "children": { + "Prod3.Prepare-Prod3-Stack1": { + "id": "Prod3.Prepare-Prod3-Stack1", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Prepare-Prod3-Stack1", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod4.Prepare-Prod4-Stack2": { + "id": "Prod4.Prepare-Prod4-Stack2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod4.Prepare-Prod4-Stack2", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod3.Approval2": { + "id": "Prod3.Approval2", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Approval2", + "children": { + "CodePipelineActionRole": { + "id": "CodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Approval2/CodePipelineActionRole", + "children": { + "ImportCodePipelineActionRole": { + "id": "ImportCodePipelineActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Approval2/CodePipelineActionRole/ImportCodePipelineActionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Approval2/CodePipelineActionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod3.Stack1.Deploy": { + "id": "Prod3.Stack1.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod3.Stack1.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "Prod4.Stack2.Deploy": { + "id": "Prod4.Stack2.Deploy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/Pipeline/Wave2/Prod4.Stack2.Deploy", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codepipeline.Pipeline", + "version": "0.0.0" + } + }, + "CodeBuildActionRole": { + "id": "CodeBuildActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole", + "children": { + "ImportCodeBuildActionRole": { + "id": "ImportCodeBuildActionRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/ImportCodeBuildActionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Condition": { + "Bool": { + "aws:ViaAWSService": "codepipeline.amazonaws.com" + } + }, + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/CodeBuildActionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "codebuild:BatchGetBuilds", + "codebuild:StartBuild", + "codebuild:StopBuild" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineBuildSynthCdkBuildProjectFD5AF1EC", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineWithPostPrepareCodeBuildActionRoleDefaultPolicy4B1A81F6", + "roles": [ + { + "Ref": "PipelineWithPostPrepareCodeBuildActionRole452BE06A" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "UpdatePipeline": { + "id": "UpdatePipeline", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline", + "children": { + "SelfMutation": { + "id": "SelfMutation", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation", + "children": { + "Role": { + "id": "Role", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutation7E069DA6" + }, + "-*" + ] + ] + } + }, + { + "Action": "sts:AssumeRole", + "Condition": { + "ForAnyValue:StringEquals": { + "iam:ResourceTag/aws-cdk:bootstrap-role": [ + "image-publishing", + "file-publishing", + "deploy" + ] + } + }, + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:*:iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/*" + ] + ] + } + }, + { + "Action": [ + "cloudformation:DescribeStacks", + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "PipelineWithPostPreparePipelineArtifactsBucketBB585ABB", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "PipelineWithPostPrepareUpdatePipelineSelfMutationRoleDefaultPolicyF7AF6CE2", + "roles": [ + { + "Ref": "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/PipelineWithPostPrepare/UpdatePipeline/SelfMutation/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", + "aws:cdk:cloudformation:props": { + "artifacts": { + "type": "CODEPIPELINE" + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:6.0", + "imagePullCredentialsType": "CODEBUILD", + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_SMALL" + }, + "serviceRole": { + "Fn::GetAtt": [ + "PipelineWithPostPrepareUpdatePipelineSelfMutationRole0B5BA2AF", + "Arn" + ] + }, + "source": { + "type": "CODEPIPELINE", + "buildSpec": "{\n \"version\": \"0.2\",\n \"phases\": {\n \"install\": {\n \"commands\": [\n \"npm install -g aws-cdk@2\"\n ]\n },\n \"build\": {\n \"commands\": [\n \"cdk -a . deploy PipelineWithPostPrepareStack --require-approval=never --verbose\"\n ]\n }\n }\n}" + }, + "cache": { + "type": "NO_CACHE" + }, + "description": "Pipeline step PipelineWithPostPrepareStack/Pipeline/UpdatePipeline/SelfMutate", + "encryptionKey": "alias/aws/s3" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_codebuild.PipelineProject", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.pipelines.CodePipeline", + "version": "0.0.0" + } + }, + "Beta": { + "id": "Beta", + "path": "PipelineWithPostPrepareStack/Beta", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithPostPrepareStack/Beta/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Beta/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithPostPrepareStack/Beta/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithPostPrepareStack/Beta/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Beta/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Beta-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Beta/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Beta/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod1": { + "id": "Prod1", + "path": "PipelineWithPostPrepareStack/Prod1", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod1/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithPostPrepareStack/Prod1/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithPostPrepareStack/Prod1/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Prod1/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod1-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod1/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod1/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod2": { + "id": "Prod2", + "path": "PipelineWithPostPrepareStack/Prod2", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1", + "children": { + "Queue": { + "id": "Queue", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/Queue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/Queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "Exports": { + "id": "Exports", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/Exports", + "children": { + "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": { + "id": "Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod2/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Stack2": { + "id": "Stack2", + "path": "PipelineWithPostPrepareStack/Prod2/Stack2", + "children": { + "OtherQueue": { + "id": "OtherQueue", + "path": "PipelineWithPostPrepareStack/Prod2/Stack2/OtherQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "PipelineWithPostPrepareStack/Prod2/Stack2/OtherQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::ImportValue": "Prod2-Stack1:ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" + }, + "maxReceiveCount": 5 + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod2/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod2/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod3": { + "id": "Prod3", + "path": "PipelineWithPostPrepareStack/Prod3", + "children": { + "Stack1": { + "id": "Stack1", + "path": "PipelineWithPostPrepareStack/Prod3/Stack1", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod3/Stack1/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod3/Stack1/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "Prod4": { + "id": "Prod4", + "path": "PipelineWithPostPrepareStack/Prod4", + "children": { + "Stack2": { + "id": "Stack2", + "path": "PipelineWithPostPrepareStack/Prod4/Stack2", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod4/Stack2/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/Prod4/Stack2/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stage", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "PipelineWithPostPrepareStack/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "PipelineWithPostPrepareStack/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "Integ": { + "id": "Integ", + "path": "Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.1.270" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file From 66200431fb17321b769bb0f5770c606b9cdb4608 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 15:31:42 +0100 Subject: [PATCH 10/20] fix: removed cdk-cki-wrapper due to unknown origin. Fix formatting --- packages/cdk-cli-wrapper/.jsii | 1528 ----------------- packages/cdk-cli-wrapper/.warnings.jsii.js | 73 - packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts | 139 -- packages/cdk-cli-wrapper/lib/cdk-wrapper.js | 229 --- .../cdk-cli-wrapper/lib/commands/common.d.ts | 178 -- .../cdk-cli-wrapper/lib/commands/common.js | 22 - .../cdk-cli-wrapper/lib/commands/deploy.d.ts | 109 -- .../cdk-cli-wrapper/lib/commands/deploy.js | 18 - .../cdk-cli-wrapper/lib/commands/destroy.d.ts | 18 - .../cdk-cli-wrapper/lib/commands/destroy.js | 3 - .../cdk-cli-wrapper/lib/commands/index.d.ts | 5 - .../cdk-cli-wrapper/lib/commands/index.js | 22 - .../cdk-cli-wrapper/lib/commands/list.d.ts | 12 - packages/cdk-cli-wrapper/lib/commands/list.js | 3 - .../cdk-cli-wrapper/lib/commands/synth.d.ts | 24 - .../cdk-cli-wrapper/lib/commands/synth.js | 3 - packages/cdk-cli-wrapper/lib/index.d.ts | 2 - packages/cdk-cli-wrapper/lib/index.js | 19 - packages/cdk-cli-wrapper/lib/utils.d.ts | 9 - packages/cdk-cli-wrapper/lib/utils.js | 44 - .../test/cdk-wrapper.test.d.ts | 1 - .../cdk-cli-wrapper/test/cdk-wrapper.test.js | 408 ----- packages/cdk-cli-wrapper/tsconfig.json | 47 - yarn.lock | 3 - 24 files changed, 2919 deletions(-) delete mode 100644 packages/cdk-cli-wrapper/.jsii delete mode 100644 packages/cdk-cli-wrapper/.warnings.jsii.js delete mode 100644 packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/cdk-wrapper.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/common.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/common.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/deploy.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/deploy.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/destroy.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/destroy.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/index.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/index.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/list.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/list.js delete mode 100644 packages/cdk-cli-wrapper/lib/commands/synth.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/commands/synth.js delete mode 100644 packages/cdk-cli-wrapper/lib/index.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/index.js delete mode 100644 packages/cdk-cli-wrapper/lib/utils.d.ts delete mode 100644 packages/cdk-cli-wrapper/lib/utils.js delete mode 100644 packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts delete mode 100644 packages/cdk-cli-wrapper/test/cdk-wrapper.test.js delete mode 100644 packages/cdk-cli-wrapper/tsconfig.json diff --git a/packages/cdk-cli-wrapper/.jsii b/packages/cdk-cli-wrapper/.jsii deleted file mode 100644 index 62a6bd84aa219..0000000000000 --- a/packages/cdk-cli-wrapper/.jsii +++ /dev/null @@ -1,1528 +0,0 @@ -{ - "author": { - "name": "Amazon Web Services", - "organization": true, - "roles": [ - "author" - ], - "url": "https://aws.amazon.com" - }, - "description": "CDK CLI Wrapper Library", - "docs": { - "stability": "experimental" - }, - "homepage": "https://github.com/aws/aws-cdk", - "jsiiVersion": "5.0.2 (build fc559a8)", - "keywords": [ - "aws", - "cdk" - ], - "license": "Apache-2.0", - "metadata": { - "jsii": { - "compiledWithDeprecationWarnings": true, - "pacmak": { - "hasDefaultInterfaces": true - }, - "rosetta": { - "strict": true - } - } - }, - "name": "cdk-cli-wrapper", - "readme": { - "markdown": "# cdk-cli-wrapper\n\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n\n\nCDK CLI Wrapper Library.\n\nInternal only for now.\n\n## Overview\n\nThis package provides a library which wraps the CDK CLI, allowing you to interact with the CLI programmatically.\n\nCurrently this package provides wrappers for:\n\n- `cdk deploy`\n- `cdk synth`\n- `cdk destroy`\n- `cdk list`\n\n## Usage\n\nFirst create a new `CdkCliWrapper` with the directory in which you want to execute commands,\nand optionally any environment variables that you want to include in the execution environment.\n\n```ts\nnew CdkCliWrapper({\n directory: '/path/to/project',\n env: {\n KEY: 'value',\n },\n});\n```\n\n### deploy\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.deploy({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### synth\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.synth({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### destroy\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.destroy({\n app: 'node bin/my-app.js',\n stacks: ['my-test-stack'],\n});\n```\n\n### list\n\n```ts\nconst cdk = new CdkCliWrapper({\n directory: '/project/path',\n});\n\ncdk.list({\n app: 'node bin/my-app.js',\n stacks: ['*'],\n});\n```\n" - }, - "repository": { - "directory": "packages/cdk-cli-wrapper", - "type": "git", - "url": "https://github.com/aws/aws-cdk.git" - }, - "schema": "jsii/0.10.0", - "targets": { - "dotnet": { - "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", - "namespace": "Amazon.CDK.CdkCliWrapper", - "packageId": "Amazon.CDK.CdkCliWrapper" - }, - "java": { - "maven": { - "artifactId": "cdk-cli-wrapper", - "groupId": "software.amazon.awscdk" - }, - "package": "software.amazon.awscdk.cdkcliwrapper" - }, - "js": { - "npm": "cdk-cli-wrapper" - }, - "python": { - "classifiers": [ - "Framework :: AWS CDK", - "Framework :: AWS CDK :: 2" - ], - "distName": "aws-cdk.cdk-cli-wrapper", - "module": "aws_cdk.cdk_cli_wrapper" - } - }, - "types": { - "cdk-cli-wrapper.CdkCliWrapper": { - "assembly": "cdk-cli-wrapper", - "docs": { - "stability": "experimental", - "summary": "Provides a programmatic interface for interacting with the CDK CLI by wrapping the CLI with exec." - }, - "fqn": "cdk-cli-wrapper.CdkCliWrapper", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 130 - }, - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.CdkCliWrapperOptions" - } - } - ] - }, - "interfaces": [ - "cdk-cli-wrapper.ICdk" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 124 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "cdk deploy." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 162 - }, - "name": "deploy", - "overrides": "cdk-cli-wrapper.ICdk", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.DeployOptions" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "cdk destroy." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 192 - }, - "name": "destroy", - "overrides": "cdk-cli-wrapper.ICdk", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.DestroyOptions" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "cdk list." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 147 - }, - "name": "list", - "overrides": "cdk-cli-wrapper.ICdk", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.ListOptions" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "cdk synth." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 209 - }, - "name": "synth", - "overrides": "cdk-cli-wrapper.ICdk", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.SynthOptions" - } - } - ] - }, - { - "docs": { - "remarks": "The CLI has a pretty slow startup time because of all the modules it needs to load,\nBypass it to be quicker!", - "stability": "experimental", - "summary": "Do a CDK synth, mimicking the CLI (without actually using it)." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 230 - }, - "name": "synthFast", - "overrides": "cdk-cli-wrapper.ICdk", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.SynthFastOptions" - } - } - ] - } - ], - "name": "CdkCliWrapper", - "symbolId": "lib/cdk-wrapper:CdkCliWrapper" - }, - "cdk-cli-wrapper.CdkCliWrapperOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "AWS CDK client that provides an API to programatically execute the CDK CLI by wrapping calls to exec the CLI." - }, - "fqn": "cdk-cli-wrapper.CdkCliWrapperOptions", - "kind": "interface", - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 90 - }, - "name": "CdkCliWrapperOptions", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "The directory to run the cdk commands from." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 94 - }, - "name": "directory", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "'aws-cdk/bin/cdk'", - "stability": "experimental", - "summary": "The path to the cdk executable." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 110 - }, - "name": "cdkExecutable", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "- no additional env vars", - "stability": "experimental", - "summary": "Additional environment variables to set in the execution environment that will be running the cdk commands." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 103 - }, - "name": "env", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Show the output from running the CDK CLI." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 117 - }, - "name": "showOutput", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/cdk-wrapper:CdkCliWrapperOptions" - }, - "cdk-cli-wrapper.DefaultCdkOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Default CDK CLI options that apply to all commands." - }, - "fqn": "cdk-cli-wrapper.DefaultCdkOptions", - "kind": "interface", - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 24 - }, - "name": "DefaultCdkOptions", - "properties": [ - { - "abstract": true, - "docs": { - "default": "- false", - "remarks": "Requried if `stacks` is not set", - "stability": "experimental", - "summary": "Deploy all stacks." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 41 - }, - "name": "all", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- read from cdk.json", - "stability": "experimental", - "summary": "command-line for executing your app or a cloud assembly directory e.g. \"node bin/my-app.js\" or \"cdk.out\"." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 51 - }, - "name": "app", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Include \"aws:asset:*\" CloudFormation metadata for resources that use assets." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 171 - }, - "name": "assetMetadata", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- read from AWS_CA_BUNDLE environment variable", - "stability": "experimental", - "summary": "Path to CA certificate to use when validating HTTPS requests." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 143 - }, - "name": "caBundlePath", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Show colors and other style from console output." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 201 - }, - "name": "color", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- no additional context", - "stability": "experimental", - "summary": "Additional context." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 66 - }, - "name": "context", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "enable emission of additional debugging information, such as creation stack traces of tokens." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 120 - }, - "name": "debug", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- guess EC2 instance status", - "stability": "experimental", - "summary": "Force trying to fetch EC2 instance credentials." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 150 - }, - "name": "ec2Creds", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Ignores synthesis errors, which will likely produce an invalid output." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 97 - }, - "name": "ignoreErrors", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Use JSON output instead of YAML when templates are printed to STDOUT." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 105 - }, - "name": "json", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "remarks": "Synthesis fails if this is disabled and context lookups need\nto be performed", - "stability": "experimental", - "summary": "Perform context lookups." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 90 - }, - "name": "lookups", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Show relevant notices." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 194 - }, - "name": "notices", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "cdk.out", - "stability": "experimental", - "summary": "Emits the synthesized cloud assembly into a directory." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 187 - }, - "name": "output", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Include \"aws:cdk:path\" CloudFormation metadata for each resource." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 164 - }, - "name": "pathMetadata", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- no profile is used", - "stability": "experimental", - "summary": "Use the indicated AWS profile as the default environment." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 127 - }, - "name": "profile", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "- no proxy", - "remarks": "Will read from\nHTTPS_PROXY environment if specified", - "stability": "experimental", - "summary": "Use the indicated proxy." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 135 - }, - "name": "proxy", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "- use the bootstrap cfn-exec role", - "stability": "experimental", - "summary": "Role to pass to CloudFormation for deployment." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 59 - }, - "name": "roleArn", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "- []", - "remarks": "Requried if `all` is not set", - "stability": "experimental", - "summary": "List of stacks to deploy." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 32 - }, - "name": "stacks", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "remarks": "Needed for local debugging the source files with SAM CLI", - "stability": "experimental", - "summary": "Copy assets to the output directory." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 180 - }, - "name": "staging", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Do not construct stacks with warnings." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 80 - }, - "name": "strict", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Print trace for stack warnings." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 73 - }, - "name": "trace", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "show debug logs." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 112 - }, - "name": "verbose", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Include \"AWS::CDK::Metadata\" resource in synthesized templates." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 157 - }, - "name": "versionReporting", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/commands/common:DefaultCdkOptions" - }, - "cdk-cli-wrapper.DeployOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Options to use with cdk deploy." - }, - "fqn": "cdk-cli-wrapper.DeployOptions", - "interfaces": [ - "cdk-cli-wrapper.DefaultCdkOptions" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 6 - }, - "name": "DeployOptions", - "properties": [ - { - "abstract": true, - "docs": { - "default": "- auto generate a name", - "remarks": "If not provided, a name will be generated automatically.", - "stability": "experimental", - "summary": "Optional name to use for the CloudFormation change set." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 34 - }, - "name": "changeSetName", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Whether we are on a CI system." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 96 - }, - "name": "ci", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Only perform action on the given stack." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 12 - }, - "name": "exclusively", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 68 - }, - "name": "execute", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Always deploy, even if templates are identical." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 40 - }, - "name": "force", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "- no notifications", - "stability": "experimental", - "summary": "ARNs of SNS topics that CloudFormation will notify with stack related events." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 54 - }, - "name": "notificationArns", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "default": "- Outputs are not written to any file", - "stability": "experimental", - "summary": "Path to file where stack outputs will be written after a successful deploy as JSON." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 89 - }, - "name": "outputsFile", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "{}", - "stability": "experimental", - "summary": "Additional parameters for CloudFormation at deploy time." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 74 - }, - "name": "parameters", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "default": "StackActivityProgress.EVENTS", - "remarks": "The default in the CLI is StackActivityProgress.BAR, but\nsince the cli-wrapper will most likely be run in automation it makes\nmore sense to set the default to StackActivityProgress.EVENTS", - "stability": "experimental", - "summary": "Display mode for stack activity events." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 107 - }, - "name": "progress", - "optional": true, - "type": { - "fqn": "cdk-cli-wrapper.StackActivityProgress" - } - }, - { - "abstract": true, - "docs": { - "default": "RequireApproval.Never", - "stability": "experimental", - "summary": "What kind of security changes require approval." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 61 - }, - "name": "requireApproval", - "optional": true, - "type": { - "fqn": "cdk-cli-wrapper.RequireApproval" - } - }, - { - "abstract": true, - "docs": { - "default": "- do not reuse assets", - "stability": "experimental", - "summary": "Reuse the assets with the given asset IDs." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 26 - }, - "name": "reuseAssets", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Rollback failed deployments." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 47 - }, - "name": "rollback", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "CDKToolkit", - "stability": "experimental", - "summary": "Name of the toolkit stack to use/deploy." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 19 - }, - "name": "toolkitStackName", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "remarks": "If not set, all parameters must be specified for every deployment.", - "stability": "experimental", - "summary": "Use previous values for unspecified parameters." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 83 - }, - "name": "usePreviousParameters", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/commands/deploy:DeployOptions" - }, - "cdk-cli-wrapper.DestroyOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Options to use with cdk destroy." - }, - "fqn": "cdk-cli-wrapper.DestroyOptions", - "interfaces": [ - "cdk-cli-wrapper.DefaultCdkOptions" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/commands/destroy.ts", - "line": 6 - }, - "name": "DestroyOptions", - "properties": [ - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Only destroy the given stack." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/destroy.ts", - "line": 19 - }, - "name": "exclusively", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Do not ask for permission before destroying stacks." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/destroy.ts", - "line": 12 - }, - "name": "force", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/commands/destroy:DestroyOptions" - }, - "cdk-cli-wrapper.Environment": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "deprecated": "Use raw property bags instead (object literals, `Map`, etc... )", - "stability": "deprecated", - "summary": "Additional environment variables to set in the execution environment." - }, - "fqn": "cdk-cli-wrapper.Environment", - "kind": "interface", - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 77 - }, - "name": "Environment", - "symbolId": "lib/cdk-wrapper:Environment" - }, - "cdk-cli-wrapper.ICdk": { - "assembly": "cdk-cli-wrapper", - "docs": { - "stability": "experimental", - "summary": "AWS CDK CLI operations." - }, - "fqn": "cdk-cli-wrapper.ICdk", - "kind": "interface", - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 7 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "cdk deploy." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 12 - }, - "name": "deploy", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.DeployOptions" - } - } - ] - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "cdk destroy." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 22 - }, - "name": "destroy", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.DestroyOptions" - } - } - ] - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "cdk list." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 27 - }, - "name": "list", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.ListOptions" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "cdk synth." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 17 - }, - "name": "synth", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.SynthOptions" - } - } - ] - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "cdk synth fast." - }, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 32 - }, - "name": "synthFast", - "parameters": [ - { - "name": "options", - "type": { - "fqn": "cdk-cli-wrapper.SynthFastOptions" - } - } - ] - } - ], - "name": "ICdk", - "symbolId": "lib/cdk-wrapper:ICdk" - }, - "cdk-cli-wrapper.ListOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Options for cdk list." - }, - "fqn": "cdk-cli-wrapper.ListOptions", - "interfaces": [ - "cdk-cli-wrapper.DefaultCdkOptions" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/commands/list.ts", - "line": 6 - }, - "name": "ListOptions", - "properties": [ - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Display environment information for each stack." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/list.ts", - "line": 12 - }, - "name": "long", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/commands/list:ListOptions" - }, - "cdk-cli-wrapper.RequireApproval": { - "assembly": "cdk-cli-wrapper", - "docs": { - "stability": "experimental", - "summary": "In what scenarios should the CLI ask for approval." - }, - "fqn": "cdk-cli-wrapper.RequireApproval", - "kind": "enum", - "locationInModule": { - "filename": "lib/commands/common.ts", - "line": 4 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "Never ask for approval." - }, - "name": "NEVER" - }, - { - "docs": { - "stability": "experimental", - "summary": "Prompt for approval for any type of change to the stack." - }, - "name": "ANYCHANGE" - }, - { - "docs": { - "stability": "experimental", - "summary": "Only prompt for approval if there are security related changes." - }, - "name": "BROADENING" - } - ], - "name": "RequireApproval", - "symbolId": "lib/commands/common:RequireApproval" - }, - "cdk-cli-wrapper.StackActivityProgress": { - "assembly": "cdk-cli-wrapper", - "docs": { - "stability": "experimental", - "summary": "Supported display modes for stack deployment activity." - }, - "fqn": "cdk-cli-wrapper.StackActivityProgress", - "kind": "enum", - "locationInModule": { - "filename": "lib/commands/deploy.ts", - "line": 113 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "Displays a progress bar with only the events for the resource currently being deployed." - }, - "name": "BAR" - }, - { - "docs": { - "stability": "experimental", - "summary": "Displays complete history with all CloudFormation stack events." - }, - "name": "EVENTS" - } - ], - "name": "StackActivityProgress", - "symbolId": "lib/commands/deploy:StackActivityProgress" - }, - "cdk-cli-wrapper.SynthFastOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Options for synthing and bypassing the CDK CLI." - }, - "fqn": "cdk-cli-wrapper.SynthFastOptions", - "kind": "interface", - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 38 - }, - "name": "SynthFastOptions", - "properties": [ - { - "abstract": true, - "docs": { - "remarks": "e.g. \"node 'bin/my-app.ts'\"\nor 'go run main.go'", - "stability": "experimental", - "summary": "The command to use to execute the app. This is typically the same thing that normally gets passed to `--app`." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 47 - }, - "name": "execCmd", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "default": "- no additional context", - "stability": "experimental", - "summary": "Additional context." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 61 - }, - "name": "context", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "default": "- no additional env", - "stability": "experimental", - "summary": "Additional environment variables to set in the execution environment." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 69 - }, - "name": "env", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "default": "cdk.out", - "stability": "experimental", - "summary": "Emits the synthesized cloud assembly into a directory." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/cdk-wrapper.ts", - "line": 54 - }, - "name": "output", - "optional": true, - "type": { - "primitive": "string" - } - } - ], - "symbolId": "lib/cdk-wrapper:SynthFastOptions" - }, - "cdk-cli-wrapper.SynthOptions": { - "assembly": "cdk-cli-wrapper", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Options to use with cdk synth." - }, - "fqn": "cdk-cli-wrapper.SynthOptions", - "interfaces": [ - "cdk-cli-wrapper.DefaultCdkOptions" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/commands/synth.ts", - "line": 6 - }, - "name": "SynthOptions", - "properties": [ - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Only synthesize the given stack." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/synth.ts", - "line": 27 - }, - "name": "exclusively", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false;", - "stability": "experimental", - "summary": "Do not output CloudFormation Template to stdout." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/synth.ts", - "line": 20 - }, - "name": "quiet", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "true;", - "stability": "experimental", - "summary": "After synthesis, validate stacks with the \"validateOnSynth\" attribute set (can also be controlled with CDK_VALIDATION)." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/commands/synth.ts", - "line": 14 - }, - "name": "validation", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ], - "symbolId": "lib/commands/synth:SynthOptions" - } - }, - "version": "0.0.0", - "fingerprint": "7DPD0yMgHZTMx1AEyOkTee0ioLeClu0VVOoQhq0450o=" -} \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/.warnings.jsii.js b/packages/cdk-cli-wrapper/.warnings.jsii.js deleted file mode 100644 index 6561cc1d41e13..0000000000000 --- a/packages/cdk-cli-wrapper/.warnings.jsii.js +++ /dev/null @@ -1,73 +0,0 @@ -function cdk_cli_wrapper_ICdk(p) { -} -function cdk_cli_wrapper_SynthFastOptions(p) { -} -function cdk_cli_wrapper_Environment(p) { -} -function cdk_cli_wrapper_CdkCliWrapperOptions(p) { -} -function cdk_cli_wrapper_CdkCliWrapper(p) { -} -function cdk_cli_wrapper_SynthOptions(p) { -} -function cdk_cli_wrapper_RequireApproval(p) { -} -function cdk_cli_wrapper_DefaultCdkOptions(p) { -} -function cdk_cli_wrapper_DeployOptions(p) { - if (p == null) - return; - visitedObjects.add(p); - try { - if (!visitedObjects.has(p.progress)) - cdk_cli_wrapper_StackActivityProgress(p.progress); - if (!visitedObjects.has(p.requireApproval)) - cdk_cli_wrapper_RequireApproval(p.requireApproval); - } - finally { - visitedObjects.delete(p); - } -} -function cdk_cli_wrapper_StackActivityProgress(p) { -} -function cdk_cli_wrapper_DestroyOptions(p) { -} -function cdk_cli_wrapper_ListOptions(p) { -} -function print(name, deprecationMessage) { - const deprecated = process.env.JSII_DEPRECATED; - const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn"; - const message = `${name} is deprecated.\n ${deprecationMessage.trim()}\n This API will be removed in the next major release.`; - switch (deprecationMode) { - case "fail": - throw new DeprecationError(message); - case "warn": - console.warn("[WARNING]", message); - break; - } -} -function getPropertyDescriptor(obj, prop) { - const descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (descriptor) { - return descriptor; - } - const proto = Object.getPrototypeOf(obj); - const prototypeDescriptor = proto && getPropertyDescriptor(proto, prop); - if (prototypeDescriptor) { - return prototypeDescriptor; - } - return {}; -} -const visitedObjects = new Set(); -class DeprecationError extends Error { - constructor(...args) { - super(...args); - Object.defineProperty(this, "name", { - configurable: false, - enumerable: true, - value: "DeprecationError", - writable: false, - }); - } -} -module.exports = { print, getPropertyDescriptor, DeprecationError, cdk_cli_wrapper_ICdk, cdk_cli_wrapper_SynthFastOptions, cdk_cli_wrapper_Environment, cdk_cli_wrapper_CdkCliWrapperOptions, cdk_cli_wrapper_CdkCliWrapper, cdk_cli_wrapper_SynthOptions, cdk_cli_wrapper_RequireApproval, cdk_cli_wrapper_DefaultCdkOptions, cdk_cli_wrapper_DeployOptions, cdk_cli_wrapper_StackActivityProgress, cdk_cli_wrapper_DestroyOptions, cdk_cli_wrapper_ListOptions }; diff --git a/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts b/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts deleted file mode 100644 index f3f69e35a9ad2..0000000000000 --- a/packages/cdk-cli-wrapper/lib/cdk-wrapper.d.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { DeployOptions, DestroyOptions, SynthOptions, ListOptions } from './commands'; -/** - * AWS CDK CLI operations - */ -export interface ICdk { - /** - * cdk deploy - */ - deploy(options: DeployOptions): void; - /** - * cdk synth - */ - synth(options: SynthOptions): void; - /** - * cdk destroy - */ - destroy(options: DestroyOptions): void; - /** - * cdk list - */ - list(options: ListOptions): string; - /** - * cdk synth fast - */ - synthFast(options: SynthFastOptions): void; -} -/** - * Options for synthing and bypassing the CDK CLI - */ -export interface SynthFastOptions { - /** - * The command to use to execute the app. - * This is typically the same thing that normally - * gets passed to `--app` - * - * e.g. "node 'bin/my-app.ts'" - * or 'go run main.go' - */ - readonly execCmd: string[]; - /** - * Emits the synthesized cloud assembly into a directory - * - * @default cdk.out - */ - readonly output?: string; - /** - * Additional context - * - * @default - no additional context - */ - readonly context?: Record; - /** - * Additional environment variables to set in the - * execution environment - * - * @default - no additional env - */ - readonly env?: { - [name: string]: string; - }; -} -/** - * Additional environment variables to set in the execution environment - * - * @deprecated Use raw property bags instead (object literals, `Map`, etc... ) - */ -export interface Environment { - /** - * This index signature is not usable in non-TypeScript/JavaScript languages. - * - * @jsii ignore - */ - [key: string]: string | undefined; -} -/** - * AWS CDK client that provides an API to programatically execute the CDK CLI - * by wrapping calls to exec the CLI - */ -export interface CdkCliWrapperOptions { - /** - * The directory to run the cdk commands from - */ - readonly directory: string; - /** - * Additional environment variables to set - * in the execution environment that will be running - * the cdk commands - * - * @default - no additional env vars - */ - readonly env?: { - [name: string]: string; - }; - /** - * The path to the cdk executable - * - * @default 'aws-cdk/bin/cdk' - */ - readonly cdkExecutable?: string; - /** - * Show the output from running the CDK CLI - * - * @default false - */ - readonly showOutput?: boolean; -} -/** - * Provides a programmatic interface for interacting with the CDK CLI by - * wrapping the CLI with exec - */ -export declare class CdkCliWrapper implements ICdk { - private readonly directory; - private readonly env?; - private readonly cdk; - private readonly showOutput; - constructor(options: CdkCliWrapperOptions); - private validateArgs; - list(options: ListOptions): string; - /** - * cdk deploy - */ - deploy(options: DeployOptions): void; - /** - * cdk destroy - */ - destroy(options: DestroyOptions): void; - /** - * cdk synth - */ - synth(options: SynthOptions): void; - /** - * Do a CDK synth, mimicking the CLI (without actually using it) - * - * The CLI has a pretty slow startup time because of all the modules it needs to load, - * Bypass it to be quicker! - */ - synthFast(options: SynthFastOptions): void; - private createDefaultArguments; -} diff --git a/packages/cdk-cli-wrapper/lib/cdk-wrapper.js b/packages/cdk-cli-wrapper/lib/cdk-wrapper.js deleted file mode 100644 index 21758ec69e37d..0000000000000 --- a/packages/cdk-cli-wrapper/lib/cdk-wrapper.js +++ /dev/null @@ -1,229 +0,0 @@ -"use strict"; -var _a; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CdkCliWrapper = void 0; -const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); -const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); -const commands_1 = require("./commands"); -const utils_1 = require("./utils"); -/** - * Provides a programmatic interface for interacting with the CDK CLI by - * wrapping the CLI with exec - */ -class CdkCliWrapper { - constructor(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_CdkCliWrapperOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, CdkCliWrapper); - } - throw error; - } - this.directory = options.directory; - this.env = options.env; - this.showOutput = options.showOutput ?? false; - try { - this.cdk = options.cdkExecutable ?? 'cdk'; - } - catch { - throw new Error(`could not resolve path to cdk executable: "${options.cdkExecutable ?? 'cdk'}"`); - } - } - validateArgs(options) { - if (!options.stacks && !options.all) { - throw new Error('one of "app" or "stacks" must be provided'); - } - } - list(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_ListOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, this.list); - } - throw error; - } - const listCommandArgs = [ - ...renderBooleanArg('long', options.long), - ...this.createDefaultArguments(options), - ]; - return (0, utils_1.exec)([this.cdk, 'ls', ...listCommandArgs], { - cwd: this.directory, - verbose: this.showOutput, - env: this.env, - }); - } - /** - * cdk deploy - */ - deploy(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_DeployOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, this.deploy); - } - throw error; - } - const deployCommandArgs = [ - ...renderBooleanArg('ci', options.ci), - ...renderBooleanArg('execute', options.execute), - ...renderBooleanArg('exclusively', options.exclusively), - ...renderBooleanArg('force', options.force), - ...renderBooleanArg('previous-parameters', options.usePreviousParameters), - ...renderBooleanArg('rollback', options.rollback), - ...renderBooleanArg('staging', options.staging), - ...options.reuseAssets ? renderArrayArg('--reuse-assets', options.reuseAssets) : [], - ...options.notificationArns ? renderArrayArg('--notification-arns', options.notificationArns) : [], - ...options.parameters ? renderMapArrayArg('--parameters', options.parameters) : [], - ...options.outputsFile ? ['--outputs-file', options.outputsFile] : [], - ...options.requireApproval ? ['--require-approval', options.requireApproval] : [], - ...options.changeSetName ? ['--change-set-name', options.changeSetName] : [], - ...options.toolkitStackName ? ['--toolkit-stack-name', options.toolkitStackName] : [], - ...options.progress ? ['--progress', options.progress] : ['--progress', commands_1.StackActivityProgress.EVENTS], - ...this.createDefaultArguments(options), - ]; - (0, utils_1.exec)([this.cdk, 'deploy', ...deployCommandArgs], { - cwd: this.directory, - verbose: this.showOutput, - env: this.env, - }); - } - /** - * cdk destroy - */ - destroy(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_DestroyOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, this.destroy); - } - throw error; - } - const destroyCommandArgs = [ - ...renderBooleanArg('force', options.force), - ...renderBooleanArg('exclusively', options.exclusively), - ...this.createDefaultArguments(options), - ]; - (0, utils_1.exec)([this.cdk, 'destroy', ...destroyCommandArgs], { - cwd: this.directory, - verbose: this.showOutput, - env: this.env, - }); - } - /** - * cdk synth - */ - synth(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_SynthOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, this.synth); - } - throw error; - } - const synthCommandArgs = [ - ...renderBooleanArg('validation', options.validation), - ...renderBooleanArg('quiet', options.quiet), - ...renderBooleanArg('exclusively', options.exclusively), - ...this.createDefaultArguments(options), - ]; - (0, utils_1.exec)([this.cdk, 'synth', ...synthCommandArgs], { - cwd: this.directory, - verbose: this.showOutput, - env: this.env, - }); - } - /** - * Do a CDK synth, mimicking the CLI (without actually using it) - * - * The CLI has a pretty slow startup time because of all the modules it needs to load, - * Bypass it to be quicker! - */ - synthFast(options) { - try { - jsiiDeprecationWarnings.cdk_cli_wrapper_SynthFastOptions(options); - } - catch (error) { - if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { - Error.captureStackTrace(error, this.synthFast); - } - throw error; - } - (0, utils_1.exec)(options.execCmd, { - cwd: this.directory, - verbose: this.showOutput, - env: { - CDK_CONTEXT_JSON: JSON.stringify(options.context), - CDK_OUTDIR: options.output, - ...this.env, - ...options.env, - }, - }); - } - createDefaultArguments(options) { - this.validateArgs(options); - const stacks = options.stacks ?? []; - return [ - ...options.app ? ['--app', options.app] : [], - ...renderBooleanArg('strict', options.strict), - ...renderBooleanArg('trace', options.trace), - ...renderBooleanArg('lookups', options.lookups), - ...renderBooleanArg('ignore-errors', options.ignoreErrors), - ...renderBooleanArg('json', options.json), - ...renderBooleanArg('verbose', options.verbose), - ...renderBooleanArg('debug', options.debug), - ...renderBooleanArg('ec2creds', options.ec2Creds), - ...renderBooleanArg('version-reporting', options.versionReporting), - ...renderBooleanArg('path-metadata', options.pathMetadata), - ...renderBooleanArg('asset-metadata', options.assetMetadata), - ...renderBooleanArg('notices', options.notices), - ...renderBooleanArg('color', options.color), - ...options.context ? renderMapArrayArg('--context', options.context) : [], - ...options.profile ? ['--profile', options.profile] : [], - ...options.proxy ? ['--proxy', options.proxy] : [], - ...options.caBundlePath ? ['--ca-bundle-path', options.caBundlePath] : [], - ...options.roleArn ? ['--role-arn', options.roleArn] : [], - ...options.output ? ['--output', options.output] : [], - ...stacks, - ...options.all ? ['--all'] : [], - ]; - } -} -_a = JSII_RTTI_SYMBOL_1; -CdkCliWrapper[_a] = { fqn: "cdk-cli-wrapper.CdkCliWrapper", version: "0.0.0" }; -exports.CdkCliWrapper = CdkCliWrapper; -function renderMapArrayArg(flag, parameters) { - const params = []; - for (const [key, value] of Object.entries(parameters)) { - params.push(`${key}=${value}`); - } - return renderArrayArg(flag, params); -} -function renderArrayArg(flag, values) { - let args = []; - for (const value of values ?? []) { - args.push(flag, value); - } - return args; -} -function renderBooleanArg(val, arg) { - if (arg) { - return [`--${val}`]; - } - else if (arg === undefined) { - return []; - } - else { - return [`--no-${val}`]; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5Q0FBZ0k7QUFDaEksbUNBQStCO0FBc0gvQjs7O0dBR0c7QUFDSCxNQUFhLGFBQWE7SUFNeEIsWUFBWSxPQUE2Qjs7Ozs7OytDQU45QixhQUFhOzs7O1FBT3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztTQUMzQztRQUFDLE1BQU07WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbEc7S0FDRjtJQUVPLFlBQVksQ0FBQyxPQUEwQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1NBQzlEO0tBQ0Y7SUFFTSxJQUFJLENBQUMsT0FBb0I7Ozs7Ozs7Ozs7UUFDOUIsTUFBTSxlQUFlLEdBQWE7WUFDaEMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7U0FDeEMsQ0FBQztRQUVGLE9BQU8sSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFO1lBQ2hELEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2QsQ0FBQyxDQUFDO0tBQ0o7SUFDRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFzQjs7Ozs7Ozs7OztRQUNsQyxNQUFNLGlCQUFpQixHQUFhO1lBQ2xDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUMvQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3ZELEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQUM7WUFDekUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsRixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JFLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakYsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyRixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsZ0NBQXFCLENBQUMsTUFBTSxDQUFDO1lBQ3JHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztTQUN4QyxDQUFDO1FBRUYsSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLGlCQUFpQixDQUFDLEVBQUU7WUFDL0MsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE9BQXVCOzs7Ozs7Ozs7O1FBQ3BDLE1BQU0sa0JBQWtCLEdBQWE7WUFDbkMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3ZELEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztTQUN4QyxDQUFDO1FBRUYsSUFBQSxZQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLEVBQUU7WUFDakQsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQXFCOzs7Ozs7Ozs7O1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQWE7WUFDakMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUNyRCxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNDLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDdkQsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDO1NBQ3hDLENBQUM7UUFFRixJQUFBLFlBQUksRUFBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtZQUM3QyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsT0FBeUI7Ozs7Ozs7Ozs7UUFDeEMsSUFBQSxZQUFJLEVBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLEdBQUcsRUFBRTtnQkFDSCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2pELFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDMUIsR0FBRyxJQUFJLENBQUMsR0FBRztnQkFDWCxHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVPLHNCQUFzQixDQUFDLE9BQTBCO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDcEMsT0FBTztZQUNMLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDN0MsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDMUQsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQzFELEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1RCxHQUFHLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQy9DLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0MsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xELEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsR0FBRyxNQUFNO1lBQ1QsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2hDLENBQUM7S0FDSDs7OztBQWxKVSxzQ0FBYTtBQXFKMUIsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsVUFBa0Q7SUFDekYsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNoQztJQUNELE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBWSxFQUFFLE1BQWlCO0lBQ3JELElBQUksSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUN4QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDeEI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxHQUFhO0lBQ2xELElBQUksR0FBRyxFQUFFO1FBQ1AsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNyQjtTQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zLCBEZXBsb3lPcHRpb25zLCBEZXN0cm95T3B0aW9ucywgU3ludGhPcHRpb25zLCBMaXN0T3B0aW9ucywgU3RhY2tBY3Rpdml0eVByb2dyZXNzIH0gZnJvbSAnLi9jb21tYW5kcyc7XG5pbXBvcnQgeyBleGVjIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQVdTIENESyBDTEkgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDZGsge1xuXG4gIC8qKlxuICAgKiBjZGsgZGVwbG95XG4gICAqL1xuICBkZXBsb3kob3B0aW9uczogRGVwbG95T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIGNkayBzeW50aFxuICAgKi9cbiAgc3ludGgob3B0aW9uczogU3ludGhPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogY2RrIGRlc3Ryb3lcbiAgICovXG4gIGRlc3Ryb3kob3B0aW9uczogRGVzdHJveU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBjZGsgbGlzdFxuICAgKi9cbiAgbGlzdChvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHN0cmluZztcblxuICAvKipcbiAgICogY2RrIHN5bnRoIGZhc3RcbiAgICovXG4gIHN5bnRoRmFzdChvcHRpb25zOiBTeW50aEZhc3RPcHRpb25zKTogdm9pZDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzeW50aGluZyBhbmQgYnlwYXNzaW5nIHRoZSBDREsgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhGYXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB0byB1c2UgdG8gZXhlY3V0ZSB0aGUgYXBwLlxuICAgKiBUaGlzIGlzIHR5cGljYWxseSB0aGUgc2FtZSB0aGluZyB0aGF0IG5vcm1hbGx5XG4gICAqIGdldHMgcGFzc2VkIHRvIGAtLWFwcGBcbiAgICpcbiAgICogZS5nLiBcIm5vZGUgJ2Jpbi9teS1hcHAudHMnXCJcbiAgICogb3IgJ2dvIHJ1biBtYWluLmdvJ1xuICAgKi9cbiAgcmVhZG9ubHkgZXhlY0NtZDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzeW50aGVzaXplZCBjbG91ZCBhc3NlbWJseSBpbnRvIGEgZGlyZWN0b3J5XG4gICAqXG4gICAqIEBkZWZhdWx0IGNkay5vdXRcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dD86IHN0cmluZyxcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb250ZXh0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGluIHRoZVxuICAgKiBleGVjdXRpb24gZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGVudlxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9LFxufVxuXG4vKipcbiAqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiB0aGUgZXhlY3V0aW9uIGVudmlyb25tZW50XG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHJhdyBwcm9wZXJ0eSBiYWdzIGluc3RlYWQgKG9iamVjdCBsaXRlcmFscywgYE1hcDxTdHJpbmcsT2JqZWN0PmAsIGV0Yy4uLiApXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnQge1xuICAvKipcbiAgICogVGhpcyBpbmRleCBzaWduYXR1cmUgaXMgbm90IHVzYWJsZSBpbiBub24tVHlwZVNjcmlwdC9KYXZhU2NyaXB0IGxhbmd1YWdlcy5cbiAgICpcbiAgICogQGpzaWkgaWdub3JlXG4gICAqL1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBBV1MgQ0RLIGNsaWVudCB0aGF0IHByb3ZpZGVzIGFuIEFQSSB0byBwcm9ncmFtYXRpY2FsbHkgZXhlY3V0ZSB0aGUgQ0RLIENMSVxuICogYnkgd3JhcHBpbmcgY2FsbHMgdG8gZXhlYyB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ2xpV3JhcHBlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0byBydW4gdGhlIGNkayBjb21tYW5kcyBmcm9tXG4gICAqL1xuICByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZyxcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0XG4gICAqIGluIHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQgdGhhdCB3aWxsIGJlIHJ1bm5pbmdcbiAgICogdGhlIGNkayBjb21tYW5kc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgZW52IHZhcnNcbiAgICovXG4gIHJlYWRvbmx5IGVudj86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgY2RrIGV4ZWN1dGFibGVcbiAgICpcbiAgICogQGRlZmF1bHQgJ2F3cy1jZGsvYmluL2NkaydcbiAgICovXG4gIHJlYWRvbmx5IGNka0V4ZWN1dGFibGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIG91dHB1dCBmcm9tIHJ1bm5pbmcgdGhlIENESyBDTElcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNob3dPdXRwdXQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGEgcHJvZ3JhbW1hdGljIGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQ0RLIENMSSBieVxuICogd3JhcHBpbmcgdGhlIENMSSB3aXRoIGV4ZWNcbiAqL1xuZXhwb3J0IGNsYXNzIENka0NsaVdyYXBwZXIgaW1wbGVtZW50cyBJQ2RrIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RrOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2hvd091dHB1dDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtDbGlXcmFwcGVyT3B0aW9ucykge1xuICAgIHRoaXMuZGlyZWN0b3J5ID0gb3B0aW9ucy5kaXJlY3Rvcnk7XG4gICAgdGhpcy5lbnYgPSBvcHRpb25zLmVudjtcbiAgICB0aGlzLnNob3dPdXRwdXQgPSBvcHRpb25zLnNob3dPdXRwdXQgPz8gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY2RrID0gb3B0aW9ucy5jZGtFeGVjdXRhYmxlID8/ICdjZGsnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb3VsZCBub3QgcmVzb2x2ZSBwYXRoIHRvIGNkayBleGVjdXRhYmxlOiBcIiR7b3B0aW9ucy5jZGtFeGVjdXRhYmxlID8/ICdjZGsnfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFyZ3Mob3B0aW9uczogRGVmYXVsdENka09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbnMuc3RhY2tzICYmICFvcHRpb25zLmFsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvbmUgb2YgXCJhcHBcIiBvciBcInN0YWNrc1wiIG11c3QgYmUgcHJvdmlkZWQnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGlzdChvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGlzdENvbW1hbmRBcmdzOiBzdHJpbmdbXSA9IFtcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2xvbmcnLCBvcHRpb25zLmxvbmcpLFxuICAgICAgLi4udGhpcy5jcmVhdGVEZWZhdWx0QXJndW1lbnRzKG9wdGlvbnMpLFxuICAgIF07XG5cbiAgICByZXR1cm4gZXhlYyhbdGhpcy5jZGssICdscycsIC4uLmxpc3RDb21tYW5kQXJnc10sIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBjZGsgZGVwbG95XG4gICAqL1xuICBwdWJsaWMgZGVwbG95KG9wdGlvbnM6IERlcGxveU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBkZXBsb3lDb21tYW5kQXJnczogc3RyaW5nW10gPSBbXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdjaScsIG9wdGlvbnMuY2kpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZXhlY3V0ZScsIG9wdGlvbnMuZXhlY3V0ZSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdleGNsdXNpdmVseScsIG9wdGlvbnMuZXhjbHVzaXZlbHkpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZm9yY2UnLCBvcHRpb25zLmZvcmNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3ByZXZpb3VzLXBhcmFtZXRlcnMnLCBvcHRpb25zLnVzZVByZXZpb3VzUGFyYW1ldGVycyksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdyb2xsYmFjaycsIG9wdGlvbnMucm9sbGJhY2spLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnc3RhZ2luZycsIG9wdGlvbnMuc3RhZ2luZyksXG4gICAgICAuLi5vcHRpb25zLnJldXNlQXNzZXRzID8gcmVuZGVyQXJyYXlBcmcoJy0tcmV1c2UtYXNzZXRzJywgb3B0aW9ucy5yZXVzZUFzc2V0cykgOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMubm90aWZpY2F0aW9uQXJucyA/IHJlbmRlckFycmF5QXJnKCctLW5vdGlmaWNhdGlvbi1hcm5zJywgb3B0aW9ucy5ub3RpZmljYXRpb25Bcm5zKSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wYXJhbWV0ZXJzID8gcmVuZGVyTWFwQXJyYXlBcmcoJy0tcGFyYW1ldGVycycsIG9wdGlvbnMucGFyYW1ldGVycykgOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMub3V0cHV0c0ZpbGUgPyBbJy0tb3V0cHV0cy1maWxlJywgb3B0aW9ucy5vdXRwdXRzRmlsZV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMucmVxdWlyZUFwcHJvdmFsID8gWyctLXJlcXVpcmUtYXBwcm92YWwnLCBvcHRpb25zLnJlcXVpcmVBcHByb3ZhbF0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMuY2hhbmdlU2V0TmFtZSA/IFsnLS1jaGFuZ2Utc2V0LW5hbWUnLCBvcHRpb25zLmNoYW5nZVNldE5hbWVdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnRvb2xraXRTdGFja05hbWUgPyBbJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgb3B0aW9ucy50b29sa2l0U3RhY2tOYW1lXSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wcm9ncmVzcyA/IFsnLS1wcm9ncmVzcycsIG9wdGlvbnMucHJvZ3Jlc3NdIDogWyctLXByb2dyZXNzJywgU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU10sXG4gICAgICAuLi50aGlzLmNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9ucyksXG4gICAgXTtcblxuICAgIGV4ZWMoW3RoaXMuY2RrLCAnZGVwbG95JywgLi4uZGVwbG95Q29tbWFuZEFyZ3NdLCB7XG4gICAgICBjd2Q6IHRoaXMuZGlyZWN0b3J5LFxuICAgICAgdmVyYm9zZTogdGhpcy5zaG93T3V0cHV0LFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjZGsgZGVzdHJveVxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3kob3B0aW9uczogRGVzdHJveU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBkZXN0cm95Q29tbWFuZEFyZ3M6IHN0cmluZ1tdID0gW1xuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZm9yY2UnLCBvcHRpb25zLmZvcmNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2V4Y2x1c2l2ZWx5Jywgb3B0aW9ucy5leGNsdXNpdmVseSksXG4gICAgICAuLi50aGlzLmNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9ucyksXG4gICAgXTtcblxuICAgIGV4ZWMoW3RoaXMuY2RrLCAnZGVzdHJveScsIC4uLmRlc3Ryb3lDb21tYW5kQXJnc10sIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNkayBzeW50aFxuICAgKi9cbiAgcHVibGljIHN5bnRoKG9wdGlvbnM6IFN5bnRoT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bnRoQ29tbWFuZEFyZ3M6IHN0cmluZ1tdID0gW1xuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndmFsaWRhdGlvbicsIG9wdGlvbnMudmFsaWRhdGlvbiksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdxdWlldCcsIG9wdGlvbnMucXVpZXQpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZXhjbHVzaXZlbHknLCBvcHRpb25zLmV4Y2x1c2l2ZWx5KSxcbiAgICAgIC4uLnRoaXMuY3JlYXRlRGVmYXVsdEFyZ3VtZW50cyhvcHRpb25zKSxcbiAgICBdO1xuXG4gICAgZXhlYyhbdGhpcy5jZGssICdzeW50aCcsIC4uLnN5bnRoQ29tbWFuZEFyZ3NdLCB7XG4gICAgICBjd2Q6IHRoaXMuZGlyZWN0b3J5LFxuICAgICAgdmVyYm9zZTogdGhpcy5zaG93T3V0cHV0LFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEbyBhIENESyBzeW50aCwgbWltaWNraW5nIHRoZSBDTEkgKHdpdGhvdXQgYWN0dWFsbHkgdXNpbmcgaXQpXG4gICAqXG4gICAqIFRoZSBDTEkgaGFzIGEgcHJldHR5IHNsb3cgc3RhcnR1cCB0aW1lIGJlY2F1c2Ugb2YgYWxsIHRoZSBtb2R1bGVzIGl0IG5lZWRzIHRvIGxvYWQsXG4gICAqIEJ5cGFzcyBpdCB0byBiZSBxdWlja2VyIVxuICAgKi9cbiAgcHVibGljIHN5bnRoRmFzdChvcHRpb25zOiBTeW50aEZhc3RPcHRpb25zKTogdm9pZCB7XG4gICAgZXhlYyhvcHRpb25zLmV4ZWNDbWQsIHtcbiAgICAgIGN3ZDogdGhpcy5kaXJlY3RvcnksXG4gICAgICB2ZXJib3NlOiB0aGlzLnNob3dPdXRwdXQsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQ0RLX0NPTlRFWFRfSlNPTjogSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5jb250ZXh0KSxcbiAgICAgICAgQ0RLX09VVERJUjogb3B0aW9ucy5vdXRwdXQsXG4gICAgICAgIC4uLnRoaXMuZW52LFxuICAgICAgICAuLi5vcHRpb25zLmVudixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRBcmd1bWVudHMob3B0aW9uczogRGVmYXVsdENka09wdGlvbnMpOiBzdHJpbmdbXSB7XG4gICAgdGhpcy52YWxpZGF0ZUFyZ3Mob3B0aW9ucyk7XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0aW9ucy5zdGFja3MgPz8gW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLm9wdGlvbnMuYXBwID8gWyctLWFwcCcsIG9wdGlvbnMuYXBwXSA6IFtdLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnc3RyaWN0Jywgb3B0aW9ucy5zdHJpY3QpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndHJhY2UnLCBvcHRpb25zLnRyYWNlKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2xvb2t1cHMnLCBvcHRpb25zLmxvb2t1cHMpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnaWdub3JlLWVycm9ycycsIG9wdGlvbnMuaWdub3JlRXJyb3JzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2pzb24nLCBvcHRpb25zLmpzb24pLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygndmVyYm9zZScsIG9wdGlvbnMudmVyYm9zZSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdkZWJ1ZycsIG9wdGlvbnMuZGVidWcpLFxuICAgICAgLi4ucmVuZGVyQm9vbGVhbkFyZygnZWMyY3JlZHMnLCBvcHRpb25zLmVjMkNyZWRzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3ZlcnNpb24tcmVwb3J0aW5nJywgb3B0aW9ucy52ZXJzaW9uUmVwb3J0aW5nKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ3BhdGgtbWV0YWRhdGEnLCBvcHRpb25zLnBhdGhNZXRhZGF0YSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdhc3NldC1tZXRhZGF0YScsIG9wdGlvbnMuYXNzZXRNZXRhZGF0YSksXG4gICAgICAuLi5yZW5kZXJCb29sZWFuQXJnKCdub3RpY2VzJywgb3B0aW9ucy5ub3RpY2VzKSxcbiAgICAgIC4uLnJlbmRlckJvb2xlYW5BcmcoJ2NvbG9yJywgb3B0aW9ucy5jb2xvciksXG4gICAgICAuLi5vcHRpb25zLmNvbnRleHQgPyByZW5kZXJNYXBBcnJheUFyZygnLS1jb250ZXh0Jywgb3B0aW9ucy5jb250ZXh0KSA6IFtdLFxuICAgICAgLi4ub3B0aW9ucy5wcm9maWxlID8gWyctLXByb2ZpbGUnLCBvcHRpb25zLnByb2ZpbGVdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnByb3h5ID8gWyctLXByb3h5Jywgb3B0aW9ucy5wcm94eV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMuY2FCdW5kbGVQYXRoID8gWyctLWNhLWJ1bmRsZS1wYXRoJywgb3B0aW9ucy5jYUJ1bmRsZVBhdGhdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnJvbGVBcm4gPyBbJy0tcm9sZS1hcm4nLCBvcHRpb25zLnJvbGVBcm5dIDogW10sXG4gICAgICAuLi5vcHRpb25zLm91dHB1dCA/IFsnLS1vdXRwdXQnLCBvcHRpb25zLm91dHB1dF0gOiBbXSxcbiAgICAgIC4uLnN0YWNrcyxcbiAgICAgIC4uLm9wdGlvbnMuYWxsID8gWyctLWFsbCddIDogW10sXG4gICAgXTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJNYXBBcnJheUFyZyhmbGFnOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9KTogc3RyaW5nW10ge1xuICBjb25zdCBwYXJhbXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtZXRlcnMpKSB7XG4gICAgcGFyYW1zLnB1c2goYCR7a2V5fT0ke3ZhbHVlfWApO1xuICB9XG4gIHJldHVybiByZW5kZXJBcnJheUFyZyhmbGFnLCBwYXJhbXMpO1xufVxuXG5mdW5jdGlvbiByZW5kZXJBcnJheUFyZyhmbGFnOiBzdHJpbmcsIHZhbHVlcz86IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBsZXQgYXJnczogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMgPz8gW10pIHtcbiAgICBhcmdzLnB1c2goZmxhZywgdmFsdWUpO1xuICB9XG4gIHJldHVybiBhcmdzO1xufVxuXG5mdW5jdGlvbiByZW5kZXJCb29sZWFuQXJnKHZhbDogc3RyaW5nLCBhcmc/OiBib29sZWFuKTogc3RyaW5nW10ge1xuICBpZiAoYXJnKSB7XG4gICAgcmV0dXJuIFtgLS0ke3ZhbH1gXTtcbiAgfSBlbHNlIGlmIChhcmcgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBbXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW2AtLW5vLSR7dmFsfWBdO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/common.d.ts b/packages/cdk-cli-wrapper/lib/commands/common.d.ts deleted file mode 100644 index 25a86432d628e..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/common.d.ts +++ /dev/null @@ -1,178 +0,0 @@ -/** - * In what scenarios should the CLI ask for approval - */ -export declare enum RequireApproval { - /** - * Never ask for approval - */ - NEVER = "never", - /** - * Prompt for approval for any type of change to the stack - */ - ANYCHANGE = "any-change", - /** - * Only prompt for approval if there are security related changes - */ - BROADENING = "broadening" -} -/** - * Default CDK CLI options that apply to all commands - */ -export interface DefaultCdkOptions { - /** - * List of stacks to deploy - * - * Requried if `all` is not set - * - * @default - [] - */ - readonly stacks?: string[]; - /** - * Deploy all stacks - * - * Requried if `stacks` is not set - * - * @default - false - */ - readonly all?: boolean; - /** - * command-line for executing your app or a cloud assembly directory - * e.g. "node bin/my-app.js" - * or - * "cdk.out" - * - * @default - read from cdk.json - */ - readonly app?: string; - /** - * Role to pass to CloudFormation for deployment - * - * @default - use the bootstrap cfn-exec role - */ - readonly roleArn?: string; - /** - * Additional context - * - * @default - no additional context - */ - readonly context?: { - [name: string]: string; - }; - /** - * Print trace for stack warnings - * - * @default false - */ - readonly trace?: boolean; - /** - * Do not construct stacks with warnings - * - * @default false - */ - readonly strict?: boolean; - /** - * Perform context lookups. - * - * Synthesis fails if this is disabled and context lookups need - * to be performed - * - * @default true - */ - readonly lookups?: boolean; - /** - * Ignores synthesis errors, which will likely produce an invalid output - * - * @default false - */ - readonly ignoreErrors?: boolean; - /** - * Use JSON output instead of YAML when templates are printed - * to STDOUT - * - * @default false - */ - readonly json?: boolean; - /** - * show debug logs - * - * @default false - */ - readonly verbose?: boolean; - /** - * enable emission of additional debugging information, such as creation stack - * traces of tokens - * - * @default false - */ - readonly debug?: boolean; - /** - * Use the indicated AWS profile as the default environment - * - * @default - no profile is used - */ - readonly profile?: string; - /** - * Use the indicated proxy. Will read from - * HTTPS_PROXY environment if specified - * - * @default - no proxy - */ - readonly proxy?: string; - /** - * Path to CA certificate to use when validating HTTPS - * requests. - * - * @default - read from AWS_CA_BUNDLE environment variable - */ - readonly caBundlePath?: string; - /** - * Force trying to fetch EC2 instance credentials - * - * @default - guess EC2 instance status - */ - readonly ec2Creds?: boolean; - /** - * Include "AWS::CDK::Metadata" resource in synthesized templates - * - * @default true - */ - readonly versionReporting?: boolean; - /** - * Include "aws:cdk:path" CloudFormation metadata for each resource - * - * @default true - */ - readonly pathMetadata?: boolean; - /** - * Include "aws:asset:*" CloudFormation metadata for resources that use assets - * - * @default true - */ - readonly assetMetadata?: boolean; - /** - * Copy assets to the output directory - * - * Needed for local debugging the source files with SAM CLI - * - * @default false - */ - readonly staging?: boolean; - /** - * Emits the synthesized cloud assembly into a directory - * - * @default cdk.out - */ - readonly output?: string; - /** - * Show relevant notices - * - * @default true - */ - readonly notices?: boolean; - /** - * Show colors and other style from console output - * - * @default true - */ - readonly color?: boolean; -} diff --git a/packages/cdk-cli-wrapper/lib/commands/common.js b/packages/cdk-cli-wrapper/lib/commands/common.js deleted file mode 100644 index a9377bcc06ace..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/common.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RequireApproval = void 0; -/** - * In what scenarios should the CLI ask for approval - */ -var RequireApproval; -(function (RequireApproval) { - /** - * Never ask for approval - */ - RequireApproval["NEVER"] = "never"; - /** - * Prompt for approval for any type of change to the stack - */ - RequireApproval["ANYCHANGE"] = "any-change"; - /** - * Only prompt for approval if there are security related changes - */ - RequireApproval["BROADENING"] = "broadening"; -})(RequireApproval = exports.RequireApproval || (exports.RequireApproval = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQWVYO0FBZkQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsa0NBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQXdCLENBQUE7SUFFeEI7O09BRUc7SUFDSCw0Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBZlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFlMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluIHdoYXQgc2NlbmFyaW9zIHNob3VsZCB0aGUgQ0xJIGFzayBmb3IgYXBwcm92YWxcbiAqL1xuZXhwb3J0IGVudW0gUmVxdWlyZUFwcHJvdmFsIHtcbiAgLyoqXG4gICAqIE5ldmVyIGFzayBmb3IgYXBwcm92YWxcbiAgICovXG4gIE5FVkVSID0gJ25ldmVyJyxcblxuICAvKipcbiAgICogUHJvbXB0IGZvciBhcHByb3ZhbCBmb3IgYW55IHR5cGUgIG9mIGNoYW5nZSB0byB0aGUgc3RhY2tcbiAgICovXG4gIEFOWUNIQU5HRSA9ICdhbnktY2hhbmdlJyxcblxuICAvKipcbiAgICogT25seSBwcm9tcHQgZm9yIGFwcHJvdmFsIGlmIHRoZXJlIGFyZSBzZWN1cml0eSByZWxhdGVkIGNoYW5nZXNcbiAgICovXG4gIEJST0FERU5JTkcgPSAnYnJvYWRlbmluZydcbn1cblxuLyoqXG4gKiBEZWZhdWx0IENESyBDTEkgb3B0aW9ucyB0aGF0IGFwcGx5IHRvIGFsbCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3RhY2tzIHRvIGRlcGxveVxuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgYWxsYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gW11cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZXBsb3kgYWxsIHN0YWNrc1xuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgc3RhY2tzYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGNvbW1hbmQtbGluZSBmb3IgZXhlY3V0aW5nIHlvdXIgYXBwIG9yIGEgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5XG4gICAqIGUuZy4gXCJub2RlIGJpbi9teS1hcHAuanNcIlxuICAgKiBvclxuICAgKiBcImNkay5vdXRcIlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJlYWQgZnJvbSBjZGsuanNvblxuICAgKi9cbiAgcmVhZG9ubHkgYXBwPzogc3RyaW5nO1xuXG5cbiAgLyoqXG4gICAqIFJvbGUgdG8gcGFzcyB0byBDbG91ZEZvcm1hdGlvbiBmb3IgZGVwbG95bWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgYm9vdHN0cmFwIGNmbi1leGVjIHJvbGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dD86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQcmludCB0cmFjZSBmb3Igc3RhY2sgd2FybmluZ3NcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG8gbm90IGNvbnN0cnVjdCBzdGFja3Mgd2l0aCB3YXJuaW5nc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGVyZm9ybSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFN5bnRoZXNpcyBmYWlscyBpZiB0aGlzIGlzIGRpc2FibGVkIGFuZCBjb250ZXh0IGxvb2t1cHMgbmVlZFxuICAgKiB0byBiZSBwZXJmb3JtZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3Vwcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgKiBJZ25vcmVzIHN5bnRoZXNpcyBlcnJvcnMsIHdoaWNoIHdpbGwgbGlrZWx5IHByb2R1Y2UgYW4gaW52YWxpZCBvdXRwdXRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUVycm9ycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBKU09OIG91dHB1dCBpbnN0ZWFkIG9mIFlBTUwgd2hlbiB0ZW1wbGF0ZXMgYXJlIHByaW50ZWRcbiAgICogdG8gU1RET1VUXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBqc29uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogc2hvdyBkZWJ1ZyBsb2dzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogZW5hYmxlIGVtaXNzaW9uIG9mIGFkZGl0aW9uYWwgZGVidWdnaW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIGNyZWF0aW9uIHN0YWNrXG4gICAqIHRyYWNlcyBvZiB0b2tlbnNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHRoZSBpbmRpY2F0ZWQgQVdTIHByb2ZpbGUgYXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9maWxlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgaW5kaWNhdGVkIHByb3h5LiBXaWxsIHJlYWQgZnJvbVxuICAgKiBIVFRQU19QUk9YWSBlbnZpcm9ubWVudCBpZiBzcGVjaWZpZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm94eVxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gQ0EgY2VydGlmaWNhdGUgdG8gdXNlIHdoZW4gdmFsaWRhdGluZyBIVFRQU1xuICAgKiByZXF1ZXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSByZWFkIGZyb20gQVdTX0NBX0JVTkRMRSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FCdW5kbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGb3JjZSB0cnlpbmcgdG8gZmV0Y2ggRUMyIGluc3RhbmNlIGNyZWRlbnRpYWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ3Vlc3MgRUMyIGluc3RhbmNlIHN0YXR1c1xuICAgKi9cbiAgcmVhZG9ubHkgZWMyQ3JlZHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiQVdTOjpDREs6Ok1ldGFkYXRhXCIgcmVzb3VyY2UgaW4gc3ludGhlc2l6ZWQgdGVtcGxhdGVzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25SZXBvcnRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiYXdzOmNkazpwYXRoXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggcmVzb3VyY2VcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5jbHVkZSBcImF3czphc3NldDoqXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIHJlc291cmNlcyB0aGF0IHVzZSBhc3NldHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRNZXRhZGF0YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvcHkgYXNzZXRzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5XG4gICAqXG4gICAqIE5lZWRlZCBmb3IgbG9jYWwgZGVidWdnaW5nIHRoZSBzb3VyY2UgZmlsZXMgd2l0aCBTQU0gQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHN5bnRoZXNpemVkIGNsb3VkIGFzc2VtYmx5IGludG8gYSBkaXJlY3RvcnlcbiAgICpcbiAgICogQGRlZmF1bHQgY2RrLm91dFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlbGV2YW50IG5vdGljZXNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgY29sb3JzIGFuZCBvdGhlciBzdHlsZSBmcm9tIGNvbnNvbGUgb3V0cHV0XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts b/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts deleted file mode 100644 index ea46aa88ee335..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/deploy.d.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { DefaultCdkOptions, RequireApproval } from './common'; -/** - * Options to use with cdk deploy - */ -export interface DeployOptions extends DefaultCdkOptions { - /** - * Only perform action on the given stack - * - * @default false - */ - readonly exclusively?: boolean; - /** - * Name of the toolkit stack to use/deploy - * - * @default CDKToolkit - */ - readonly toolkitStackName?: string; - /** - * Reuse the assets with the given asset IDs - * - * @default - do not reuse assets - */ - readonly reuseAssets?: string[]; - /** - * Optional name to use for the CloudFormation change set. - * If not provided, a name will be generated automatically. - * - * @default - auto generate a name - */ - readonly changeSetName?: string; - /** - * Always deploy, even if templates are identical. - * @default false - */ - readonly force?: boolean; - /** - * Rollback failed deployments - * - * @default true - */ - readonly rollback?: boolean; - /** - * ARNs of SNS topics that CloudFormation will notify with stack related events - * - * @default - no notifications - */ - readonly notificationArns?: string[]; - /** - * What kind of security changes require approval - * - * @default RequireApproval.Never - */ - readonly requireApproval?: RequireApproval; - /** - * Whether to execute the ChangeSet - * Not providing `execute` parameter will result in execution of ChangeSet - * @default true - */ - readonly execute?: boolean; - /** - * Additional parameters for CloudFormation at deploy time - * @default {} - */ - readonly parameters?: { - [name: string]: string; - }; - /** - * Use previous values for unspecified parameters - * - * If not set, all parameters must be specified for every deployment. - * - * @default true - */ - readonly usePreviousParameters?: boolean; - /** - * Path to file where stack outputs will be written after a successful deploy as JSON - * @default - Outputs are not written to any file - */ - readonly outputsFile?: string; - /** - * Whether we are on a CI system - * - * @default false - */ - readonly ci?: boolean; - /** - * Display mode for stack activity events - * - * The default in the CLI is StackActivityProgress.BAR, but - * since the cli-wrapper will most likely be run in automation it makes - * more sense to set the default to StackActivityProgress.EVENTS - * - * @default StackActivityProgress.EVENTS - */ - readonly progress?: StackActivityProgress; -} -/** - * Supported display modes for stack deployment activity - */ -export declare enum StackActivityProgress { - /** - * Displays a progress bar with only the events for the resource currently being deployed - */ - BAR = "bar", - /** - * Displays complete history with all CloudFormation stack events - */ - EVENTS = "events" -} diff --git a/packages/cdk-cli-wrapper/lib/commands/deploy.js b/packages/cdk-cli-wrapper/lib/commands/deploy.js deleted file mode 100644 index e0899dfc397ec..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/deploy.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StackActivityProgress = void 0; -/** - * Supported display modes for stack deployment activity - */ -var StackActivityProgress; -(function (StackActivityProgress) { - /** - * Displays a progress bar with only the events for the resource currently being deployed - */ - StackActivityProgress["BAR"] = "bar"; - /** - * Displays complete history with all CloudFormation stack events - */ - StackActivityProgress["EVENTS"] = "events"; -})(StackActivityProgress = exports.StackActivityProgress || (exports.StackActivityProgress = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwbG95LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZHQTs7R0FFRztBQUNILElBQVkscUJBVVg7QUFWRCxXQUFZLHFCQUFxQjtJQUMvQjs7T0FFRztJQUNILG9DQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDBDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQVVoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zLCBSZXF1aXJlQXBwcm92YWwgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2Ugd2l0aCBjZGsgZGVwbG95XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95T3B0aW9ucyBleHRlbmRzIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9ubHkgcGVyZm9ybSBhY3Rpb24gb24gdGhlIGdpdmVuIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleGNsdXNpdmVseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRvb2xraXQgc3RhY2sgdG8gdXNlL2RlcGxveVxuICAgKlxuICAgKiBAZGVmYXVsdCBDREtUb29sa2l0XG4gICAqL1xuICByZWFkb25seSB0b29sa2l0U3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXVzZSB0aGUgYXNzZXRzIHdpdGggdGhlIGdpdmVuIGFzc2V0IElEc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCByZXVzZSBhc3NldHNcbiAgICovXG4gIHJlYWRvbmx5IHJldXNlQXNzZXRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldC5cbiAgICogSWYgbm90IHByb3ZpZGVkLCBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvIGdlbmVyYXRlIGEgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWx3YXlzIGRlcGxveSwgZXZlbiBpZiB0ZW1wbGF0ZXMgYXJlIGlkZW50aWNhbC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUm9sbGJhY2sgZmFpbGVkIGRlcGxveW1lbnRzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQVJOcyBvZiBTTlMgdG9waWNzIHRoYXQgQ2xvdWRGb3JtYXRpb24gd2lsbCBub3RpZnkgd2l0aCBzdGFjayByZWxhdGVkIGV2ZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hhdCBraW5kIG9mIHNlY3VyaXR5IGNoYW5nZXMgcmVxdWlyZSBhcHByb3ZhbFxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXF1aXJlQXBwcm92YWwuTmV2ZXJcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVBcHByb3ZhbD86IFJlcXVpcmVBcHByb3ZhbDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBleGVjdXRlIHRoZSBDaGFuZ2VTZXRcbiAgICogTm90IHByb3ZpZGluZyBgZXhlY3V0ZWAgcGFyYW1ldGVyIHdpbGwgcmVzdWx0IGluIGV4ZWN1dGlvbiBvZiBDaGFuZ2VTZXRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWVcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVXNlIHByZXZpb3VzIHZhbHVlcyBmb3IgdW5zcGVjaWZpZWQgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBJZiBub3Qgc2V0LCBhbGwgcGFyYW1ldGVycyBtdXN0IGJlIHNwZWNpZmllZCBmb3IgZXZlcnkgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUHJldmlvdXNQYXJhbWV0ZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGF0aCB0byBmaWxlIHdoZXJlIHN0YWNrIG91dHB1dHMgd2lsbCBiZSB3cml0dGVuIGFmdGVyIGEgc3VjY2Vzc2Z1bCBkZXBsb3kgYXMgSlNPTlxuICAgKiBAZGVmYXVsdCAtIE91dHB1dHMgYXJlIG5vdCB3cml0dGVuIHRvIGFueSBmaWxlXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzRmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB3ZSBhcmUgb24gYSBDSSBzeXN0ZW1cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNpPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzcGxheSBtb2RlIGZvciBzdGFjayBhY3Rpdml0eSBldmVudHNcbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaW4gdGhlIENMSSBpcyBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLCBidXRcbiAgICogc2luY2UgdGhlIGNsaS13cmFwcGVyIHdpbGwgbW9zdCBsaWtlbHkgYmUgcnVuIGluIGF1dG9tYXRpb24gaXQgbWFrZXNcbiAgICogbW9yZSBzZW5zZSB0byBzZXQgdGhlIGRlZmF1bHQgdG8gU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU1xuICAgKlxuICAgKiBAZGVmYXVsdCBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuRVZFTlRTXG4gICAqL1xuICByZWFkb25seSBwcm9ncmVzcz86IFN0YWNrQWN0aXZpdHlQcm9ncmVzcztcbn1cblxuLyoqXG4gKiBTdXBwb3J0ZWQgZGlzcGxheSBtb2RlcyBmb3Igc3RhY2sgZGVwbG95bWVudCBhY3Rpdml0eVxuICovXG5leHBvcnQgZW51bSBTdGFja0FjdGl2aXR5UHJvZ3Jlc3Mge1xuICAvKipcbiAgICogRGlzcGxheXMgYSBwcm9ncmVzcyBiYXIgd2l0aCBvbmx5IHRoZSBldmVudHMgZm9yIHRoZSByZXNvdXJjZSBjdXJyZW50bHkgYmVpbmcgZGVwbG95ZWRcbiAgICovXG4gIEJBUiA9ICdiYXInLFxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBjb21wbGV0ZSBoaXN0b3J5IHdpdGggYWxsIENsb3VkRm9ybWF0aW9uIHN0YWNrIGV2ZW50c1xuICAgKi9cbiAgRVZFTlRTID0gJ2V2ZW50cycsXG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts b/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts deleted file mode 100644 index d981fba122309..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/destroy.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { DefaultCdkOptions } from './common'; -/** - * Options to use with cdk destroy - */ -export interface DestroyOptions extends DefaultCdkOptions { - /** - * Do not ask for permission before destroying stacks - * - * @default false - */ - readonly force?: boolean; - /** - * Only destroy the given stack - * - * @default false - */ - readonly exclusively?: boolean; -} diff --git a/packages/cdk-cli-wrapper/lib/commands/destroy.js b/packages/cdk-cli-wrapper/lib/commands/destroy.js deleted file mode 100644 index cc24c854836f0..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/destroy.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIHdpdGggY2RrIGRlc3Ryb3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95T3B0aW9ucyBleHRlbmRzIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIERvIG5vdCBhc2sgZm9yIHBlcm1pc3Npb24gYmVmb3JlIGRlc3Ryb3lpbmcgc3RhY2tzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9ubHkgZGVzdHJveSB0aGUgZ2l2ZW4gc3RhY2tcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZWx5PzogYm9vbGVhbjtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/index.d.ts b/packages/cdk-cli-wrapper/lib/commands/index.d.ts deleted file mode 100644 index 33e0e77569a92..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './synth'; -export * from './common'; -export * from './deploy'; -export * from './destroy'; -export * from './list'; diff --git a/packages/cdk-cli-wrapper/lib/commands/index.js b/packages/cdk-cli-wrapper/lib/commands/index.js deleted file mode 100644 index 871721b05f45d..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./synth"), exports); -__exportStar(require("./common"), exports); -__exportStar(require("./deploy"), exports); -__exportStar(require("./destroy"), exports); -__exportStar(require("./list"), exports); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3ludGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3knO1xuZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdCc7XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/list.d.ts b/packages/cdk-cli-wrapper/lib/commands/list.d.ts deleted file mode 100644 index acc752155affb..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/list.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { DefaultCdkOptions } from './common'; -/** - * Options for cdk list - */ -export interface ListOptions extends DefaultCdkOptions { - /** - *Display environment information for each stack - * - * @default false - */ - readonly long?: boolean; -} diff --git a/packages/cdk-cli-wrapper/lib/commands/list.js b/packages/cdk-cli-wrapper/lib/commands/list.js deleted file mode 100644 index 0912bb75d266f..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/list.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNkayBsaXN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMgZXh0ZW5kcyBEZWZhdWx0Q2RrT3B0aW9ucyB7XG4gIC8qKlxuICAgKkRpc3BsYXkgZW52aXJvbm1lbnQgaW5mb3JtYXRpb24gZm9yIGVhY2ggc3RhY2tcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvbmc/OiBib29sZWFuO1xufVxuIl19 \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/commands/synth.d.ts b/packages/cdk-cli-wrapper/lib/commands/synth.d.ts deleted file mode 100644 index 16a66236889d4..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/synth.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { DefaultCdkOptions } from './common'; -/** - * Options to use with cdk synth - */ -export interface SynthOptions extends DefaultCdkOptions { - /** - * After synthesis, validate stacks with the "validateOnSynth" - * attribute set (can also be controlled with CDK_VALIDATION) - * - * @default true; - */ - readonly validation?: boolean; - /** - * Do not output CloudFormation Template to stdout - * @default false; - */ - readonly quiet?: boolean; - /** - * Only synthesize the given stack - * - * @default false - */ - readonly exclusively?: boolean; -} diff --git a/packages/cdk-cli-wrapper/lib/commands/synth.js b/packages/cdk-cli-wrapper/lib/commands/synth.js deleted file mode 100644 index c8a5cc4d5430f..0000000000000 --- a/packages/cdk-cli-wrapper/lib/commands/synth.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzeW50aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdENka09wdGlvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2Ugd2l0aCBjZGsgc3ludGhcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTeW50aE9wdGlvbnMgZXh0ZW5kcyBEZWZhdWx0Q2RrT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIEFmdGVyIHN5bnRoZXNpcywgdmFsaWRhdGUgc3RhY2tzIHdpdGggdGhlIFwidmFsaWRhdGVPblN5bnRoXCJcbiAgICogYXR0cmlidXRlIHNldCAoY2FuIGFsc28gYmUgY29udHJvbGxlZCB3aXRoIENES19WQUxJREFUSU9OKVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlO1xuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERvIG5vdCBvdXRwdXQgQ2xvdWRGb3JtYXRpb24gVGVtcGxhdGUgdG8gc3Rkb3V0XG4gICAqIEBkZWZhdWx0IGZhbHNlO1xuICAgKi9cbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPbmx5IHN5bnRoZXNpemUgdGhlIGdpdmVuIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleGNsdXNpdmVseT86IGJvb2xlYW47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/index.d.ts b/packages/cdk-cli-wrapper/lib/index.d.ts deleted file mode 100644 index a7ee3249f4cbe..0000000000000 --- a/packages/cdk-cli-wrapper/lib/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './cdk-wrapper'; -export * from './commands'; diff --git a/packages/cdk-cli-wrapper/lib/index.js b/packages/cdk-cli-wrapper/lib/index.js deleted file mode 100644 index 0cd43d0f9a0a3..0000000000000 --- a/packages/cdk-cli-wrapper/lib/index.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./cdk-wrapper"), exports); -__exportStar(require("./commands"), exports); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrLXdyYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcyc7XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/lib/utils.d.ts b/packages/cdk-cli-wrapper/lib/utils.d.ts deleted file mode 100644 index 1b087b5d46a9a..0000000000000 --- a/packages/cdk-cli-wrapper/lib/utils.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Our own execute function which doesn't use shells and strings. - */ -export declare function exec(commandLine: string[], options?: { - cwd?: string; - json?: boolean; - verbose?: boolean; - env?: any; -}): any; diff --git a/packages/cdk-cli-wrapper/lib/utils.js b/packages/cdk-cli-wrapper/lib/utils.js deleted file mode 100644 index e31979dd6d753..0000000000000 --- a/packages/cdk-cli-wrapper/lib/utils.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.exec = void 0; -// Helper functions for CDK Exec -const child_process_1 = require("child_process"); -/** - * Our own execute function which doesn't use shells and strings. - */ -function exec(commandLine, options = {}) { - const proc = (0, child_process_1.spawnSync)(commandLine[0], commandLine.slice(1), { - stdio: ['ignore', 'pipe', options.verbose ? 'inherit' : 'pipe'], - env: { - ...process.env, - ...options.env, - }, - cwd: options.cwd, - }); - if (proc.error) { - throw proc.error; - } - if (proc.status !== 0) { - if (process.stderr) { // will be 'null' in verbose mode - process.stderr.write(proc.stderr); - } - throw new Error(`Command exited with ${proc.status ? `status ${proc.status}` : `signal ${proc.signal}`}`); - } - const output = proc.stdout.toString('utf-8').trim(); - try { - if (options.json) { - if (output.length === 0) { - return {}; - } - return JSON.parse(output); - } - return output; - } - catch { - // eslint-disable-next-line no-console - console.error('Not JSON: ' + output); - throw new Error('Command output is not JSON'); - } -} -exports.exec = exec; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsaURBQTBDO0FBRTFDOztHQUVHO0FBQ0gsU0FBZ0IsSUFBSSxDQUFDLFdBQXFCLEVBQUUsVUFBMEUsRUFBRztJQUN2SCxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0QsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMvRCxHQUFHLEVBQUU7WUFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO1lBQ2QsR0FBRyxPQUFPLENBQUMsR0FBRztTQUNmO1FBQ0QsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0tBQ2pCLENBQUMsQ0FBQztJQUVILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUFFLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUFFO0lBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsaUNBQWlDO1lBQ3JELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDM0c7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVwRCxJQUFJO1FBQ0YsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2hCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxFQUFFLENBQUM7YUFBRTtZQUV2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQUMsTUFBTTtRQUNOLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDO0FBaENELG9CQWdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIENESyBFeGVjXG5pbXBvcnQgeyBzcGF3blN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcblxuLyoqXG4gKiBPdXIgb3duIGV4ZWN1dGUgZnVuY3Rpb24gd2hpY2ggZG9lc24ndCB1c2Ugc2hlbGxzIGFuZCBzdHJpbmdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kTGluZTogc3RyaW5nW10sIG9wdGlvbnM6IHsgY3dkPzogc3RyaW5nLCBqc29uPzogYm9vbGVhbiwgdmVyYm9zZT86IGJvb2xlYW4sIGVudj86IGFueSB9ID0geyB9KTogYW55IHtcbiAgY29uc3QgcHJvYyA9IHNwYXduU3luYyhjb21tYW5kTGluZVswXSwgY29tbWFuZExpbmUuc2xpY2UoMSksIHtcbiAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsIG9wdGlvbnMudmVyYm9zZSA/ICdpbmhlcml0JyA6ICdwaXBlJ10sIC8vIGluaGVyaXQgU1RERVJSIGluIHZlcmJvc2UgbW9kZVxuICAgIGVudjoge1xuICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAuLi5vcHRpb25zLmVudixcbiAgICB9LFxuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gIH0pO1xuXG4gIGlmIChwcm9jLmVycm9yKSB7IHRocm93IHByb2MuZXJyb3I7IH1cbiAgaWYgKHByb2Muc3RhdHVzICE9PSAwKSB7XG4gICAgaWYgKHByb2Nlc3Muc3RkZXJyKSB7IC8vIHdpbGwgYmUgJ251bGwnIGluIHZlcmJvc2UgbW9kZVxuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUocHJvYy5zdGRlcnIpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbW1hbmQgZXhpdGVkIHdpdGggJHtwcm9jLnN0YXR1cyA/IGBzdGF0dXMgJHtwcm9jLnN0YXR1c31gIDogYHNpZ25hbCAke3Byb2Muc2lnbmFsfWB9YCk7XG4gIH1cblxuICBjb25zdCBvdXRwdXQgPSBwcm9jLnN0ZG91dC50b1N0cmluZygndXRmLTgnKS50cmltKCk7XG5cbiAgdHJ5IHtcbiAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICBpZiAob3V0cHV0Lmxlbmd0aCA9PT0gMCkgeyByZXR1cm4ge307IH1cblxuICAgICAgcmV0dXJuIEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfSBjYXRjaCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdOb3QgSlNPTjogJyArIG91dHB1dCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb21tYW5kIG91dHB1dCBpcyBub3QgSlNPTicpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts deleted file mode 100644 index cb0ff5c3b541f..0000000000000 --- a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js b/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js deleted file mode 100644 index 768822b56a363..0000000000000 --- a/packages/cdk-cli-wrapper/test/cdk-wrapper.test.js +++ /dev/null @@ -1,408 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const child_process = require("child_process"); -const cdk_wrapper_1 = require("../lib/cdk-wrapper"); -const commands_1 = require("../lib/commands"); -let spawnSyncMock; -beforeEach(() => { - spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({ - status: 0, - stderr: Buffer.from('stderr'), - stdout: Buffer.from('stdout'), - pid: 123, - output: ['stdout', 'stderr'], - signal: null, - }); -}); -afterEach(() => { - jest.resetAllMocks(); - jest.restoreAllMocks(); - jest.clearAllMocks(); -}); -test('default deploy', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ - env: expect.anything(), - cwd: '/project', - })); -}); -test('deploy with all arguments', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - ci: false, - json: true, - color: false, - debug: false, - force: true, - proxy: 'https://proxy', - trace: false, - output: 'cdk.out', - strict: false, - execute: true, - lookups: false, - notices: true, - profile: 'my-profile', - roleArn: 'arn:aws:iam::1111111111:role/my-role', - staging: false, - verbose: true, - ec2Creds: true, - rollback: false, - exclusively: true, - outputsFile: 'outputs.json', - reuseAssets: [ - 'asset1234', - 'asset5678', - ], - caBundlePath: '/some/path', - ignoreErrors: false, - pathMetadata: false, - assetMetadata: true, - changeSetName: 'my-change-set', - requireApproval: commands_1.RequireApproval.NEVER, - toolkitStackName: 'Toolkit', - versionReporting: true, - usePreviousParameters: true, - progress: commands_1.StackActivityProgress.BAR, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), expect.arrayContaining([ - 'deploy', - '--no-strict', - '--no-trace', - '--no-lookups', - '--no-ignore-errors', - '--json', - '--verbose', - '--no-debug', - '--ec2creds', - '--version-reporting', - '--no-path-metadata', - '--asset-metadata', - '--notices', - '--no-color', - '--profile', 'my-profile', - '--proxy', 'https://proxy', - '--ca-bundle-path', '/some/path', - '--role-arn', 'arn:aws:iam::1111111111:role/my-role', - '--output', 'cdk.out', - '--no-ci', - '--execute', - '--exclusively', - '--force', - '--no-rollback', - '--no-staging', - '--reuse-assets', 'asset1234', - '--reuse-assets', 'asset5678', - '--outputs-file', 'outputs.json', - '--require-approval', 'never', - '--change-set-name', 'my-change-set', - '--toolkit-stack-name', 'Toolkit', - '--previous-parameters', - '--progress', 'bar', - '--app', - 'node bin/my-app.js', - 'test-stack1', - ]), expect.objectContaining({ - env: expect.anything(), - stdio: ['ignore', 'pipe', 'pipe'], - cwd: '/project', - })); -}); -test('can parse boolean arguments', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - json: true, - color: false, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ - 'deploy', - '--progress', 'events', - '--app', - 'node bin/my-app.js', - '--json', - '--no-color', - 'test-stack1', - ], expect.objectContaining({ - env: expect.anything(), - stdio: ['ignore', 'pipe', 'pipe'], - cwd: '/project', - })); -}); -test('can parse parameters', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - parameters: { - 'myparam': 'test', - 'test-stack1:myotherparam': 'test', - }, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ - 'deploy', - '--parameters', 'myparam=test', - '--parameters', 'test-stack1:myotherparam=test', - '--progress', 'events', - '--app', - 'node bin/my-app.js', - 'test-stack1', - ], expect.objectContaining({ - env: expect.anything(), - cwd: '/project', - })); -}); -test('can parse context', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - context: { - 'myContext': 'value', - 'test-stack1:OtherContext': 'otherValue', - }, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ - 'deploy', - '--progress', 'events', - '--app', - 'node bin/my-app.js', - '--context', 'myContext=value', - '--context', 'test-stack1:OtherContext=otherValue', - 'test-stack1', - ], expect.objectContaining({ - env: expect.anything(), - cwd: '/project', - })); -}); -test('can parse array arguments', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - notificationArns: [ - 'arn:aws:us-east-1:1111111111:some:resource', - 'arn:aws:us-east-1:1111111111:some:other-resource', - ], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), [ - 'deploy', - '--notification-arns', 'arn:aws:us-east-1:1111111111:some:resource', - '--notification-arns', 'arn:aws:us-east-1:1111111111:some:other-resource', - '--progress', 'events', - '--app', - 'node bin/my-app.js', - 'test-stack1', - ], expect.objectContaining({ - env: expect.anything(), - cwd: '/project', - })); -}); -test('can provide additional environment', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.deploy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['deploy', '--progress', 'events', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); -}); -test('default synth', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.synth({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['synth', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); -}); -test('synth arguments', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.destroy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['destroy', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); -}); -test('destroy arguments', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.destroy({ - app: 'node bin/my-app.js', - stacks: ['test-stack1'], - force: true, - exclusively: false, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['destroy', '--force', '--no-exclusively', '--app', 'node bin/my-app.js', 'test-stack1'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); -}); -test('default ls', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.list({ - app: 'node bin/my-app.js', - stacks: ['*'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['ls', '--app', 'node bin/my-app.js', '*'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); -}); -test('ls arguments', () => { - // WHEN - spawnSyncMock = jest.spyOn(child_process, 'spawnSync').mockReturnValue({ - status: 0, - stderr: Buffer.from('stderr'), - stdout: Buffer.from('test-stack1\ntest-stack2'), - pid: 123, - output: ['stdout', 'stderr'], - signal: null, - }); - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - const list = cdk.list({ - app: 'node bin/my-app.js', - stacks: ['*'], - long: true, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith(expect.stringMatching(/cdk/), ['ls', '--long', '--app', 'node bin/my-app.js', '*'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - }), - cwd: '/project', - })); - expect(list).toEqual('test-stack1\ntest-stack2'); -}); -test('can synth fast', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - env: { - KEY: 'value', - }, - }); - cdk.synthFast({ - execCmd: ['node', 'bin/my-app.js'], - output: 'cdk.output', - env: { - OTHERKEY: 'othervalue', - }, - context: { - CONTEXT: 'value', - }, - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith('node', ['bin/my-app.js'], expect.objectContaining({ - env: expect.objectContaining({ - KEY: 'value', - OTHERKEY: 'othervalue', - CDK_OUTDIR: 'cdk.output', - CDK_CONTEXT_JSON: '{\"CONTEXT\":\"value\"}', - }), - cwd: '/project', - })); -}); -test('can show output', () => { - // WHEN - const cdk = new cdk_wrapper_1.CdkCliWrapper({ - directory: '/project', - showOutput: true, - }); - cdk.synthFast({ - execCmd: ['node', 'bin/my-app.js'], - }); - // THEN - expect(spawnSyncMock).toHaveBeenCalledWith('node', ['bin/my-app.js'], expect.objectContaining({ - env: expect.anything(), - stdio: ['ignore', 'pipe', 'inherit'], - cwd: '/project', - })); -}); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXdyYXBwZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay13cmFwcGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBK0M7QUFDL0Msb0RBQW1EO0FBQ25ELDhDQUF5RTtBQUN6RSxJQUFJLGFBQStCLENBQUM7QUFFcEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtJQUNkLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDckUsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxHQUFHO1FBQ1IsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUM1QixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUMxQixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDVCxHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztLQUN4QixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLENBQUMsRUFDaEYsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3RCLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3JDLE9BQU87SUFDUCxNQUFNLEdBQUcsR0FBRyxJQUFJLDJCQUFhLENBQUM7UUFDNUIsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNULEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3ZCLEVBQUUsRUFBRSxLQUFLO1FBQ1QsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxLQUFLO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsZUFBZTtRQUN0QixLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxJQUFJO1FBQ2IsT0FBTyxFQUFFLFlBQVk7UUFDckIsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFdBQVcsRUFBRTtZQUNYLFdBQVc7WUFDWCxXQUFXO1NBQ1o7UUFDRCxZQUFZLEVBQUUsWUFBWTtRQUMxQixZQUFZLEVBQUUsS0FBSztRQUNuQixZQUFZLEVBQUUsS0FBSztRQUNuQixhQUFhLEVBQUUsSUFBSTtRQUNuQixhQUFhLEVBQUUsZUFBZTtRQUM5QixlQUFlLEVBQUUsMEJBQWUsQ0FBQyxLQUFLO1FBQ3RDLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixxQkFBcUIsRUFBRSxJQUFJO1FBQzNCLFFBQVEsRUFBRSxnQ0FBcUIsQ0FBQyxHQUFHO0tBQ3BDLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDckIsUUFBUTtRQUNSLGFBQWE7UUFDYixZQUFZO1FBQ1osY0FBYztRQUNkLG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsV0FBVztRQUNYLFlBQVk7UUFDWixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXLEVBQUUsWUFBWTtRQUN6QixTQUFTLEVBQUUsZUFBZTtRQUMxQixrQkFBa0IsRUFBRSxZQUFZO1FBQ2hDLFlBQVksRUFBRSxzQ0FBc0M7UUFDcEQsVUFBVSxFQUFFLFNBQVM7UUFDckIsU0FBUztRQUNULFdBQVc7UUFDWCxlQUFlO1FBQ2YsU0FBUztRQUNULGVBQWU7UUFDZixjQUFjO1FBQ2QsZ0JBQWdCLEVBQUUsV0FBVztRQUM3QixnQkFBZ0IsRUFBRSxXQUFXO1FBQzdCLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsb0JBQW9CLEVBQUUsT0FBTztRQUM3QixtQkFBbUIsRUFBRSxlQUFlO1FBQ3BDLHNCQUFzQixFQUFFLFNBQVM7UUFDakMsdUJBQXVCO1FBQ3ZCLFlBQVksRUFBRSxLQUFLO1FBQ25CLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsYUFBYTtLQUNkLENBQUMsRUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLFlBQVksRUFBRSxRQUFRO1FBQ3RCLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsUUFBUTtRQUNSLFlBQVk7UUFDWixhQUFhO0tBQ2QsRUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDaEMsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLE1BQU07WUFDakIsMEJBQTBCLEVBQUUsTUFBTTtTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLGNBQWMsRUFBRSxjQUFjO1FBQzlCLGNBQWMsRUFBRSwrQkFBK0I7UUFDL0MsWUFBWSxFQUFFLFFBQVE7UUFDdEIsT0FBTztRQUNQLG9CQUFvQjtRQUNwQixhQUFhO0tBQ2QsRUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDdEIsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDN0IsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLE9BQU87WUFDcEIsMEJBQTBCLEVBQUUsWUFBWTtTQUN6QztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQzVCO1FBQ0UsUUFBUTtRQUNSLFlBQVksRUFBRSxRQUFRO1FBQ3RCLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELGFBQWE7S0FDZCxFQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN0QixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUNyQyxPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDVCxHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN2QixnQkFBZ0IsRUFBRTtZQUNoQiw0Q0FBNEM7WUFDNUMsa0RBQWtEO1NBQ25EO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUI7UUFDRSxRQUFRO1FBQ1IscUJBQXFCLEVBQUUsNENBQTRDO1FBQ25FLHFCQUFxQixFQUFFLGtEQUFrRDtRQUN6RSxZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPO1FBQ1Asb0JBQW9CO1FBQ3BCLGFBQWE7S0FDZCxFQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN0QixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtJQUM5QyxPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ1QsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLEVBQ2hGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QixHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQzNCLEdBQUcsRUFBRSxPQUFPO1NBQ2IsQ0FBQztRQUNGLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUN6QixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ1IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMzQixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ1YsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN6RCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUM3QixPQUFPO0lBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ1YsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdkIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxFQUN4RixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDdEIsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsT0FBTztTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxFQUMxQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7SUFDeEIsT0FBTztJQUNQLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDckUsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDL0MsR0FBRyxFQUFFLEdBQUc7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSwyQkFBYSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRTtZQUNILEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3BCLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUM1QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxFQUNwRCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztTQUNiLENBQUM7UUFDRixHQUFHLEVBQUUsVUFBVTtLQUNoQixDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7SUFDMUIsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsT0FBTztTQUNiO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUNaLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDbEMsTUFBTSxFQUFFLFlBQVk7UUFDcEIsR0FBRyxFQUFFO1lBQ0gsUUFBUSxFQUFFLFlBQVk7U0FDdkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLENBQ3hDLE1BQU0sRUFDTixDQUFDLGVBQWUsQ0FBQyxFQUNqQixNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQixHQUFHLEVBQUUsT0FBTztZQUNaLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLGdCQUFnQixFQUFFLHlCQUF5QjtTQUM1QyxDQUFDO1FBQ0YsR0FBRyxFQUFFLFVBQVU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDM0IsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksMkJBQWEsQ0FBQztRQUM1QixTQUFTLEVBQUUsVUFBVTtRQUNyQixVQUFVLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ1osT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixDQUN4QyxNQUFNLEVBQ04sQ0FBQyxlQUFlLENBQUMsRUFDakIsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3RCLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgQ2RrQ2xpV3JhcHBlciB9IGZyb20gJy4uL2xpYi9jZGstd3JhcHBlcic7XG5pbXBvcnQgeyBSZXF1aXJlQXBwcm92YWwsIFN0YWNrQWN0aXZpdHlQcm9ncmVzcyB9IGZyb20gJy4uL2xpYi9jb21tYW5kcyc7XG5sZXQgc3Bhd25TeW5jTW9jazogamVzdC5TcHlJbnN0YW5jZTtcblxuYmVmb3JlRWFjaCgoKSA9PiB7XG4gIHNwYXduU3luY01vY2sgPSBqZXN0LnNweU9uKGNoaWxkX3Byb2Nlc3MsICdzcGF3blN5bmMnKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIHN0YXR1czogMCxcbiAgICBzdGRlcnI6IEJ1ZmZlci5mcm9tKCdzdGRlcnInKSxcbiAgICBzdGRvdXQ6IEJ1ZmZlci5mcm9tKCdzdGRvdXQnKSxcbiAgICBwaWQ6IDEyMyxcbiAgICBvdXRwdXQ6IFsnc3Rkb3V0JywgJ3N0ZGVyciddLFxuICAgIHNpZ25hbDogbnVsbCxcbiAgfSk7XG59KTtcblxuYWZ0ZXJFYWNoKCgpID0+IHtcbiAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIGplc3QucmVzdG9yZUFsbE1vY2tzKCk7XG4gIGplc3QuY2xlYXJBbGxNb2NrcygpO1xufSk7XG5cbnRlc3QoJ2RlZmF1bHQgZGVwbG95JywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVwbG95JywgJy0tcHJvZ3Jlc3MnLCAnZXZlbnRzJywgJy0tYXBwJywgJ25vZGUgYmluL215LWFwcC5qcycsICd0ZXN0LXN0YWNrMSddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVwbG95IHdpdGggYWxsIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgICBjaTogZmFsc2UsXG4gICAganNvbjogdHJ1ZSxcbiAgICBjb2xvcjogZmFsc2UsXG4gICAgZGVidWc6IGZhbHNlLFxuICAgIGZvcmNlOiB0cnVlLFxuICAgIHByb3h5OiAnaHR0cHM6Ly9wcm94eScsXG4gICAgdHJhY2U6IGZhbHNlLFxuICAgIG91dHB1dDogJ2Nkay5vdXQnLFxuICAgIHN0cmljdDogZmFsc2UsXG4gICAgZXhlY3V0ZTogdHJ1ZSxcbiAgICBsb29rdXBzOiBmYWxzZSxcbiAgICBub3RpY2VzOiB0cnVlLFxuICAgIHByb2ZpbGU6ICdteS1wcm9maWxlJyxcbiAgICByb2xlQXJuOiAnYXJuOmF3czppYW06OjExMTExMTExMTE6cm9sZS9teS1yb2xlJyxcbiAgICBzdGFnaW5nOiBmYWxzZSxcbiAgICB2ZXJib3NlOiB0cnVlLFxuICAgIGVjMkNyZWRzOiB0cnVlLFxuICAgIHJvbGxiYWNrOiBmYWxzZSxcbiAgICBleGNsdXNpdmVseTogdHJ1ZSxcbiAgICBvdXRwdXRzRmlsZTogJ291dHB1dHMuanNvbicsXG4gICAgcmV1c2VBc3NldHM6IFtcbiAgICAgICdhc3NldDEyMzQnLFxuICAgICAgJ2Fzc2V0NTY3OCcsXG4gICAgXSxcbiAgICBjYUJ1bmRsZVBhdGg6ICcvc29tZS9wYXRoJyxcbiAgICBpZ25vcmVFcnJvcnM6IGZhbHNlLFxuICAgIHBhdGhNZXRhZGF0YTogZmFsc2UsXG4gICAgYXNzZXRNZXRhZGF0YTogdHJ1ZSxcbiAgICBjaGFuZ2VTZXROYW1lOiAnbXktY2hhbmdlLXNldCcsXG4gICAgcmVxdWlyZUFwcHJvdmFsOiBSZXF1aXJlQXBwcm92YWwuTkVWRVIsXG4gICAgdG9vbGtpdFN0YWNrTmFtZTogJ1Rvb2xraXQnLFxuICAgIHZlcnNpb25SZXBvcnRpbmc6IHRydWUsXG4gICAgdXNlUHJldmlvdXNQYXJhbWV0ZXJzOiB0cnVlLFxuICAgIHByb2dyZXNzOiBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgJ2RlcGxveScsXG4gICAgICAnLS1uby1zdHJpY3QnLFxuICAgICAgJy0tbm8tdHJhY2UnLFxuICAgICAgJy0tbm8tbG9va3VwcycsXG4gICAgICAnLS1uby1pZ25vcmUtZXJyb3JzJyxcbiAgICAgICctLWpzb24nLFxuICAgICAgJy0tdmVyYm9zZScsXG4gICAgICAnLS1uby1kZWJ1ZycsXG4gICAgICAnLS1lYzJjcmVkcycsXG4gICAgICAnLS12ZXJzaW9uLXJlcG9ydGluZycsXG4gICAgICAnLS1uby1wYXRoLW1ldGFkYXRhJyxcbiAgICAgICctLWFzc2V0LW1ldGFkYXRhJyxcbiAgICAgICctLW5vdGljZXMnLFxuICAgICAgJy0tbm8tY29sb3InLFxuICAgICAgJy0tcHJvZmlsZScsICdteS1wcm9maWxlJyxcbiAgICAgICctLXByb3h5JywgJ2h0dHBzOi8vcHJveHknLFxuICAgICAgJy0tY2EtYnVuZGxlLXBhdGgnLCAnL3NvbWUvcGF0aCcsXG4gICAgICAnLS1yb2xlLWFybicsICdhcm46YXdzOmlhbTo6MTExMTExMTExMTpyb2xlL215LXJvbGUnLFxuICAgICAgJy0tb3V0cHV0JywgJ2Nkay5vdXQnLFxuICAgICAgJy0tbm8tY2knLFxuICAgICAgJy0tZXhlY3V0ZScsXG4gICAgICAnLS1leGNsdXNpdmVseScsXG4gICAgICAnLS1mb3JjZScsXG4gICAgICAnLS1uby1yb2xsYmFjaycsXG4gICAgICAnLS1uby1zdGFnaW5nJyxcbiAgICAgICctLXJldXNlLWFzc2V0cycsICdhc3NldDEyMzQnLFxuICAgICAgJy0tcmV1c2UtYXNzZXRzJywgJ2Fzc2V0NTY3OCcsXG4gICAgICAnLS1vdXRwdXRzLWZpbGUnLCAnb3V0cHV0cy5qc29uJyxcbiAgICAgICctLXJlcXVpcmUtYXBwcm92YWwnLCAnbmV2ZXInLFxuICAgICAgJy0tY2hhbmdlLXNldC1uYW1lJywgJ215LWNoYW5nZS1zZXQnLFxuICAgICAgJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgJ1Rvb2xraXQnLFxuICAgICAgJy0tcHJldmlvdXMtcGFyYW1ldGVycycsXG4gICAgICAnLS1wcm9ncmVzcycsICdiYXInLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxJyxcbiAgICBdKSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwYXJzZSBib29sZWFuIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgICBqc29uOiB0cnVlLFxuICAgIGNvbG9yOiBmYWxzZSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbXG4gICAgICAnZGVwbG95JyxcbiAgICAgICctLXByb2dyZXNzJywgJ2V2ZW50cycsXG4gICAgICAnLS1hcHAnLFxuICAgICAgJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgICAnLS1qc29uJyxcbiAgICAgICctLW5vLWNvbG9yJyxcbiAgICAgICd0ZXN0LXN0YWNrMScsXG4gICAgXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwYXJzZSBwYXJhbWV0ZXJzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICdteXBhcmFtJzogJ3Rlc3QnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxOm15b3RoZXJwYXJhbSc6ICd0ZXN0JyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFtcbiAgICAgICdkZXBsb3knLFxuICAgICAgJy0tcGFyYW1ldGVycycsICdteXBhcmFtPXRlc3QnLFxuICAgICAgJy0tcGFyYW1ldGVycycsICd0ZXN0LXN0YWNrMTpteW90aGVycGFyYW09dGVzdCcsXG4gICAgICAnLS1wcm9ncmVzcycsICdldmVudHMnLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJ3Rlc3Qtc3RhY2sxJyxcbiAgICBdLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnY2FuIHBhcnNlIGNvbnRleHQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgfSk7XG4gIGNkay5kZXBsb3koe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgY29udGV4dDoge1xuICAgICAgJ215Q29udGV4dCc6ICd2YWx1ZScsXG4gICAgICAndGVzdC1zdGFjazE6T3RoZXJDb250ZXh0JzogJ290aGVyVmFsdWUnLFxuICAgIH0sXG4gIH0pO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHNwYXduU3luY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgIGV4cGVjdC5zdHJpbmdNYXRjaGluZygvY2RrLyksXG4gICAgW1xuICAgICAgJ2RlcGxveScsXG4gICAgICAnLS1wcm9ncmVzcycsICdldmVudHMnLFxuICAgICAgJy0tYXBwJyxcbiAgICAgICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgICAgJy0tY29udGV4dCcsICdteUNvbnRleHQ9dmFsdWUnLFxuICAgICAgJy0tY29udGV4dCcsICd0ZXN0LXN0YWNrMTpPdGhlckNvbnRleHQ9b3RoZXJWYWx1ZScsXG4gICAgICAndGVzdC1zdGFjazEnLFxuICAgIF0sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcbn0pO1xuXG50ZXN0KCdjYW4gcGFyc2UgYXJyYXkgYXJndW1lbnRzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gIH0pO1xuICBjZGsuZGVwbG95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICAgIG5vdGlmaWNhdGlvbkFybnM6IFtcbiAgICAgICdhcm46YXdzOnVzLWVhc3QtMToxMTExMTExMTExOnNvbWU6cmVzb3VyY2UnLFxuICAgICAgJ2Fybjphd3M6dXMtZWFzdC0xOjExMTExMTExMTE6c29tZTpvdGhlci1yZXNvdXJjZScsXG4gICAgXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbXG4gICAgICAnZGVwbG95JyxcbiAgICAgICctLW5vdGlmaWNhdGlvbi1hcm5zJywgJ2Fybjphd3M6dXMtZWFzdC0xOjExMTExMTExMTE6c29tZTpyZXNvdXJjZScsXG4gICAgICAnLS1ub3RpZmljYXRpb24tYXJucycsICdhcm46YXdzOnVzLWVhc3QtMToxMTExMTExMTExOnNvbWU6b3RoZXItcmVzb3VyY2UnLFxuICAgICAgJy0tcHJvZ3Jlc3MnLCAnZXZlbnRzJyxcbiAgICAgICctLWFwcCcsXG4gICAgICAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICAgICd0ZXN0LXN0YWNrMScsXG4gICAgXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2NhbiBwcm92aWRlIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmRlcGxveSh7XG4gICAgYXBwOiAnbm9kZSBiaW4vbXktYXBwLmpzJyxcbiAgICBzdGFja3M6IFsndGVzdC1zdGFjazEnXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2RlcGxveScsICctLXByb2dyZXNzJywgJ2V2ZW50cycsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVmYXVsdCBzeW50aCcsICgpID0+IHtcbiAgLy8gV0hFTlxuICBjb25zdCBjZGsgPSBuZXcgQ2RrQ2xpV3JhcHBlcih7XG4gICAgZGlyZWN0b3J5OiAnL3Byb2plY3QnLFxuICAgIGVudjoge1xuICAgICAgS0VZOiAndmFsdWUnLFxuICAgIH0sXG4gIH0pO1xuICBjZGsuc3ludGgoe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gIH0pO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHNwYXduU3luY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgIGV4cGVjdC5zdHJpbmdNYXRjaGluZygvY2RrLyksXG4gICAgWydzeW50aCcsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnc3ludGggYXJndW1lbnRzJywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gICAgZW52OiB7XG4gICAgICBLRVk6ICd2YWx1ZScsXG4gICAgfSxcbiAgfSk7XG4gIGNkay5kZXN0cm95KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWyd0ZXN0LXN0YWNrMSddLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVzdHJveScsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAndGVzdC1zdGFjazEnXSxcbiAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICBlbnY6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgS0VZOiAndmFsdWUnLFxuICAgICAgfSksXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcblxudGVzdCgnZGVzdHJveSBhcmd1bWVudHMnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmRlc3Ryb3koe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgZm9yY2U6IHRydWUsXG4gICAgZXhjbHVzaXZlbHk6IGZhbHNlLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICBleHBlY3Quc3RyaW5nTWF0Y2hpbmcoL2Nkay8pLFxuICAgIFsnZGVzdHJveScsICctLWZvcmNlJywgJy0tbm8tZXhjbHVzaXZlbHknLCAnLS1hcHAnLCAnbm9kZSBiaW4vbXktYXBwLmpzJywgJ3Rlc3Qtc3RhY2sxJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgIH0pLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2RlZmF1bHQgbHMnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY2RrLmxpc3Qoe1xuICAgIGFwcDogJ25vZGUgYmluL215LWFwcC5qcycsXG4gICAgc3RhY2tzOiBbJyonXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2xzJywgJy0tYXBwJywgJ25vZGUgYmluL215LWFwcC5qcycsICcqJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgIH0pLFxuICAgICAgY3dkOiAnL3Byb2plY3QnLFxuICAgIH0pLFxuICApO1xufSk7XG5cbnRlc3QoJ2xzIGFyZ3VtZW50cycsICgpID0+IHtcbiAgLy8gV0hFTlxuICBzcGF3blN5bmNNb2NrID0gamVzdC5zcHlPbihjaGlsZF9wcm9jZXNzLCAnc3Bhd25TeW5jJykubW9ja1JldHVyblZhbHVlKHtcbiAgICBzdGF0dXM6IDAsXG4gICAgc3RkZXJyOiBCdWZmZXIuZnJvbSgnc3RkZXJyJyksXG4gICAgc3Rkb3V0OiBCdWZmZXIuZnJvbSgndGVzdC1zdGFjazFcXG50ZXN0LXN0YWNrMicpLFxuICAgIHBpZDogMTIzLFxuICAgIG91dHB1dDogWydzdGRvdXQnLCAnc3RkZXJyJ10sXG4gICAgc2lnbmFsOiBudWxsLFxuICB9KTtcbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBlbnY6IHtcbiAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgbGlzdCA9IGNkay5saXN0KHtcbiAgICBhcHA6ICdub2RlIGJpbi9teS1hcHAuanMnLFxuICAgIHN0YWNrczogWycqJ10sXG4gICAgbG9uZzogdHJ1ZSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9jZGsvKSxcbiAgICBbJ2xzJywgJy0tbG9uZycsICctLWFwcCcsICdub2RlIGJpbi9teS1hcHAuanMnLCAnKiddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICBLRVk6ICd2YWx1ZScsXG4gICAgICB9KSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcblxuICBleHBlY3QobGlzdCkudG9FcXVhbCgndGVzdC1zdGFjazFcXG50ZXN0LXN0YWNrMicpO1xufSk7XG5cbnRlc3QoJ2NhbiBzeW50aCBmYXN0JywgKCkgPT4ge1xuICAvLyBXSEVOXG4gIGNvbnN0IGNkayA9IG5ldyBDZGtDbGlXcmFwcGVyKHtcbiAgICBkaXJlY3Rvcnk6ICcvcHJvamVjdCcsXG4gICAgZW52OiB7XG4gICAgICBLRVk6ICd2YWx1ZScsXG4gICAgfSxcbiAgfSk7XG4gIGNkay5zeW50aEZhc3Qoe1xuICAgIGV4ZWNDbWQ6IFsnbm9kZScsICdiaW4vbXktYXBwLmpzJ10sXG4gICAgb3V0cHV0OiAnY2RrLm91dHB1dCcsXG4gICAgZW52OiB7XG4gICAgICBPVEhFUktFWTogJ290aGVydmFsdWUnLFxuICAgIH0sXG4gICAgY29udGV4dDoge1xuICAgICAgQ09OVEVYVDogJ3ZhbHVlJyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzcGF3blN5bmNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAnbm9kZScsXG4gICAgWydiaW4vbXktYXBwLmpzJ10sXG4gICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgZW52OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIEtFWTogJ3ZhbHVlJyxcbiAgICAgICAgT1RIRVJLRVk6ICdvdGhlcnZhbHVlJyxcbiAgICAgICAgQ0RLX09VVERJUjogJ2Nkay5vdXRwdXQnLFxuICAgICAgICBDREtfQ09OVEVYVF9KU09OOiAne1xcXCJDT05URVhUXFxcIjpcXFwidmFsdWVcXFwifScsXG4gICAgICB9KSxcbiAgICAgIGN3ZDogJy9wcm9qZWN0JyxcbiAgICB9KSxcbiAgKTtcbn0pO1xuXG50ZXN0KCdjYW4gc2hvdyBvdXRwdXQnLCAoKSA9PiB7XG4gIC8vIFdIRU5cbiAgY29uc3QgY2RrID0gbmV3IENka0NsaVdyYXBwZXIoe1xuICAgIGRpcmVjdG9yeTogJy9wcm9qZWN0JyxcbiAgICBzaG93T3V0cHV0OiB0cnVlLFxuICB9KTtcbiAgY2RrLnN5bnRoRmFzdCh7XG4gICAgZXhlY0NtZDogWydub2RlJywgJ2Jpbi9teS1hcHAuanMnXSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3Bhd25TeW5jTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgJ25vZGUnLFxuICAgIFsnYmluL215LWFwcC5qcyddLFxuICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgIGVudjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdpbmhlcml0J10sXG4gICAgICBjd2Q6ICcvcHJvamVjdCcsXG4gICAgfSksXG4gICk7XG59KTtcbiJdfQ== \ No newline at end of file diff --git a/packages/cdk-cli-wrapper/tsconfig.json b/packages/cdk-cli-wrapper/tsconfig.json deleted file mode 100644 index 52f5c6e529175..0000000000000 --- a/packages/cdk-cli-wrapper/tsconfig.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "compilerOptions": { - "declarationMap": false, - "inlineSourceMap": true, - "inlineSources": true, - "alwaysStrict": true, - "declaration": true, - "experimentalDecorators": true, - "incremental": true, - "lib": [ - "es2020" - ], - "module": "CommonJS", - "noEmitOnError": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "stripInternal": false, - "target": "ES2020", - "composite": true, - "tsBuildInfoFile": "tsconfig.tsbuildinfo" - }, - "include": [ - "**/*.ts" - ], - "exclude": [ - "node_modules", - ".types-compat" - ], - "references": [ - { - "path": "../../tools/@aws-cdk/cdk-build-tools" - }, - { - "path": "../../tools/@aws-cdk/pkglint" - } - ], - "_generated_by_jsii_": "Generated by jsii - safe to delete, and ideally should be in .gitignore" -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 1819a4d0ae720..2b8f5b3e61795 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10178,7 +10178,6 @@ jsii-pacmak@1.93.0: xmlbuilder "^15.1.1" yargs "^16.2.0" - jsii-reflect@1.93.0, jsii-reflect@^1.93.0: version "1.93.0" resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.93.0.tgz#5b2dcb964a25e5886b3d5d23020485d02630d301" @@ -10247,7 +10246,6 @@ jsii@1.93.0, jsii@^1.93.0: typescript "~3.9.10" yargs "^16.2.0" - jsii@~5.2.41, jsii@~5.2.5: version "5.2.41" resolved "https://registry.npmjs.org/jsii/-/jsii-5.2.41.tgz#ba1ec85b2f0a92fed3163b028645d5bb62a97bd8" @@ -15161,4 +15159,3 @@ zip-stream@^4.1.0: archiver-utils "^3.0.4" compress-commons "^4.1.2" readable-stream "^3.6.0" - From b6c9eb6c5717ab996eda67db12b8b97c5197a160 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 15:32:18 +0100 Subject: [PATCH 11/20] fix: removed cdk-cki-wrapper due to unknown origin. Fix formatting --- .vscode/launch.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 936bf55717b05..66f6db80dcd14 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,7 +4,6 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - { // Has convenient settings for attaching to a NodeJS process for debugging purposes // that are NOT the default and otherwise every developers has to configure for From 6411defa15c91355f95885621374b9aaab338a67 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 15:52:18 +0100 Subject: [PATCH 12/20] fix: removed duplicate imports --- .../aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts index fbe47beac94dc..3a6f39b973ac6 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts @@ -1,4 +1,3 @@ -import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; import { Construct } from 'constructs'; @@ -29,12 +28,6 @@ import { toPosixPath } from '../private/fs'; import { actionName, stackVariableNamespace } from '../private/identifiers'; import { enumerate, flatten, maybeSuffix, noUndefined } from '../private/javascript'; import { writeTemplateConfiguration } from '../private/template-configuration'; -import { ArtifactMap } from './artifact-map'; -import { CodeBuildStep } from './codebuild-step'; -import { CodePipelineActionFactoryResult, ICodePipelineActionFactory } from './codepipeline-action-factory'; -import { CodeBuildFactory, mergeCodeBuildOptions } from './private/codebuild-factory'; -import { namespaceStepOutputs } from './private/outputs'; -import { StackOutputsMap } from './stack-outputs-map'; /** * Properties for a `CodePipeline` From e42fef9539efd09ca70a7cdb893f25bdc9ff4ef1 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 16:10:18 +0100 Subject: [PATCH 13/20] fix: formatting and import/order --- .../lib/blueprint/stack-deployment.ts | 6 ++---- .../lib/blueprint/stage-deployment.ts | 7 ++----- .../pipelines/lib/blueprint/step.ts | 4 ++-- .../pipelines/lib/blueprint/wave.ts | 2 -- .../lib/helpers-internal/pipeline-graph.ts | 19 +++---------------- .../helpers-internal/pipeline-graph.test.ts | 3 --- .../test/compliance/basic-behavior.test.ts | 4 +--- .../test/compliance/security-check.test.ts | 1 - 8 files changed, 10 insertions(+), 36 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts index 5a41ab177b7ae..faac9a8bec567 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stack-deployment.ts @@ -1,11 +1,9 @@ import * as path from 'path'; +import { AssetType } from './asset-type'; +import { Step } from './step'; import * as cxapi from '../../../cx-api'; import { AssetManifestReader, DockerImageManifestEntry, FileManifestEntry } from '../private/asset-manifest'; import { isAssetManifest } from '../private/cloud-assembly-internals'; -import { AssetType } from './asset-type'; -import { Step } from './step'; - - /** * Properties for a `StackDeployment` diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts index 7b46252d1e5c7..26459d2dd84b1 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/stage-deployment.ts @@ -1,11 +1,9 @@ +import { StackDeployment } from './stack-deployment'; +import { StackSteps, Step } from './step'; import * as cdk from '../../../core'; import { CloudFormationStackArtifact } from '../../../cx-api'; import { isStackArtifact } from '../private/cloud-assembly-internals'; import { pipelineSynth } from '../private/construct-internals'; -import { StackDeployment } from './stack-deployment'; -import { StackSteps, Step } from './step'; - - /** * Properties for a `StageDeployment` @@ -157,7 +155,6 @@ export class StageDeployment { */ public readonly prepareStep?: boolean; - private constructor( /** The stacks deployed in this stage */ public readonly stacks: StackDeployment[], diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts index 6fc586fb68ed5..d938fe94d2019 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/step.ts @@ -1,7 +1,7 @@ -import { Stack, Token } from '../../../core'; -import { StepOutput } from '../helpers-internal/step-output'; import { FileSet, IFileSetProducer } from './file-set'; import { StackOutputReference } from './shell-step'; +import { Stack, Token } from '../../../core'; +import { StepOutput } from '../helpers-internal/step-output'; /** * A generic Step which can be added to a Pipeline diff --git a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts index 1b9a82edac1fa..bb812b99e323e 100644 --- a/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts +++ b/packages/aws-cdk-lib/pipelines/lib/blueprint/wave.ts @@ -54,7 +54,6 @@ export class Wave { */ public readonly stages: StageDeployment[] = []; - constructor( /** Identifier for this Wave */ public readonly id: string, @@ -132,7 +131,6 @@ export interface AddStageOpts { */ readonly stackSteps?: StackSteps[]; - } /** diff --git a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts index f1195a9d32727..1766a83885fbb 100644 --- a/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts +++ b/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts @@ -1,20 +1,7 @@ -import { - AssetType, - FileSet, - StackAsset, - StackDeployment, - StageDeployment, - Step, - Wave, -} from '../blueprint'; -import { PipelineBase } from '../main/pipeline-base'; -import { - DependencyBuilders, - Graph, - GraphNode, - GraphNodeCollection, -} from './graph'; +import { DependencyBuilders, Graph, GraphNode, GraphNodeCollection } from './graph'; import { PipelineQueries } from './pipeline-queries'; +import { AssetType, FileSet, StackAsset, StackDeployment, StageDeployment, Step, Wave } from '../blueprint'; +import { PipelineBase } from '../main/pipeline-base'; export interface PipelineGraphProps { /** diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index 7adc647878207..3a6ed322c7ac1 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -114,7 +114,6 @@ describe('blueprint with wave and stage', () => { ]); }); - test('postPrepare and prepareNodes are added correctly inside stack graph', () => { // GIVEN const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); @@ -141,7 +140,6 @@ describe('blueprint with wave and stage', () => { // WHEN const graph = new PipelineGraph(blueprint).graph; - console.log(graph); // THEN expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ 'Prepare-Gamma-Stack1', @@ -153,7 +151,6 @@ describe('blueprint with wave and stage', () => { ]); }); - test('pre, changeSet, and post are added correctly inside stack graph', () => { // GIVEN const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts index a30167728c377..10d8e798d69b0 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/basic-behavior.test.ts @@ -1,13 +1,11 @@ /* eslint-disable import/no-extraneous-dependencies */ -import { Construct } from 'constructs'; import * as fs from 'fs'; import * as path from 'path'; +import { Construct } from 'constructs'; import { Capture, Match, Template } from '../../../assertions'; import { Stack, Stage, StageProps, Tags } from '../../../core'; import { BucketStack, LegacyTestGitHubNpmPipeline, ModernTestGitHubNpmPipeline, OneStackApp, PIPELINE_ENV, TestApp, behavior, stringLike } from '../testhelpers'; - - let app: TestApp; let pipelineStack: Stack; diff --git a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts index bda50d7ed6436..c8490c0648972 100644 --- a/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/compliance/security-check.test.ts @@ -328,7 +328,6 @@ behavior('confirmBroadeningPermissions and notification topic options generates function THEN_codePipelineExpectation() { Template.fromStack(pipelineStack).resourceCountIs('AWS::SNS::Topic', 1); - Template.fromStack(pipelineStack).hasResourceProperties( 'AWS::CodePipeline::Pipeline', { From 88610044b2b4837e690a4fa496441498c5eb004e Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 16:55:17 +0100 Subject: [PATCH 14/20] chore: added missing property @default for documentation --- packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts index 3a6f39b973ac6..fd6cb9a2fb3d0 100644 --- a/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts @@ -247,6 +247,7 @@ export interface CodePipelineProps { /** * If all "prepare" step should be placed all together as the first actions within a stage/wave + * @default - False */ readonly allPrepareNodesFirst?: boolean; From 9911de13c0db5ed7ec74161a783dd6f93d18f8b9 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Mon, 18 Dec 2023 17:21:44 +0100 Subject: [PATCH 15/20] fix: unit test --- .../helpers-internal/pipeline-graph.test.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index 3a6ed322c7ac1..638a1147413ca 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -116,9 +116,18 @@ describe('blueprint with wave and stage', () => { test('postPrepare and prepareNodes are added correctly inside stack graph', () => { // GIVEN + let blueprintWithAllPrepareNodesFirst: Blueprint; + beforeEach(() => { + blueprint = new Blueprint(app, 'Bp', { + synth: new cdkp.ShellStep('Synth', { + input: cdkp.CodePipelineSource.gitHub('test/test', 'main'), + commands: ['build'], + }), + }); + blueprintWithAllPrepareNodesFirst.addStage(new OneStackApp(app, 'CrossAccount', { env: { account: 'you' } })); const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - blueprint.waves[0].addStage(appWithExposedStacks, { + blueprintWithAllPrepareNodesFirst.waves[0].addStage(appWithExposedStacks, { postPrepare: [ new cdkp.ManualApprovalStep('Step1'), // new cdkp.ManualApprovalStep('Step2'), @@ -139,7 +148,7 @@ describe('blueprint with wave and stage', () => { }); // WHEN - const graph = new PipelineGraph(blueprint).graph; + const graph = new PipelineGraph(blueprintWithAllPrepareNodesFirst).graph; // THEN expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ 'Prepare-Gamma-Stack1', From 36582879945c32c14831b9f01c652e9a0ff4e898 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Tue, 19 Dec 2023 10:05:48 +0100 Subject: [PATCH 16/20] fix: test --- .../helpers-internal/pipeline-graph.test.ts | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index 638a1147413ca..a16e939a9af8f 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -118,21 +118,21 @@ describe('blueprint with wave and stage', () => { // GIVEN let blueprintWithAllPrepareNodesFirst: Blueprint; beforeEach(() => { - blueprint = new Blueprint(app, 'Bp', { + blueprintWithAllPrepareNodesFirst = new Blueprint(app, 'Bp', { synth: new cdkp.ShellStep('Synth', { input: cdkp.CodePipelineSource.gitHub('test/test', 'main'), commands: ['build'], }), }); - blueprintWithAllPrepareNodesFirst.addStage(new OneStackApp(app, 'CrossAccount', { env: { account: 'you' } })); - const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + blueprintWithAllPrepareNodesFirst.addStage(new OneStackApp(app, 'CrossAccount', { env: { account: 'you' } })); + const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - blueprintWithAllPrepareNodesFirst.waves[0].addStage(appWithExposedStacks, { - postPrepare: [ - new cdkp.ManualApprovalStep('Step1'), + blueprintWithAllPrepareNodesFirst.waves[0].addStage(appWithExposedStacks, { + postPrepare: [ + new cdkp.ManualApprovalStep('Step1'), // new cdkp.ManualApprovalStep('Step2'), // new cdkp.ManualApprovalStep('Step3'), - ], + ], // stackSteps: [ // { // stack, @@ -145,19 +145,21 @@ describe('blueprint with wave and stage', () => { // post: [new cdkp.ManualApprovalStep('Post Approval')], // }, // ], - }); + }); - // WHEN - const graph = new PipelineGraph(blueprintWithAllPrepareNodesFirst).graph; - // THEN - expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ - 'Prepare-Gamma-Stack1', - 'Step1', - 'Step2', - 'Step3', - 'Deploy', + // WHEN + const graph = new PipelineGraph(blueprintWithAllPrepareNodesFirst).graph; + // THEN + expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + 'Prepare-Gamma-Stack1', + 'Step1', + 'Step2', + 'Step3', + 'Deploy', + + ]); + }); - ]); }); test('pre, changeSet, and post are added correctly inside stack graph', () => { From 874c73f5751ff701ff27e4dd6b2c6b20381fefcc Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Tue, 19 Dec 2023 10:35:37 +0100 Subject: [PATCH 17/20] fix: unit-test --- .../helpers-internal/pipeline-graph.test.ts | 45 +++++++------------ 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index a16e939a9af8f..9d2c07f41cb23 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -116,23 +116,14 @@ describe('blueprint with wave and stage', () => { test('postPrepare and prepareNodes are added correctly inside stack graph', () => { // GIVEN - let blueprintWithAllPrepareNodesFirst: Blueprint; - beforeEach(() => { - blueprintWithAllPrepareNodesFirst = new Blueprint(app, 'Bp', { - synth: new cdkp.ShellStep('Synth', { - input: cdkp.CodePipelineSource.gitHub('test/test', 'main'), - commands: ['build'], - }), - }); - blueprintWithAllPrepareNodesFirst.addStage(new OneStackApp(app, 'CrossAccount', { env: { account: 'you' } })); - const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); - - blueprintWithAllPrepareNodesFirst.waves[0].addStage(appWithExposedStacks, { - postPrepare: [ - new cdkp.ManualApprovalStep('Step1'), + const appWithExposedStacks = new AppWithExposedStacks(app, 'Gamma'); + + blueprint.waves[0].addStage(appWithExposedStacks, { + postPrepare: [ + new cdkp.ManualApprovalStep('Step1'), // new cdkp.ManualApprovalStep('Step2'), // new cdkp.ManualApprovalStep('Step3'), - ], + ], // stackSteps: [ // { // stack, @@ -145,21 +136,19 @@ describe('blueprint with wave and stage', () => { // post: [new cdkp.ManualApprovalStep('Post Approval')], // }, // ], - }); - - // WHEN - const graph = new PipelineGraph(blueprintWithAllPrepareNodesFirst).graph; - // THEN - expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ - 'Prepare-Gamma-Stack1', - 'Step1', - 'Step2', - 'Step3', - 'Deploy', - - ]); }); + // WHEN + const graph = new PipelineGraph(blueprint, { allPrepareNodesFirst: true }).graph; + // THEN + expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + 'Prepare-Gamma-Stack1', + 'Step1', + 'Step2', + 'Step3', + 'Deploy', + + ]); }); test('pre, changeSet, and post are added correctly inside stack graph', () => { From dfdde83caa4885bb4015ca5e71905732ea638073 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Tue, 19 Dec 2023 11:57:57 +0100 Subject: [PATCH 18/20] fix: unit-test --- .../helpers-internal/pipeline-graph.test.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts index 9d2c07f41cb23..14d6093e552a2 100644 --- a/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts +++ b/packages/aws-cdk-lib/pipelines/test/blueprint/helpers-internal/pipeline-graph.test.ts @@ -141,14 +141,18 @@ describe('blueprint with wave and stage', () => { // WHEN const graph = new PipelineGraph(blueprint, { allPrepareNodesFirst: true }).graph; // THEN - expect(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')).toEqual([ + // console.log(childrenAt(graph, 'Wave', 'Gamma')); + // console.log(childrenAt(graph, 'Wave', 'Gamma', 'Stack1')); + expect(childrenAt(graph, 'Wave', 'Gamma')).toEqual([ 'Prepare-Gamma-Stack1', + 'Prepare-Gamma-Stack2', + 'Prepare-Gamma-Stack3', 'Step1', - 'Step2', - 'Step3', - 'Deploy', - + 'Stack1', + 'Stack2', + 'Stack3', ]); + }); test('pre, changeSet, and post are added correctly inside stack graph', () => { From 87ee3a0bbd7637a0277bfb4eeecb4e5a45f7faa1 Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Tue, 19 Dec 2023 12:16:39 +0100 Subject: [PATCH 19/20] fix: inted test updated --- .../test/pipelines/test/integ.newpipeline.ts | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts index c3cf72091843e..279243c21cdb3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline.ts @@ -3,7 +3,6 @@ import { App, Fn, Stack, StackProps, Stage, StageProps } from 'aws-cdk-lib'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; -import * as s3 from 'aws-cdk-lib/aws-s3'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; @@ -76,7 +75,6 @@ class PipelineStack extends Stack { } - class AppStage extends Stage { public readonly stack1: Stack; public readonly stack2: Stack; @@ -101,7 +99,6 @@ class AppStage extends Stage { // this.stack1 = new Stack(this, 'Stack1'); - // // new sqs.Queue(this.stack2, 'OtherQueue', { deadLetterQueue: { queue: q1, maxReceiveCount: 1 } }); // } // } @@ -129,15 +126,5 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': '1', }, }); - - -const pipeStack = new PipelineStack( - app, - 'PipelineStack', -); - -new IntegTest(app, 'Integ', { - testCases: [pipeStack], -}); +new PipelineStack(app, 'PipelineStack'); app.synth(); - From 81375a3b8a9353145bc7b790cd2b4ecb87005b7b Mon Sep 17 00:00:00 2001 From: Nico Schmidt Date: Tue, 19 Dec 2023 13:04:07 +0100 Subject: [PATCH 20/20] fix: removed no-multi-empty-line --- .../test/pipelines/test/integ.newpipeline-with-vpc.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts index e4bea489fb761..2febdca4644b6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-vpc.ts @@ -9,7 +9,6 @@ import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; import * as path from 'path'; - class PipelineStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props);