diff --git a/packages/aws-cdk/lib/commands/migrate.ts b/packages/aws-cdk/lib/commands/migrate.ts index 7635a1cbb69c8..8a3b462877755 100644 --- a/packages/aws-cdk/lib/commands/migrate.ts +++ b/packages/aws-cdk/lib/commands/migrate.ts @@ -86,7 +86,10 @@ export function generateStack(template: string, stackName: string, language: str try { return cdk_from_cfn.transmute(template, language, formattedStackName); } catch (e) { - throw new Error(`${formattedStackName} could not be generated because ${(e as Error).message}`); + const errorMessage = (e as Error).message === 'unreachable' + ? 'template and/or language inputs caused the source code to panic' + : (e as Error).message.replace('TransmuteError: ', ''); + throw new Error(`${formattedStackName} could not be generated because ${errorMessage}`); } } diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 9778f4452c8e0..1532719e8216e 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -105,7 +105,7 @@ "aws-sdk": "^2.1562.0", "camelcase": "^6.3.0", "cdk-assets": "0.0.0", - "cdk-from-cfn": "^0.133.0", + "cdk-from-cfn": "^0.140.0", "chalk": "^4", "chokidar": "^3.6.0", "decamelize": "^5.0.1", diff --git a/packages/aws-cdk/test/commands/migrate.test.ts b/packages/aws-cdk/test/commands/migrate.test.ts index ceed8e4b71407..86dcce27f25bf 100644 --- a/packages/aws-cdk/test/commands/migrate.test.ts +++ b/packages/aws-cdk/test/commands/migrate.test.ts @@ -134,11 +134,11 @@ describe('Migrate Function Tests', () => { }); test('generateStack throws error when called for other language', () => { - expect(() => generateStack(validTemplate, 'BadBadBad', 'php')).toThrowError('BadBadBadStack could not be generated because unreachable'); + expect(() => generateStack(validTemplate, 'BadBadBad', 'php')).toThrowError('BadBadBadStack could not be generated because template and/or language inputs caused the source code to panic'); }); test('generateStack throws error for invalid resource property', () => { - expect(() => generateStack(invalidTemplate, 'VeryBad', 'typescript')).toThrow('VeryBadStack could not be generated because unreachable'); + expect(() => generateStack(invalidTemplate, 'VeryBad', 'typescript')).toThrow('VeryBadStack could not be generated because ReadEndpoint is not a valid property for resource RDSCluster of type AWS::RDS::DBCluster'); }); cliTest('generateCdkApp generates the expected cdk app when called for typescript', async (workDir) => { diff --git a/yarn.lock b/yarn.lock index 2cbafb6831dea..c8fa9088b37ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6307,10 +6307,10 @@ case@1.6.3, case@^1.6.3: resolved "https://registry.npmjs.org/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9" integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== -cdk-from-cfn@^0.133.0: - version "0.133.0" - resolved "https://registry.npmjs.org/cdk-from-cfn/-/cdk-from-cfn-0.133.0.tgz#a18dd2c505c8fc0b7f4947f6d6afb3e7fea5b391" - integrity sha512-Yj0kE+GixlSGLNTodCaZEcIeyxzNQonZAykmsSP7wRSm3yYNfg/2XX1tRWi9hzUGMwqYuQr5GsCBymukU0GKsA== +cdk-from-cfn@^0.140.0: + version "0.140.0" + resolved "https://registry.npmjs.org/cdk-from-cfn/-/cdk-from-cfn-0.140.0.tgz#c9cbd96f0f559adfbd1874c03f2ac623427ef6b3" + integrity sha512-i9RjfOeEZDyKqI2FLbZgxuV5FwDkipv/3AqiSSw3TtLaIWi3qQ17GPrVOekINLqC4OgT7tCiMWawswwrM/sAaQ== cdk-generate-synthetic-examples@^0.1.304: version "0.1.304"