From c332affa028a2fd474a3acb656eeab881054a52c Mon Sep 17 00:00:00 2001 From: Nikita Burtsev Date: Fri, 15 Mar 2024 17:44:27 +0100 Subject: [PATCH 01/12] fix: import should write overrideTemplate to assembly.outdir --- packages/aws-cdk/lib/api/util/template-body-parameter.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/aws-cdk/lib/api/util/template-body-parameter.ts b/packages/aws-cdk/lib/api/util/template-body-parameter.ts index 150675ac5924b..0b036cc2cd244 100644 --- a/packages/aws-cdk/lib/api/util/template-body-parameter.ts +++ b/packages/aws-cdk/lib/api/util/template-body-parameter.ts @@ -1,3 +1,4 @@ +import * as path from 'path'; import * as cxapi from '@aws-cdk/cx-api'; import * as chalk from 'chalk'; import * as fs from 'fs-extra'; @@ -68,7 +69,8 @@ export async function makeBodyParameter( if (overrideTemplate) { // Add a variant of this template templateFile = `${stack.templateFile}-${templateHash}.yaml`; - await fs.writeFile(templateFile, templateJson, { encoding: 'utf-8' }); + const templateFilePath = path.join(stack.assembly.directory, templateFile); + await fs.writeFile(templateFilePath, templateJson, { encoding: 'utf-8' }); } assetManifest.addFileAsset(templateHash, { From 8b5e5cba3be6b3b911b66391ff4bc80ef51ee8f5 Mon Sep 17 00:00:00 2001 From: Nikita Burtsev Date: Sat, 23 Mar 2024 18:49:01 +0100 Subject: [PATCH 02/12] fix: update cli import test to ensure template tiss larger than 50kb --- .../cli-integ/resources/cdk-apps/app/app.js | 9 +++++++++ .../cli-integ/tests/cli-integ-tests/cli.integtest.ts | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js index a5524ae7a8e26..23c58bf71eda3 100755 --- a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js +++ b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js @@ -140,6 +140,15 @@ class MigrateStack extends cdk.Stack { value: queue.node.defaultChild.logicalId, }); } + + if (process.env.LARGE_TEMPLATE) { + for (let i = 0; i < 70; i++) { + const q = new sqs.Queue(this, `cdk-import-queue-test${i}`, { + enforceSSL: true, + }); + } + } + if (process.env.SAMPLE_RESOURCES) { const myTopic = new sns.Topic(this, 'migratetopic1', { removalPolicy: cdk.RemovalPolicy.DESTROY, diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 3c69673e775ba..1e41e1f444c74 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1431,7 +1431,7 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { // Initial deploy await fixture.cdkDeploy('importable-stack', { - modEnv: { ORPHAN_TOPIC: '1' }, + modEnv: { ORPHAN_TOPIC: '1', LARGE_TEMPLATE: '1' }, options: ['--outputs-file', outputsFile], }); @@ -1442,7 +1442,7 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { try { // Deploy again, orphaning the queue await fixture.cdkDeploy('importable-stack', { - modEnv: { OMIT_TOPIC: '1' }, + modEnv: { OMIT_TOPIC: '1', LARGE_TEMPLATE: '1' }, }); // Write a resource mapping file based on the ID from step one, then run an import From 75a5dcbceecf3a5cb8498aecdf54cf3b9bbe959f Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Wed, 8 May 2024 16:12:05 -0400 Subject: [PATCH 03/12] in progress --- .vscode/launch.json | 17 +++++------ .../cli-integ/resources/cdk-apps/app/app.js | 22 ++++++++++---- .../tests/cli-integ-tests/cli.integtest.ts | 30 +++++++++++++++---- 3 files changed, 47 insertions(+), 22 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 66f6db80dcd14..d2394960be91a 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,17 +5,14 @@ "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 - // themselves again and again. "type": "node", - "request": "attach", - "name": "Attach to NodeJS", - // If we don't do this, every step-into into an async function call will go into - // NodeJS internals which are hard to step out of. - "skipFiles": [ - "/**" - ], + "request": "launch", + "args": ["-a", "cli-integ-tests", "-t", "test resource import"], + "name": "debug integ tests", + "program": "/Users/bergjak/workplace/CDK/aws-cdk/packages/@aws-cdk-testing/cli-integ/bin/run-suite", + "console": "integratedTerminal", + "sourceMaps": true, + "skipFiles": [ "/**/*" ], // Saves some button-pressing latency on attaching "stopOnEntry": false } diff --git a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js index 1ad9384f45bd9..4eb0d645197b3 100755 --- a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js +++ b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js @@ -199,16 +199,26 @@ class MigrateStack extends cdk.Stack { new cdk.CfnOutput(this, 'QueueLogicalId', { value: queue.node.defaultChild.logicalId, }); - } - if (process.env.LARGE_TEMPLATE) { - for (let i = 0; i < 70; i++) { - const q = new sqs.Queue(this, `cdk-import-queue-test${i}`, { - enforceSSL: true, - }); + if (process.env.LARGE_TEMPLATE) { + for (let i = 0; i < 70; i++) { + const q = new sqs.Queue(this, `cdk-import-queue-test${i}`, { + enforceSSL: true, + removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, + }); + + new cdk.CfnOutput(this, `QueueName${i}`, { + value: q.queueName, + }); + + new cdk.CfnOutput(this, `QueueLogicalId${i}`, { + value: q.node.defaultChild.logicalId, + }); + } } } + if (process.env.SAMPLE_RESOURCES) { const myTopic = new sns.Topic(this, 'migratetopic1', { removalPolicy: cdk.RemovalPolicy.DESTROY, diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 13a23ef9c2330..4e2ba8081dcf7 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1580,6 +1580,7 @@ integTest('skips notice refresh', withDefaultFixture(async (fixture) => { integTest('test resource import', withDefaultFixture(async (fixture) => { const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json'); await fs.mkdir(path.dirname(outputsFile), { recursive: true }); + const fullStackName = fixture.fullStackName('importable-stack'); // Initial deploy await fixture.cdkDeploy('importable-stack', { @@ -1588,25 +1589,42 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { }); const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); - const queueName = outputs.QueueName; - const queueLogicalId = outputs.QueueLogicalId; - fixture.log(`Setup complete, created queue ${queueName}`); + fixture.log('Setup complete'); try { - // Deploy again, orphaning the queue + // Deploy again, orphaning the queues await fixture.cdkDeploy('importable-stack', { modEnv: { OMIT_TOPIC: '1', LARGE_TEMPLATE: '1' }, }); // Write a resource mapping file based on the ID from step one, then run an import const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json'); - await fs.writeFile(mappingFile, JSON.stringify({ [queueLogicalId]: { QueueName: queueName } }), { encoding: 'utf-8' }); + type QueueMap = { + [queueLogicalId: string]: { QueueName: string }; + }; + + let queues: QueueMap = {}; + + for (let i = 1; i <= 70; i++) { + const queueName = outputs[fullStackName][`QueueName${i}`]; + const queueLogicalId = outputs[fullStackName][`QueueLogicalId${i}`]; + + queues[queueLogicalId] = { QueueName: queueName }; + } + + const jsonFile = JSON.stringify(queues); + await fs.writeFile( + mappingFile, + jsonFile, + { encoding: 'utf-8' }, + ); await fixture.cdk(['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')]); } finally { + fixture.log('what'); // Cleanup - await fixture.cdkDestroy('importable-stack'); + // await fixture.cdkDestroy('importable-stack'); } })); From c52067645272ddadae841c2449b1e98c1723d533 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Thu, 9 May 2024 10:39:30 -0400 Subject: [PATCH 04/12] made test actually work --- .../cli-integ/resources/cdk-apps/app/app.js | 12 ++++----- .../tests/cli-integ-tests/cli.integtest.ts | 25 ++++++++++++------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js index 4eb0d645197b3..845e72bf0590e 100755 --- a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js +++ b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js @@ -183,7 +183,7 @@ class MigrateStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); - if (!process.env.OMIT_TOPIC) { + if (process.env.OMIT_TOPIC !== '1') { const queue = new sqs.Queue(this, 'Queue', { removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, }); @@ -201,19 +201,19 @@ class MigrateStack extends cdk.Stack { }); if (process.env.LARGE_TEMPLATE) { - for (let i = 0; i < 70; i++) { + for (let i = 1; i <= 2; i++) { const q = new sqs.Queue(this, `cdk-import-queue-test${i}`, { enforceSSL: true, removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, }); - new cdk.CfnOutput(this, `QueueName${i}`, { - value: q.queueName, - }); - new cdk.CfnOutput(this, `QueueLogicalId${i}`, { value: q.node.defaultChild.logicalId, }); + + new cdk.CfnOutput(this, `QueueUrl${i}`, { + value: q.queueUrl, + }); } } } diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 4e2ba8081dcf7..1c3700221752d 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1599,16 +1599,16 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { // Write a resource mapping file based on the ID from step one, then run an import const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json'); type QueueMap = { - [queueLogicalId: string]: { QueueName: string }; + [queueLogicalId: string]: { QueueUrl: string }; }; let queues: QueueMap = {}; - for (let i = 1; i <= 70; i++) { - const queueName = outputs[fullStackName][`QueueName${i}`]; + for (let i = 1; i <= 2; i++) { + const queueUrl = outputs[fullStackName][`QueueUrl${i}`]; const queueLogicalId = outputs[fullStackName][`QueueLogicalId${i}`]; - queues[queueLogicalId] = { QueueName: queueName }; + queues[queueLogicalId] = { QueueUrl: queueUrl }; } const jsonFile = JSON.stringify(queues); @@ -1618,13 +1618,20 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { { encoding: 'utf-8' }, ); - await fixture.cdk(['import', - '--resource-mapping', mappingFile, - fixture.fullStackName('importable-stack')]); + // I AM NOT SURE IF SYNTH IS ACTUALLY NEEDED HERE + let out = await fixture.cdkSynth({ modEnv: { OMIT_TOPIC: '0', LARGE_TEMPLATE: '1' } }); + // eslint-disable-next-line no-console + console.log(out); + + out = await fixture.cdk( + ['import', '-m', mappingFile, fixture.fullStackName('importable-stack')], + { modEnv: { OMIT_TOPIC: '0', LARGE_TEMPLATE: '1' } }, + ); + // eslint-disable-next-line no-console + console.log(out); } finally { - fixture.log('what'); // Cleanup - // await fixture.cdkDestroy('importable-stack'); + await fixture.cdkDestroy('importable-stack'); } })); From a6f2c82f71b3dadc4ada24f06476ad418b64620f Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Thu, 9 May 2024 17:29:16 -0400 Subject: [PATCH 05/12] made test pass --- .vscode/launch.json | 17 +- .../@aws-cdk-testing/cli-integ/package.json | 7 +- .../cli-integ/resources/cdk-apps/app/app.js | 27 +- .../tests/cli-integ-tests/cli.integtest.ts | 68 ++- yarn.lock | 505 ++++++++++++++++-- 5 files changed, 530 insertions(+), 94 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index d2394960be91a..66f6db80dcd14 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,14 +5,17 @@ "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 + // themselves again and again. "type": "node", - "request": "launch", - "args": ["-a", "cli-integ-tests", "-t", "test resource import"], - "name": "debug integ tests", - "program": "/Users/bergjak/workplace/CDK/aws-cdk/packages/@aws-cdk-testing/cli-integ/bin/run-suite", - "console": "integratedTerminal", - "sourceMaps": true, - "skipFiles": [ "/**/*" ], + "request": "attach", + "name": "Attach to NodeJS", + // If we don't do this, every step-into into an async function call will go into + // NodeJS internals which are hard to step out of. + "skipFiles": [ + "/**" + ], // Saves some button-pressing latency on attaching "stopOnEntry": false } diff --git a/packages/@aws-cdk-testing/cli-integ/package.json b/packages/@aws-cdk-testing/cli-integ/package.json index 44ae905358779..fd5243b244e47 100644 --- a/packages/@aws-cdk-testing/cli-integ/package.json +++ b/packages/@aws-cdk-testing/cli-integ/package.json @@ -30,14 +30,15 @@ "license": "Apache-2.0", "devDependencies": { "@aws-cdk/cdk-build-tools": "0.0.0", - "@types/semver": "^7.5.8", - "@types/yargs": "^15.0.19", + "@aws-cdk/pkglint": "0.0.0", "@types/fs-extra": "^9.0.13", "@types/glob": "^7.2.0", "@types/npm": "^7.19.3", - "@aws-cdk/pkglint": "0.0.0" + "@types/semver": "^7.5.8", + "@types/yargs": "^15.0.19" }, "dependencies": { + "@aws-sdk/client-cloudformation": "^3.572.0", "@octokit/rest": "^18.12.0", "aws-sdk": "^2.1610.0", "axios": "^1.6.8", diff --git a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js index 845e72bf0590e..0e9195fe94796 100755 --- a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js +++ b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js @@ -183,9 +183,9 @@ class MigrateStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); - if (process.env.OMIT_TOPIC !== '1') { + if (process.env.INCLUDE_SINGLE_QUEUE === '1') { const queue = new sqs.Queue(this, 'Queue', { - removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, + removalPolicy: (process.env.RETAIN_SINGLE_QUEUE === '1') ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, }); new cdk.CfnOutput(this, 'QueueName', { @@ -199,26 +199,17 @@ class MigrateStack extends cdk.Stack { new cdk.CfnOutput(this, 'QueueLogicalId', { value: queue.node.defaultChild.logicalId, }); + } - if (process.env.LARGE_TEMPLATE) { - for (let i = 1; i <= 2; i++) { - const q = new sqs.Queue(this, `cdk-import-queue-test${i}`, { - enforceSSL: true, - removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, - }); - - new cdk.CfnOutput(this, `QueueLogicalId${i}`, { - value: q.node.defaultChild.logicalId, - }); - - new cdk.CfnOutput(this, `QueueUrl${i}`, { - value: q.queueUrl, - }); - } + if (process.env.LARGE_TEMPLATE === '1') { + for (let i = 1; i <= 70; i++) { + new sqs.Queue(this, `cdk-import-queue-test${i}`, { + enforceSSL: true, + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); } } - if (process.env.SAMPLE_RESOURCES) { const myTopic = new sns.Topic(this, 'migratetopic1', { removalPolicy: cdk.RemovalPolicy.DESTROY, diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 1c3700221752d..c911817e1a754 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1,6 +1,7 @@ import { promises as fs, existsSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; +import * as CFN from '@aws-sdk/client-cloudformation'; import { integTest, cloneDirectory, shell, withDefaultFixture, retry, sleep, randomInteger, withSamIntegrationFixture, RESOURCES_DIR, withCDKMigrateFixture, withExtendedTimeoutFixture } from '../../lib'; jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime @@ -1575,62 +1576,60 @@ integTest('skips notice refresh', withDefaultFixture(async (fixture) => { })); /** - * Create a queue with a fresh name, redeploy orphaning the queue, then import it again + * Create a queue, orphan that queue, then import the queue. + * + * We want to test with a large template to make sure large templates can work with import. */ integTest('test resource import', withDefaultFixture(async (fixture) => { + // GIVEN const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json'); await fs.mkdir(path.dirname(outputsFile), { recursive: true }); - const fullStackName = fixture.fullStackName('importable-stack'); - // Initial deploy await fixture.cdkDeploy('importable-stack', { - modEnv: { ORPHAN_TOPIC: '1', LARGE_TEMPLATE: '1' }, + modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '1' }, options: ['--outputs-file', outputsFile], }); const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); fixture.log('Setup complete'); - try { - // Deploy again, orphaning the queues - await fixture.cdkDeploy('importable-stack', { - modEnv: { OMIT_TOPIC: '1', LARGE_TEMPLATE: '1' }, - }); + const cfnClient = new CFN.CloudFormationClient(); + let queues: { [queueLogicalId: string]: { QueueUrl: string } } = {}; + try { // Write a resource mapping file based on the ID from step one, then run an import const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json'); - type QueueMap = { - [queueLogicalId: string]: { QueueUrl: string }; - }; - - let queues: QueueMap = {}; - - for (let i = 1; i <= 2; i++) { - const queueUrl = outputs[fullStackName][`QueueUrl${i}`]; - const queueLogicalId = outputs[fullStackName][`QueueLogicalId${i}`]; + const fullStackName = fixture.fullStackName('importable-stack'); + const queueUrl = outputs[fullStackName].QueueUrl; + const queueLogicalId = outputs[fullStackName].QueueLogicalId; + queues[queueLogicalId] = { QueueUrl: queueUrl }; - queues[queueLogicalId] = { QueueUrl: queueUrl }; - } + // Remove the queue from the stack but don't delete the queue from AWS + await fixture.cdkDeploy('importable-stack', { + modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '0', RETAIN_SINGLE_QUEUE: '0' }, + }); + const cfnTemplateBeforeImport = await cfnClient.send(new CFN.GetTemplateCommand({ StackName: fullStackName })); + expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(queueLogicalId); - const jsonFile = JSON.stringify(queues); await fs.writeFile( mappingFile, - jsonFile, + JSON.stringify(queues), { encoding: 'utf-8' }, ); - // I AM NOT SURE IF SYNTH IS ACTUALLY NEEDED HERE - let out = await fixture.cdkSynth({ modEnv: { OMIT_TOPIC: '0', LARGE_TEMPLATE: '1' } }); - // eslint-disable-next-line no-console - console.log(out); - - out = await fixture.cdk( + // WHEN + await fixture.cdk( ['import', '-m', mappingFile, fixture.fullStackName('importable-stack')], - { modEnv: { OMIT_TOPIC: '0', LARGE_TEMPLATE: '1' } }, + { modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '0' } }, ); - // eslint-disable-next-line no-console - console.log(out); + + // THEN + const describeStacksResponse = await cfnClient.send(new CFN.DescribeStacksCommand({ StackName: fullStackName })); + const cfnTemplateAfterImport = await cfnClient.send(new CFN.GetTemplateCommand({ StackName: fullStackName })); + expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); + expect(describeStacksResponse.Stacks![0].StackStatus).toEqual('IMPORT_COMPLETE'); + expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); } finally { - // Cleanup + // Clean up await fixture.cdkDestroy('importable-stack'); } })); @@ -1641,10 +1640,9 @@ integTest('test migrate deployment for app with localfile source in migrate.json // Initial deploy await fixture.cdkDeploy('migrate-stack', { - modEnv: { ORPHAN_TOPIC: '1' }, + modEnv: { LARGE_TEMPLATE: '0', RETAIN_SINGLE_QUEUE: '1', INCLUDE_SINGLE_QUEUE: '1' }, options: ['--outputs-file', outputsFile], }); - const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); const stackName = fixture.fullStackName('migrate-stack'); const queueName = outputs[stackName].QueueName; @@ -1667,7 +1665,7 @@ integTest('test migrate deployment for app with localfile source in migrate.json // Create new stack from existing queue try { fixture.log(`Deploying new stack ${fixture.fullStackName}, migrating ${queueName} into stack`); - await fixture.cdkDeploy('migrate-stack'); + await fixture.cdkDeploy('migrate-stack', { modEnv: { LARGE_TEMPLATE: '0', RETAIN_SINGLE_QUEUE: '0', INCLUDE_SINGLE_QUEUE: '1' } }); } finally { // Cleanup await fixture.cdkDestroy('migrate-stack'); diff --git a/yarn.lock b/yarn.lock index 8b4c5897c2b27..f5636980dfb31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -400,6 +400,55 @@ tslib "^2.6.2" uuid "^9.0.1" +"@aws-sdk/client-cloudformation@^3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.572.0.tgz#24b113820ca1d4e03befb3ebe48c9efee2913d43" + integrity sha512-P9yn21hSXQUQ7b1Fdi0GTNyuX6TOpjP/pdQxtiHyRuhE2o7eTOz2vu8+i6HzN2G1yL3hnoWPjagFiwHpuUKufw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sso-oidc" "3.572.0" + "@aws-sdk/client-sts" "3.572.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + "@smithy/util-waiter" "^2.2.0" + tslib "^2.6.2" + uuid "^9.0.1" + "@aws-sdk/client-cloudwatch-logs@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.421.0.tgz#90de138ba92487ee8d6ac989994c62c5c5e64f3d" @@ -1529,6 +1578,52 @@ tslib "^2.5.0" uuid "^8.3.2" +"@aws-sdk/client-sso-oidc@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.572.0.tgz#0abe3282c0900f0641770a928d31221a06df494d" + integrity sha512-S6C/S6xYesDakEuzYvlY1DMMKLtKQxdbbygq3hfeG2R0jUt9KpRLsQXK8qrBuVCKa3WcnjN/30hp4g/iUWFU/w== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.572.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/client-sso@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.421.0.tgz#794350d63bd6b327f4919460ae908a1a39585165" @@ -1655,6 +1750,50 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" +"@aws-sdk/client-sso@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.572.0.tgz#d686db985b4c430dbfa6854c8fa1c17de2c3d7ac" + integrity sha512-S+xhScao5MD79AkrcHmFpEDk+CgoiuB/31WFcTcnrTio5TOUONAaT0QyscOIwRp7BZ7Aez7TBM+loTteJ+TQvg== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/client-sts@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.421.0.tgz#1c7b3265be3acb609159533c24421da4e9466570" @@ -1745,6 +1884,52 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" +"@aws-sdk/client-sts@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.572.0.tgz#75437254cb314a0a0cdb7b28887d502442167408" + integrity sha512-jCQuH2qkbWoSY4wckLSfzf3OPh7zc7ZckEbIGGVUQar/JVff6EIbpQ+uNG29DDEOpdPPd8rrJsVuUlA/nvJdXA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sso-oidc" "3.572.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/client-synthetics@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-synthetics/-/client-synthetics-3.421.0.tgz#fbc848916f51255d883c1b3b5240f8975842daba" @@ -1809,6 +1994,19 @@ fast-xml-parser "4.2.5" tslib "^2.6.2" +"@aws-sdk/core@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/core/-/core-3.572.0.tgz#875cbd9e2ca6b78a3c2663cf67aed24e6b143667" + integrity sha512-DBmf94qfN0dfaLl5EnNcq6TakWfOtVXYifHoTbX+VBwESj3rlY4W+W4mAnvBgAqDjlLFy7bBljmx+vnjnV73lg== + dependencies: + "@smithy/core" "^1.4.2" + "@smithy/protocol-http" "^3.3.0" + "@smithy/signature-v4" "^2.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + fast-xml-parser "4.2.5" + tslib "^2.6.2" + "@aws-sdk/credential-provider-cognito-identity@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.421.0.tgz#d06bf11df56896feb048e057b02e98b1870bd388" @@ -1850,6 +2048,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-env@3.568.0": + version "3.568.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.568.0.tgz#fc7fda0bc48bbc75065a9084e41d429037e0e1c5" + integrity sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-http@3.552.0": version "3.552.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.552.0.tgz#ecc88d02cba95621887e6b85b2583e756ad29eb6" @@ -1865,6 +2073,21 @@ "@smithy/util-stream" "^2.2.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-http@3.568.0": + version "3.568.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.568.0.tgz#7f7239bed7c23db7356ebeae5f3b3bda9f751b08" + integrity sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/util-stream" "^2.2.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-ini@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.421.0.tgz#b58f8fd095c4389926d0e53ed2b775b184d03ec2" @@ -1913,6 +2136,22 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.572.0.tgz#b6a447e85a10938a1f038bd7e1096c73229e6699" + integrity sha512-05KzbAp77fEiQXqMeodXeMbT83FOqSyBrfSEMz6U8uBXeJCy8zPUjN3acqcbG55/HNJHUvg1cftqzy+fUz71gA== + dependencies: + "@aws-sdk/credential-provider-env" "3.568.0" + "@aws-sdk/credential-provider-process" "3.572.0" + "@aws-sdk/credential-provider-sso" "3.572.0" + "@aws-sdk/credential-provider-web-identity" "3.568.0" + "@aws-sdk/types" "3.567.0" + "@smithy/credential-provider-imds" "^2.3.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-node@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.421.0.tgz#3d1793ee47d0335532eb01a23cbb7d5320dd3056" @@ -1965,6 +2204,24 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-node@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.572.0.tgz#dbb1d26a8a2c18c52f8067f6c6371ee850c1fb05" + integrity sha512-anlYZnpmVkfp9Gan+LcEkQvmRf/m0KcbR11th8sBEyI5lxMaHKXhnAtC/hEGT7e3L6rgNOrFYTPuSvllITD/Pg== + dependencies: + "@aws-sdk/credential-provider-env" "3.568.0" + "@aws-sdk/credential-provider-http" "3.568.0" + "@aws-sdk/credential-provider-ini" "3.572.0" + "@aws-sdk/credential-provider-process" "3.572.0" + "@aws-sdk/credential-provider-sso" "3.572.0" + "@aws-sdk/credential-provider-web-identity" "3.568.0" + "@aws-sdk/types" "3.567.0" + "@smithy/credential-provider-imds" "^2.3.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-process@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.418.0.tgz#1cb6d816bd471db3f9724715b007035ef18b5b2b" @@ -1998,6 +2255,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-process@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.572.0.tgz#6054c37721d44b3e855b41f4ad8e3dd73f84e6cf" + integrity sha512-hXcOytf0BadSm/MMy7MV8mmY0+Jv3mkavsHNBx0R82hw5ollD0I3JyOAaCtdUpztF0I72F8K+q8SpJQZ+EwArw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-sso@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.421.0.tgz#1863eabf232dd6add900e045e36a0e6c1213e31c" @@ -2037,6 +2305,19 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.572.0.tgz#d0fe8122538fc498e9d4f797dfe99eed5bfc7443" + integrity sha512-iIlnpJiDXFp3XC4hJNSiNurnU24mr3iLB3HoNa9efr944bo6XBl9FQdk3NssIkqzSmgyoB2CEUx/daBHz4XSow== + dependencies: + "@aws-sdk/client-sso" "3.572.0" + "@aws-sdk/token-providers" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-web-identity@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.418.0.tgz#c2aed2a79bf193c1fef2b98391aaa9de7336aaaf" @@ -2067,6 +2348,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-web-identity@3.568.0": + version "3.568.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.568.0.tgz#b4e7958dc92a6cbbf5e9fd065cecd76573d4b70f" + integrity sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-providers@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.421.0.tgz#567d4b7ae00809d7d4f8dce088e6ed5b5e622b7b" @@ -2212,6 +2503,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-host-header@3.567.0": + version "3.567.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.567.0.tgz#52f278234458ec3035e9534fee582c95a8fec4f7" + integrity sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-location-constraint@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.418.0.tgz#e62e213a72ce583ba6135db51dcc60d07825b8ee" @@ -2257,6 +2558,15 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-logger@3.568.0": + version "3.568.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.568.0.tgz#aeb85cc8f7da431442d0f5914f3a3e262eb55a09" + integrity sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-recursion-detection@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.418.0.tgz#2bb80d084f946846ad4907f3d6e0b451787d62b1" @@ -2287,6 +2597,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-recursion-detection@3.567.0": + version "3.567.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.567.0.tgz#95d91f071b57fb5245d522db70df1652275f06ac" + integrity sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-sdk-ec2@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.418.0.tgz#eac7054b128645c5a040c8e95b5cf92c7994d2fd" @@ -2444,6 +2764,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-user-agent@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.572.0.tgz#e629083356e3ea1303544240be82e2784d768984" + integrity sha512-R4bBbLp1ywtF1kJoOX1juDMztKPWeQHNj6XuTvtruFDn1RdfnBlbM3+9rguRfH5s4V+xfl8SSWchnyo2cI00xg== + dependencies: + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/node-http-handler@^3.370.0": version "3.374.0" resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.374.0.tgz#8cd58b4d9814713e26034c12eabc119c113a5bc4" @@ -2486,6 +2817,18 @@ "@smithy/util-middleware" "^2.2.0" tslib "^2.6.2" +"@aws-sdk/region-config-resolver@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.572.0.tgz#51a4485bf1b1c3a154fe96e8b9fc0a1e80240fef" + integrity sha512-xkZMIxek44F4YW5r9otD1O5Y/kDkgAb6JNJePkP1qPVojrkCmin3OFYAOZgGm+T4DZAQ5rWhpaqTAWmnRumYfw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/types" "^2.12.0" + "@smithy/util-config-provider" "^2.3.0" + "@smithy/util-middleware" "^2.2.0" + tslib "^2.6.2" + "@aws-sdk/s3-request-presigner@3.451.0": version "3.451.0" resolved "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.451.0.tgz#1728993a547017f739c9c24af2d8e058e8873c4f" @@ -2617,6 +2960,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/token-providers@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.572.0.tgz#b63ef02f1700057e9f4532365cd098699b0f8328" + integrity sha512-IkSu8p32tQZhKqwmfLZLGfYwNhsS/HUQBLnDMHJlr9VifmDqlTurcr+DwMCaMimuFhcLeb45vqTymKf/ro/OBw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/types@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.418.0.tgz#c23213110b0c313d5546c810da032a441682f49a" @@ -2641,6 +2995,14 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/types@3.567.0": + version "3.567.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.567.0.tgz#b2dc88e154140b1ff87e94f63c97447bdb1c1738" + integrity sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A== + dependencies: + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/util-arn-parser@3.310.0": version "3.310.0" resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz#861ff8810851be52a320ec9e4786f15b5fc74fba" @@ -2675,6 +3037,16 @@ "@smithy/util-endpoints" "^1.2.0" tslib "^2.6.2" +"@aws-sdk/util-endpoints@3.572.0": + version "3.572.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.572.0.tgz#41a42cbeb6744f5cf0b983c1b9dd958cb0bd66e0" + integrity sha512-AIEC7ItIWBqkJLtqcSd0HG8tvdh3zVwqnKPHNrcfFay0Xonqx3p/qTCDwGosh5CM5hDGzyOSRA5PkacEDBTz9w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + "@smithy/util-endpoints" "^1.2.0" + tslib "^2.6.2" + "@aws-sdk/util-format-url@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.418.0.tgz#85035e704f5996189aeec2a7bd08265bcd87f1e1" @@ -2732,6 +3104,16 @@ bowser "^2.11.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-browser@3.567.0": + version "3.567.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.567.0.tgz#1ef37a87b28155274d62e31c1ac5c1c043dcd0b3" + integrity sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + bowser "^2.11.0" + tslib "^2.6.2" + "@aws-sdk/util-user-agent-node@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.418.0.tgz#7d5a1c82ce3265ff0f70b13d58d08593113ab99a" @@ -2762,6 +3144,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-node@3.568.0": + version "3.568.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.568.0.tgz#8bfb81b23d4947462f1e49c70187b85e7cd3837a" + integrity sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/util-utf8-browser@^3.0.0": version "3.259.0" resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" @@ -5403,7 +5795,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@7.18.2", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.18.2" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== @@ -7059,6 +7451,11 @@ co@^4.6.0: resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + codemaker@^1.98.0: version "1.98.0" resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.98.0.tgz#cd4f2667c69857162193fe1abbbaad90fe3eed38" @@ -7118,11 +7515,6 @@ color@^3.1.3: color-convert "^1.9.3" color-string "^1.6.0" -colors@1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - colorspace@1.1.x: version "1.1.4" resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" @@ -8085,6 +8477,11 @@ duplexer@^0.1.1: resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ejs@^3.1.7: version "3.1.10" resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -8107,6 +8504,11 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + enabled@2.0.x: version "2.0.0" resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" @@ -8149,16 +8551,16 @@ enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + entities@~2.0: version "2.0.3" resolved "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" 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" - integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== - entities@~3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" @@ -9945,6 +10347,13 @@ is-extglob@^2.1.1: resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + 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" @@ -11326,12 +11735,12 @@ lines-and-columns@~2.0.3: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -linkify-it@^3.0.1: - version "3.0.3" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" - integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== +linkify-it@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== dependencies: - uc.micro "^1.0.1" + uc.micro "^2.0.0" load-json-file@6.2.0, load-json-file@^6.2.0: version "6.2.0" @@ -11658,16 +12067,17 @@ map-obj@^4.0.0: resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -markdown-it@14.1.0, markdown-it@^12.3.2: - version "12.3.2" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" - integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== +markdown-it@14.1.0: + version "14.1.0" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== dependencies: argparse "^2.0.1" - entities "~2.1.0" - linkify-it "^3.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" + entities "^4.4.0" + linkify-it "^5.0.0" + mdurl "^2.0.0" + punycode.js "^2.3.1" + uc.micro "^2.1.0" markdownlint-cli@^0.40.0: version "0.40.0" @@ -11699,7 +12109,12 @@ markdownlint@~0.34.0: markdown-it "14.1.0" markdownlint-micromark "0.1.9" -mdurl@^1.0.1, mdurl@~1.0.1: +mdurl@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== + +mdurl@~1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== @@ -12645,6 +13060,11 @@ npmlog@^6.0.0, npmlog@^6.0.2: gauge "^4.0.3" set-blocking "^2.0.0" +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + nx@16.10.0: version "16.10.0" resolved "https://registry.npmjs.org/nx/-/nx-16.10.0.tgz#b070461f7de0a3d7988bd78558ea84cda3543ace" @@ -13618,6 +14038,11 @@ proxy-from-env@^1.1.0: resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +punycode.js@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== + punycode@1.3.2: version "1.3.2" resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" @@ -14704,7 +15129,7 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.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: +string-width@*, "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14713,6 +15138,24 @@ string-width@*, string-width@^1.0.1, "string-width@^1.0.2 || 2 || 3 || 4", strin is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + 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" @@ -14789,7 +15232,7 @@ stringify-package@^1.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.1: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== @@ -15383,10 +15826,10 @@ typescript@~5.1.0: resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== -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" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== +uc.micro@^2.0.0, uc.micro@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== uglify-js@^3.1.4: version "3.17.4" From d6f4308a3b65af188c89cc7caa857a290ac662bd Mon Sep 17 00:00:00 2001 From: Francis Date: Thu, 9 May 2024 14:42:17 -0700 Subject: [PATCH 06/12] test Signed-off-by: Francis --- packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts b/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts index 79018a2fea504..6d59cd6fa1384 100644 --- a/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts +++ b/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts @@ -6,6 +6,8 @@ import { HandlerFrameworkModule } from '../lib/custom-resources-framework/framew const framework: { [fqn: string]: ComponentProps[] } = {}; +// test comment + async function main() { recurse(config, []); From 71579447d2f180aa379ffa66d2764255666ffb23 Mon Sep 17 00:00:00 2001 From: Francis Date: Thu, 9 May 2024 14:43:05 -0700 Subject: [PATCH 07/12] remove test comment Signed-off-by: Francis --- packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts b/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts index 6d59cd6fa1384..79018a2fea504 100644 --- a/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts +++ b/packages/@aws-cdk/custom-resource-handlers/scripts/generate.ts @@ -6,8 +6,6 @@ import { HandlerFrameworkModule } from '../lib/custom-resources-framework/framew const framework: { [fqn: string]: ComponentProps[] } = {}; -// test comment - async function main() { recurse(config, []); From bd0eb8843904f5f1059c714c8c399fc644857954 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Thu, 9 May 2024 21:57:17 -0400 Subject: [PATCH 08/12] fix failing tests --- .../cli-integ/resources/cdk-apps/app/app.js | 43 +++++-- .../tests/cli-integ-tests/cli.integtest.ts | 5 +- yarn.lock | 113 +++++------------- 3 files changed, 64 insertions(+), 97 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js index 0e9195fe94796..d094055795e27 100755 --- a/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js +++ b/packages/@aws-cdk-testing/cli-integ/resources/cdk-apps/app/app.js @@ -183,9 +183,9 @@ class MigrateStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); - if (process.env.INCLUDE_SINGLE_QUEUE === '1') { + if (!process.env.OMIT_TOPIC) { const queue = new sqs.Queue(this, 'Queue', { - removalPolicy: (process.env.RETAIN_SINGLE_QUEUE === '1') ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, + removalPolicy: process.env.ORPHAN_TOPIC ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, }); new cdk.CfnOutput(this, 'QueueName', { @@ -200,16 +200,6 @@ class MigrateStack extends cdk.Stack { value: queue.node.defaultChild.logicalId, }); } - - if (process.env.LARGE_TEMPLATE === '1') { - for (let i = 1; i <= 70; i++) { - new sqs.Queue(this, `cdk-import-queue-test${i}`, { - enforceSSL: true, - removalPolicy: cdk.RemovalPolicy.DESTROY, - }); - } - } - if (process.env.SAMPLE_RESOURCES) { const myTopic = new sns.Topic(this, 'migratetopic1', { removalPolicy: cdk.RemovalPolicy.DESTROY, @@ -242,10 +232,37 @@ class MigrateStack extends cdk.Stack { } } -class ImportableStack extends MigrateStack { +class ImportableStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); new cdk.CfnWaitConditionHandle(this, 'Handle'); + + if (process.env.INCLUDE_SINGLE_QUEUE === '1') { + const queue = new sqs.Queue(this, 'Queue', { + removalPolicy: (process.env.RETAIN_SINGLE_QUEUE === '1') ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY, + }); + + new cdk.CfnOutput(this, 'QueueName', { + value: queue.queueName, + }); + + new cdk.CfnOutput(this, 'QueueUrl', { + value: queue.queueUrl, + }); + + new cdk.CfnOutput(this, 'QueueLogicalId', { + value: queue.node.defaultChild.logicalId, + }); + } + + if (process.env.LARGE_TEMPLATE === '1') { + for (let i = 1; i <= 70; i++) { + new sqs.Queue(this, `cdk-import-queue-test${i}`, { + enforceSSL: true, + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); + } + } } } diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index c911817e1a754..da8c39936a1db 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1640,9 +1640,10 @@ integTest('test migrate deployment for app with localfile source in migrate.json // Initial deploy await fixture.cdkDeploy('migrate-stack', { - modEnv: { LARGE_TEMPLATE: '0', RETAIN_SINGLE_QUEUE: '1', INCLUDE_SINGLE_QUEUE: '1' }, + modEnv: { ORPHAN_TOPIC: '1' }, options: ['--outputs-file', outputsFile], }); + const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); const stackName = fixture.fullStackName('migrate-stack'); const queueName = outputs[stackName].QueueName; @@ -1665,7 +1666,7 @@ integTest('test migrate deployment for app with localfile source in migrate.json // Create new stack from existing queue try { fixture.log(`Deploying new stack ${fixture.fullStackName}, migrating ${queueName} into stack`); - await fixture.cdkDeploy('migrate-stack', { modEnv: { LARGE_TEMPLATE: '0', RETAIN_SINGLE_QUEUE: '0', INCLUDE_SINGLE_QUEUE: '1' } }); + await fixture.cdkDeploy('migrate-stack'); } finally { // Cleanup await fixture.cdkDestroy('migrate-stack'); diff --git a/yarn.lock b/yarn.lock index f5636980dfb31..503374899a714 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5795,7 +5795,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*", "@types/babel__traverse@7.18.2", "@types/babel__traverse@^7.0.6": version "7.18.2" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== @@ -7451,11 +7451,6 @@ co@^4.6.0: resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - codemaker@^1.98.0: version "1.98.0" resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.98.0.tgz#cd4f2667c69857162193fe1abbbaad90fe3eed38" @@ -7515,6 +7510,11 @@ color@^3.1.3: color-convert "^1.9.3" color-string "^1.6.0" +colors@1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + colorspace@1.1.x: version "1.1.4" resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" @@ -8477,11 +8477,6 @@ duplexer@^0.1.1: resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - ejs@^3.1.7: version "3.1.10" resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -8504,11 +8499,6 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - enabled@2.0.x: version "2.0.0" resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" @@ -8551,16 +8541,16 @@ enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - entities@~2.0: version "2.0.3" resolved "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" 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" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + entities@~3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" @@ -10347,13 +10337,6 @@ is-extglob@^2.1.1: resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - 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" @@ -11735,12 +11718,12 @@ lines-and-columns@~2.0.3: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -linkify-it@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" - integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== +linkify-it@^3.0.1: + version "3.0.3" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== dependencies: - uc.micro "^2.0.0" + uc.micro "^1.0.1" load-json-file@6.2.0, load-json-file@^6.2.0: version "6.2.0" @@ -12067,17 +12050,16 @@ map-obj@^4.0.0: resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -markdown-it@14.1.0: - version "14.1.0" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" - integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== +markdown-it@14.1.0, markdown-it@^12.3.2: + version "12.3.2" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== dependencies: argparse "^2.0.1" - entities "^4.4.0" - linkify-it "^5.0.0" - mdurl "^2.0.0" - punycode.js "^2.3.1" - uc.micro "^2.1.0" + entities "~2.1.0" + linkify-it "^3.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" markdownlint-cli@^0.40.0: version "0.40.0" @@ -12109,12 +12091,7 @@ markdownlint@~0.34.0: markdown-it "14.1.0" markdownlint-micromark "0.1.9" -mdurl@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" - integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== - -mdurl@~1.0.1: +mdurl@^1.0.1, mdurl@~1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== @@ -13060,11 +13037,6 @@ npmlog@^6.0.0, npmlog@^6.0.2: gauge "^4.0.3" set-blocking "^2.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - nx@16.10.0: version "16.10.0" resolved "https://registry.npmjs.org/nx/-/nx-16.10.0.tgz#b070461f7de0a3d7988bd78558ea84cda3543ace" @@ -14038,11 +14010,6 @@ proxy-from-env@^1.1.0: resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -punycode.js@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" - integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== - punycode@1.3.2: version "1.3.2" resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" @@ -15129,7 +15096,7 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@*, "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@*, 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" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -15138,24 +15105,6 @@ string-width@*, "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, strin is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - 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" @@ -15232,7 +15181,7 @@ stringify-package@^1.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== @@ -15826,10 +15775,10 @@ typescript@~5.1.0: resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== -uc.micro@^2.0.0, uc.micro@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" - integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== +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" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: version "3.17.4" From fa109b3f41a9ac9af910d957a48001ef28dca7d3 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Thu, 9 May 2024 22:23:30 -0400 Subject: [PATCH 09/12] use cfn fixture --- .../@aws-cdk-testing/cli-integ/package.json | 1 - .../tests/cli-integ-tests/cli.integtest.ts | 8 +- yarn.lock | 392 ------------------ 3 files changed, 3 insertions(+), 398 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/package.json b/packages/@aws-cdk-testing/cli-integ/package.json index fd5243b244e47..28a49bf5f0c0c 100644 --- a/packages/@aws-cdk-testing/cli-integ/package.json +++ b/packages/@aws-cdk-testing/cli-integ/package.json @@ -38,7 +38,6 @@ "@types/yargs": "^15.0.19" }, "dependencies": { - "@aws-sdk/client-cloudformation": "^3.572.0", "@octokit/rest": "^18.12.0", "aws-sdk": "^2.1610.0", "axios": "^1.6.8", diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index da8c39936a1db..51fb54585a2f0 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1,7 +1,6 @@ import { promises as fs, existsSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; -import * as CFN from '@aws-sdk/client-cloudformation'; import { integTest, cloneDirectory, shell, withDefaultFixture, retry, sleep, randomInteger, withSamIntegrationFixture, RESOURCES_DIR, withCDKMigrateFixture, withExtendedTimeoutFixture } from '../../lib'; jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime @@ -1593,7 +1592,6 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); fixture.log('Setup complete'); - const cfnClient = new CFN.CloudFormationClient(); let queues: { [queueLogicalId: string]: { QueueUrl: string } } = {}; try { // Write a resource mapping file based on the ID from step one, then run an import @@ -1607,7 +1605,7 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { await fixture.cdkDeploy('importable-stack', { modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '0', RETAIN_SINGLE_QUEUE: '0' }, }); - const cfnTemplateBeforeImport = await cfnClient.send(new CFN.GetTemplateCommand({ StackName: fullStackName })); + const cfnTemplateBeforeImport = await fixture.aws.cloudFormation('getTemplate', { StackName: fullStackName }); expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(queueLogicalId); await fs.writeFile( @@ -1623,8 +1621,8 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { ); // THEN - const describeStacksResponse = await cfnClient.send(new CFN.DescribeStacksCommand({ StackName: fullStackName })); - const cfnTemplateAfterImport = await cfnClient.send(new CFN.GetTemplateCommand({ StackName: fullStackName })); + const describeStacksResponse = await fixture.aws.cloudFormation('describeStacks', { StackName: fullStackName }); + const cfnTemplateAfterImport = await fixture.aws.cloudFormation('getTemplate', { StackName: fullStackName }); expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); expect(describeStacksResponse.Stacks![0].StackStatus).toEqual('IMPORT_COMPLETE'); expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); diff --git a/yarn.lock b/yarn.lock index 503374899a714..8b4c5897c2b27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -400,55 +400,6 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-cloudformation@^3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.572.0.tgz#24b113820ca1d4e03befb3ebe48c9efee2913d43" - integrity sha512-P9yn21hSXQUQ7b1Fdi0GTNyuX6TOpjP/pdQxtiHyRuhE2o7eTOz2vu8+i6HzN2G1yL3hnoWPjagFiwHpuUKufw== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sso-oidc" "3.572.0" - "@aws-sdk/client-sts" "3.572.0" - "@aws-sdk/core" "3.572.0" - "@aws-sdk/credential-provider-node" "3.572.0" - "@aws-sdk/middleware-host-header" "3.567.0" - "@aws-sdk/middleware-logger" "3.568.0" - "@aws-sdk/middleware-recursion-detection" "3.567.0" - "@aws-sdk/middleware-user-agent" "3.572.0" - "@aws-sdk/region-config-resolver" "3.572.0" - "@aws-sdk/types" "3.567.0" - "@aws-sdk/util-endpoints" "3.572.0" - "@aws-sdk/util-user-agent-browser" "3.567.0" - "@aws-sdk/util-user-agent-node" "3.568.0" - "@smithy/config-resolver" "^2.2.0" - "@smithy/core" "^1.4.2" - "@smithy/fetch-http-handler" "^2.5.0" - "@smithy/hash-node" "^2.2.0" - "@smithy/invalid-dependency" "^2.2.0" - "@smithy/middleware-content-length" "^2.2.0" - "@smithy/middleware-endpoint" "^2.5.1" - "@smithy/middleware-retry" "^2.3.1" - "@smithy/middleware-serde" "^2.3.0" - "@smithy/middleware-stack" "^2.2.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/node-http-handler" "^2.5.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - "@smithy/url-parser" "^2.2.0" - "@smithy/util-base64" "^2.3.0" - "@smithy/util-body-length-browser" "^2.2.0" - "@smithy/util-body-length-node" "^2.3.0" - "@smithy/util-defaults-mode-browser" "^2.2.1" - "@smithy/util-defaults-mode-node" "^2.3.1" - "@smithy/util-endpoints" "^1.2.0" - "@smithy/util-middleware" "^2.2.0" - "@smithy/util-retry" "^2.2.0" - "@smithy/util-utf8" "^2.3.0" - "@smithy/util-waiter" "^2.2.0" - tslib "^2.6.2" - uuid "^9.0.1" - "@aws-sdk/client-cloudwatch-logs@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.421.0.tgz#90de138ba92487ee8d6ac989994c62c5c5e64f3d" @@ -1578,52 +1529,6 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-sso-oidc@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.572.0.tgz#0abe3282c0900f0641770a928d31221a06df494d" - integrity sha512-S6C/S6xYesDakEuzYvlY1DMMKLtKQxdbbygq3hfeG2R0jUt9KpRLsQXK8qrBuVCKa3WcnjN/30hp4g/iUWFU/w== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.572.0" - "@aws-sdk/core" "3.572.0" - "@aws-sdk/credential-provider-node" "3.572.0" - "@aws-sdk/middleware-host-header" "3.567.0" - "@aws-sdk/middleware-logger" "3.568.0" - "@aws-sdk/middleware-recursion-detection" "3.567.0" - "@aws-sdk/middleware-user-agent" "3.572.0" - "@aws-sdk/region-config-resolver" "3.572.0" - "@aws-sdk/types" "3.567.0" - "@aws-sdk/util-endpoints" "3.572.0" - "@aws-sdk/util-user-agent-browser" "3.567.0" - "@aws-sdk/util-user-agent-node" "3.568.0" - "@smithy/config-resolver" "^2.2.0" - "@smithy/core" "^1.4.2" - "@smithy/fetch-http-handler" "^2.5.0" - "@smithy/hash-node" "^2.2.0" - "@smithy/invalid-dependency" "^2.2.0" - "@smithy/middleware-content-length" "^2.2.0" - "@smithy/middleware-endpoint" "^2.5.1" - "@smithy/middleware-retry" "^2.3.1" - "@smithy/middleware-serde" "^2.3.0" - "@smithy/middleware-stack" "^2.2.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/node-http-handler" "^2.5.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - "@smithy/url-parser" "^2.2.0" - "@smithy/util-base64" "^2.3.0" - "@smithy/util-body-length-browser" "^2.2.0" - "@smithy/util-body-length-node" "^2.3.0" - "@smithy/util-defaults-mode-browser" "^2.2.1" - "@smithy/util-defaults-mode-node" "^2.3.1" - "@smithy/util-endpoints" "^1.2.0" - "@smithy/util-middleware" "^2.2.0" - "@smithy/util-retry" "^2.2.0" - "@smithy/util-utf8" "^2.3.0" - tslib "^2.6.2" - "@aws-sdk/client-sso@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.421.0.tgz#794350d63bd6b327f4919460ae908a1a39585165" @@ -1750,50 +1655,6 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.572.0.tgz#d686db985b4c430dbfa6854c8fa1c17de2c3d7ac" - integrity sha512-S+xhScao5MD79AkrcHmFpEDk+CgoiuB/31WFcTcnrTio5TOUONAaT0QyscOIwRp7BZ7Aez7TBM+loTteJ+TQvg== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/core" "3.572.0" - "@aws-sdk/middleware-host-header" "3.567.0" - "@aws-sdk/middleware-logger" "3.568.0" - "@aws-sdk/middleware-recursion-detection" "3.567.0" - "@aws-sdk/middleware-user-agent" "3.572.0" - "@aws-sdk/region-config-resolver" "3.572.0" - "@aws-sdk/types" "3.567.0" - "@aws-sdk/util-endpoints" "3.572.0" - "@aws-sdk/util-user-agent-browser" "3.567.0" - "@aws-sdk/util-user-agent-node" "3.568.0" - "@smithy/config-resolver" "^2.2.0" - "@smithy/core" "^1.4.2" - "@smithy/fetch-http-handler" "^2.5.0" - "@smithy/hash-node" "^2.2.0" - "@smithy/invalid-dependency" "^2.2.0" - "@smithy/middleware-content-length" "^2.2.0" - "@smithy/middleware-endpoint" "^2.5.1" - "@smithy/middleware-retry" "^2.3.1" - "@smithy/middleware-serde" "^2.3.0" - "@smithy/middleware-stack" "^2.2.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/node-http-handler" "^2.5.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - "@smithy/url-parser" "^2.2.0" - "@smithy/util-base64" "^2.3.0" - "@smithy/util-body-length-browser" "^2.2.0" - "@smithy/util-body-length-node" "^2.3.0" - "@smithy/util-defaults-mode-browser" "^2.2.1" - "@smithy/util-defaults-mode-node" "^2.3.1" - "@smithy/util-endpoints" "^1.2.0" - "@smithy/util-middleware" "^2.2.0" - "@smithy/util-retry" "^2.2.0" - "@smithy/util-utf8" "^2.3.0" - tslib "^2.6.2" - "@aws-sdk/client-sts@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.421.0.tgz#1c7b3265be3acb609159533c24421da4e9466570" @@ -1884,52 +1745,6 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-sts@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.572.0.tgz#75437254cb314a0a0cdb7b28887d502442167408" - integrity sha512-jCQuH2qkbWoSY4wckLSfzf3OPh7zc7ZckEbIGGVUQar/JVff6EIbpQ+uNG29DDEOpdPPd8rrJsVuUlA/nvJdXA== - dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sso-oidc" "3.572.0" - "@aws-sdk/core" "3.572.0" - "@aws-sdk/credential-provider-node" "3.572.0" - "@aws-sdk/middleware-host-header" "3.567.0" - "@aws-sdk/middleware-logger" "3.568.0" - "@aws-sdk/middleware-recursion-detection" "3.567.0" - "@aws-sdk/middleware-user-agent" "3.572.0" - "@aws-sdk/region-config-resolver" "3.572.0" - "@aws-sdk/types" "3.567.0" - "@aws-sdk/util-endpoints" "3.572.0" - "@aws-sdk/util-user-agent-browser" "3.567.0" - "@aws-sdk/util-user-agent-node" "3.568.0" - "@smithy/config-resolver" "^2.2.0" - "@smithy/core" "^1.4.2" - "@smithy/fetch-http-handler" "^2.5.0" - "@smithy/hash-node" "^2.2.0" - "@smithy/invalid-dependency" "^2.2.0" - "@smithy/middleware-content-length" "^2.2.0" - "@smithy/middleware-endpoint" "^2.5.1" - "@smithy/middleware-retry" "^2.3.1" - "@smithy/middleware-serde" "^2.3.0" - "@smithy/middleware-stack" "^2.2.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/node-http-handler" "^2.5.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - "@smithy/url-parser" "^2.2.0" - "@smithy/util-base64" "^2.3.0" - "@smithy/util-body-length-browser" "^2.2.0" - "@smithy/util-body-length-node" "^2.3.0" - "@smithy/util-defaults-mode-browser" "^2.2.1" - "@smithy/util-defaults-mode-node" "^2.3.1" - "@smithy/util-endpoints" "^1.2.0" - "@smithy/util-middleware" "^2.2.0" - "@smithy/util-retry" "^2.2.0" - "@smithy/util-utf8" "^2.3.0" - tslib "^2.6.2" - "@aws-sdk/client-synthetics@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/client-synthetics/-/client-synthetics-3.421.0.tgz#fbc848916f51255d883c1b3b5240f8975842daba" @@ -1994,19 +1809,6 @@ fast-xml-parser "4.2.5" tslib "^2.6.2" -"@aws-sdk/core@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/core/-/core-3.572.0.tgz#875cbd9e2ca6b78a3c2663cf67aed24e6b143667" - integrity sha512-DBmf94qfN0dfaLl5EnNcq6TakWfOtVXYifHoTbX+VBwESj3rlY4W+W4mAnvBgAqDjlLFy7bBljmx+vnjnV73lg== - dependencies: - "@smithy/core" "^1.4.2" - "@smithy/protocol-http" "^3.3.0" - "@smithy/signature-v4" "^2.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - fast-xml-parser "4.2.5" - tslib "^2.6.2" - "@aws-sdk/credential-provider-cognito-identity@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.421.0.tgz#d06bf11df56896feb048e057b02e98b1870bd388" @@ -2048,16 +1850,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.568.0": - version "3.568.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.568.0.tgz#fc7fda0bc48bbc75065a9084e41d429037e0e1c5" - integrity sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-http@3.552.0": version "3.552.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.552.0.tgz#ecc88d02cba95621887e6b85b2583e756ad29eb6" @@ -2073,21 +1865,6 @@ "@smithy/util-stream" "^2.2.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.568.0": - version "3.568.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.568.0.tgz#7f7239bed7c23db7356ebeae5f3b3bda9f751b08" - integrity sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/fetch-http-handler" "^2.5.0" - "@smithy/node-http-handler" "^2.5.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/smithy-client" "^2.5.1" - "@smithy/types" "^2.12.0" - "@smithy/util-stream" "^2.2.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-ini@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.421.0.tgz#b58f8fd095c4389926d0e53ed2b775b184d03ec2" @@ -2136,22 +1913,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.572.0.tgz#b6a447e85a10938a1f038bd7e1096c73229e6699" - integrity sha512-05KzbAp77fEiQXqMeodXeMbT83FOqSyBrfSEMz6U8uBXeJCy8zPUjN3acqcbG55/HNJHUvg1cftqzy+fUz71gA== - dependencies: - "@aws-sdk/credential-provider-env" "3.568.0" - "@aws-sdk/credential-provider-process" "3.572.0" - "@aws-sdk/credential-provider-sso" "3.572.0" - "@aws-sdk/credential-provider-web-identity" "3.568.0" - "@aws-sdk/types" "3.567.0" - "@smithy/credential-provider-imds" "^2.3.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.4.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-node@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.421.0.tgz#3d1793ee47d0335532eb01a23cbb7d5320dd3056" @@ -2204,24 +1965,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.572.0.tgz#dbb1d26a8a2c18c52f8067f6c6371ee850c1fb05" - integrity sha512-anlYZnpmVkfp9Gan+LcEkQvmRf/m0KcbR11th8sBEyI5lxMaHKXhnAtC/hEGT7e3L6rgNOrFYTPuSvllITD/Pg== - dependencies: - "@aws-sdk/credential-provider-env" "3.568.0" - "@aws-sdk/credential-provider-http" "3.568.0" - "@aws-sdk/credential-provider-ini" "3.572.0" - "@aws-sdk/credential-provider-process" "3.572.0" - "@aws-sdk/credential-provider-sso" "3.572.0" - "@aws-sdk/credential-provider-web-identity" "3.568.0" - "@aws-sdk/types" "3.567.0" - "@smithy/credential-provider-imds" "^2.3.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.4.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-process@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.418.0.tgz#1cb6d816bd471db3f9724715b007035ef18b5b2b" @@ -2255,17 +1998,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.572.0.tgz#6054c37721d44b3e855b41f4ad8e3dd73f84e6cf" - integrity sha512-hXcOytf0BadSm/MMy7MV8mmY0+Jv3mkavsHNBx0R82hw5ollD0I3JyOAaCtdUpztF0I72F8K+q8SpJQZ+EwArw== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.4.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-sso@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.421.0.tgz#1863eabf232dd6add900e045e36a0e6c1213e31c" @@ -2305,19 +2037,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.572.0.tgz#d0fe8122538fc498e9d4f797dfe99eed5bfc7443" - integrity sha512-iIlnpJiDXFp3XC4hJNSiNurnU24mr3iLB3HoNa9efr944bo6XBl9FQdk3NssIkqzSmgyoB2CEUx/daBHz4XSow== - dependencies: - "@aws-sdk/client-sso" "3.572.0" - "@aws-sdk/token-providers" "3.572.0" - "@aws-sdk/types" "3.567.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.4.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-provider-web-identity@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.418.0.tgz#c2aed2a79bf193c1fef2b98391aaa9de7336aaaf" @@ -2348,16 +2067,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.568.0": - version "3.568.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.568.0.tgz#b4e7958dc92a6cbbf5e9fd065cecd76573d4b70f" - integrity sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/credential-providers@3.421.0": version "3.421.0" resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.421.0.tgz#567d4b7ae00809d7d4f8dce088e6ed5b5e622b7b" @@ -2503,16 +2212,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.567.0": - version "3.567.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.567.0.tgz#52f278234458ec3035e9534fee582c95a8fec4f7" - integrity sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/middleware-location-constraint@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.418.0.tgz#e62e213a72ce583ba6135db51dcc60d07825b8ee" @@ -2558,15 +2257,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.568.0": - version "3.568.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.568.0.tgz#aeb85cc8f7da431442d0f5914f3a3e262eb55a09" - integrity sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/middleware-recursion-detection@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.418.0.tgz#2bb80d084f946846ad4907f3d6e0b451787d62b1" @@ -2597,16 +2287,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.567.0": - version "3.567.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.567.0.tgz#95d91f071b57fb5245d522db70df1652275f06ac" - integrity sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/middleware-sdk-ec2@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.418.0.tgz#eac7054b128645c5a040c8e95b5cf92c7994d2fd" @@ -2764,17 +2444,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.572.0.tgz#e629083356e3ea1303544240be82e2784d768984" - integrity sha512-R4bBbLp1ywtF1kJoOX1juDMztKPWeQHNj6XuTvtruFDn1RdfnBlbM3+9rguRfH5s4V+xfl8SSWchnyo2cI00xg== - dependencies: - "@aws-sdk/types" "3.567.0" - "@aws-sdk/util-endpoints" "3.572.0" - "@smithy/protocol-http" "^3.3.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/node-http-handler@^3.370.0": version "3.374.0" resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.374.0.tgz#8cd58b4d9814713e26034c12eabc119c113a5bc4" @@ -2817,18 +2486,6 @@ "@smithy/util-middleware" "^2.2.0" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.572.0.tgz#51a4485bf1b1c3a154fe96e8b9fc0a1e80240fef" - integrity sha512-xkZMIxek44F4YW5r9otD1O5Y/kDkgAb6JNJePkP1qPVojrkCmin3OFYAOZgGm+T4DZAQ5rWhpaqTAWmnRumYfw== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/types" "^2.12.0" - "@smithy/util-config-provider" "^2.3.0" - "@smithy/util-middleware" "^2.2.0" - tslib "^2.6.2" - "@aws-sdk/s3-request-presigner@3.451.0": version "3.451.0" resolved "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.451.0.tgz#1728993a547017f739c9c24af2d8e058e8873c4f" @@ -2960,17 +2617,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/token-providers@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.572.0.tgz#b63ef02f1700057e9f4532365cd098699b0f8328" - integrity sha512-IkSu8p32tQZhKqwmfLZLGfYwNhsS/HUQBLnDMHJlr9VifmDqlTurcr+DwMCaMimuFhcLeb45vqTymKf/ro/OBw== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/property-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.4.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/types@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.418.0.tgz#c23213110b0c313d5546c810da032a441682f49a" @@ -2995,14 +2641,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/types@3.567.0": - version "3.567.0" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.567.0.tgz#b2dc88e154140b1ff87e94f63c97447bdb1c1738" - integrity sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A== - dependencies: - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/util-arn-parser@3.310.0": version "3.310.0" resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz#861ff8810851be52a320ec9e4786f15b5fc74fba" @@ -3037,16 +2675,6 @@ "@smithy/util-endpoints" "^1.2.0" tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.572.0": - version "3.572.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.572.0.tgz#41a42cbeb6744f5cf0b983c1b9dd958cb0bd66e0" - integrity sha512-AIEC7ItIWBqkJLtqcSd0HG8tvdh3zVwqnKPHNrcfFay0Xonqx3p/qTCDwGosh5CM5hDGzyOSRA5PkacEDBTz9w== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/types" "^2.12.0" - "@smithy/util-endpoints" "^1.2.0" - tslib "^2.6.2" - "@aws-sdk/util-format-url@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.418.0.tgz#85035e704f5996189aeec2a7bd08265bcd87f1e1" @@ -3104,16 +2732,6 @@ bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.567.0": - version "3.567.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.567.0.tgz#1ef37a87b28155274d62e31c1ac5c1c043dcd0b3" - integrity sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/types" "^2.12.0" - bowser "^2.11.0" - tslib "^2.6.2" - "@aws-sdk/util-user-agent-node@3.418.0": version "3.418.0" resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.418.0.tgz#7d5a1c82ce3265ff0f70b13d58d08593113ab99a" @@ -3144,16 +2762,6 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.568.0": - version "3.568.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.568.0.tgz#8bfb81b23d4947462f1e49c70187b85e7cd3837a" - integrity sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A== - dependencies: - "@aws-sdk/types" "3.567.0" - "@smithy/node-config-provider" "^2.3.0" - "@smithy/types" "^2.12.0" - tslib "^2.6.2" - "@aws-sdk/util-utf8-browser@^3.0.0": version "3.259.0" resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" From 75918ac84d6a7dcc2ff1133d12e0f35a8e73a682 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Fri, 10 May 2024 08:54:20 -0400 Subject: [PATCH 10/12] fix test again --- .../cli-integ/tests/cli-integ-tests/cli.integtest.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 51fb54585a2f0..bdae10057ab68 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1,7 +1,7 @@ import { promises as fs, existsSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { integTest, cloneDirectory, shell, withDefaultFixture, retry, sleep, randomInteger, withSamIntegrationFixture, RESOURCES_DIR, withCDKMigrateFixture, withExtendedTimeoutFixture } from '../../lib'; +import { integTest, cloneDirectory, shell, withDefaultFixture, retry, sleep, randomInteger, withSamIntegrationFixture, RESOURCES_DIR, withCDKMigrateFixture, withExtendedTimeoutFixture, randomString } from '../../lib'; jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime @@ -1581,7 +1581,9 @@ integTest('skips notice refresh', withDefaultFixture(async (fixture) => { */ integTest('test resource import', withDefaultFixture(async (fixture) => { // GIVEN - const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json'); + const randomPrefix = randomString(); + const uniqueOutputsFileName = `${randomPrefix}Outputs.json`; // other tests use the outputs file. Make sure we don't collide. + const outputsFile = path.join(fixture.integTestDir, 'outputs', uniqueOutputsFileName); await fs.mkdir(path.dirname(outputsFile), { recursive: true }); await fixture.cdkDeploy('importable-stack', { @@ -1595,7 +1597,7 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { let queues: { [queueLogicalId: string]: { QueueUrl: string } } = {}; try { // Write a resource mapping file based on the ID from step one, then run an import - const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json'); + const mappingFile = path.join(fixture.integTestDir, 'outputs', `${randomPrefix}Mapping.json`); const fullStackName = fixture.fullStackName('importable-stack'); const queueUrl = outputs[fullStackName].QueueUrl; const queueLogicalId = outputs[fullStackName].QueueLogicalId; From 7e3b24e4c2c25d6bbbaa9d03e63ae244546c6c40 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Fri, 10 May 2024 11:25:53 -0400 Subject: [PATCH 11/12] remove duplicate line --- .../cli-integ/tests/cli-integ-tests/cli.integtest.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index bdae10057ab68..1de43beb4d3d4 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1625,7 +1625,6 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { // THEN const describeStacksResponse = await fixture.aws.cloudFormation('describeStacks', { StackName: fullStackName }); const cfnTemplateAfterImport = await fixture.aws.cloudFormation('getTemplate', { StackName: fullStackName }); - expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); expect(describeStacksResponse.Stacks![0].StackStatus).toEqual('IMPORT_COMPLETE'); expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId); } finally { From 2cb9614a12318d5a823d015aa373f3569dc4a560 Mon Sep 17 00:00:00 2001 From: Jakob Berg Date: Fri, 10 May 2024 13:13:44 -0400 Subject: [PATCH 12/12] improve test comments --- .../tests/cli-integ-tests/cli.integtest.ts | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts index 1de43beb4d3d4..f323110eecfa4 100644 --- a/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts +++ b/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts @@ -1586,39 +1586,39 @@ integTest('test resource import', withDefaultFixture(async (fixture) => { const outputsFile = path.join(fixture.integTestDir, 'outputs', uniqueOutputsFileName); await fs.mkdir(path.dirname(outputsFile), { recursive: true }); + // First, create a stack that includes many queues, and one queue that will be removed from the stack but NOT deleted from AWS. await fixture.cdkDeploy('importable-stack', { modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '1' }, options: ['--outputs-file', outputsFile], }); - const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); - fixture.log('Setup complete'); - - let queues: { [queueLogicalId: string]: { QueueUrl: string } } = {}; try { - // Write a resource mapping file based on the ID from step one, then run an import - const mappingFile = path.join(fixture.integTestDir, 'outputs', `${randomPrefix}Mapping.json`); + + // Second, now the queue we will remove is in the stack and has a logicalId. We can now make the resource mapping file. + // This resource mapping file will be used to tell the import operation what queue to bring into the stack. const fullStackName = fixture.fullStackName('importable-stack'); - const queueUrl = outputs[fullStackName].QueueUrl; + const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString()); const queueLogicalId = outputs[fullStackName].QueueLogicalId; - queues[queueLogicalId] = { QueueUrl: queueUrl }; + const queueResourceMap = { + [queueLogicalId]: { QueueUrl: outputs[fullStackName].QueueUrl }, + }; + const mappingFile = path.join(fixture.integTestDir, 'outputs', `${randomPrefix}Mapping.json`); + await fs.writeFile( + mappingFile, + JSON.stringify(queueResourceMap), + { encoding: 'utf-8' }, + ); - // Remove the queue from the stack but don't delete the queue from AWS + // Third, remove the queue from the stack, but don't delete the queue from AWS. await fixture.cdkDeploy('importable-stack', { modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '0', RETAIN_SINGLE_QUEUE: '0' }, }); const cfnTemplateBeforeImport = await fixture.aws.cloudFormation('getTemplate', { StackName: fullStackName }); expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(queueLogicalId); - await fs.writeFile( - mappingFile, - JSON.stringify(queues), - { encoding: 'utf-8' }, - ); - // WHEN await fixture.cdk( - ['import', '-m', mappingFile, fixture.fullStackName('importable-stack')], + ['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')], { modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '0' } }, );