2.2.6 • Published 5 months ago

cdk-pretty-diff v2.2.6

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

CDK Pretty Diff

Format cdk diff output to html making review easier. Inspired by Terraform prettyplan.

Installation

If you are using aws-cdk <= v1:

npm install cdk-pretty-diff@1.x

or aws-cdk >= v2:

npm install cdk-pretty-diff

Usage

Instead of running cdk diff command line and receiving diff output, use cdk-pretty-diff (in javascript). Examples below.

Get cdk diff as an object

import { getCustomDiff } from 'cdk-pretty-diff';

const nicerDiffs = await getCustomDiff();
console.log(JSON.stringify(nicerDiffs, null, 2));

Render Pretty CDK Diff to html

html sample screenshot:

HTML Sample Screenshot

  • Original CDK Diff output is available (click the Orig CDK Diff button)
import { resolve } from 'path';
import { writeFileSync } from 'fs';
import { getCustomDiff, renderCustomDiffToHtmlString } from 'cdk-pretty-diff';

const nicerDiffs = await getCustomDiff();
const html = renderCustomDiffToHtmlString(nicerDiffs, 'CDK Diff');
writeFileSync(resolve(__dirname, '../cdk.out/diff.html'), html);

optionally, provide command line input args (as you could with cdk diff command):

import { resolve } from 'path';
import { writeFileSync } from 'fs';
import { Command, ConfigurationProps } from 'aws-cdk/lib/settings';
import { getCustomDiff, renderCustomDiffToHtmlString } from 'cdk-pretty-diff';

const configProps: ConfigurationProps = {
  commandLineArguments: {
    _: [Command.DIFF],
    context: [
      'foo=bar',
      'hello=world',
    ],
  }
}
const nicerDiffs = await getCustomDiff({ configProps });
const html = renderCustomDiffToHtmlString(nicerDiffs, 'CDK Diff');
writeFileSync(resolve(__dirname, '../cdk.out/diff.html'), html);

example: bin/diff-to-html-with-cli-args.ts

Development

npm i
npm run build

# run cdk pretty diff for the example stack:
AWS_PROFILE=<yourawscredentials> npx ts-node bin/diff-to-html.ts
# pretty diff location: cdk.out/diff.html
2.2.1

10 months ago

2.2.3

7 months ago

2.2.2

8 months ago

2.2.5

5 months ago

2.2.4

5 months ago

2.2.6

5 months ago

2.2.0

11 months ago

2.1.0

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.3

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

1.0.0

2 years ago

0.4.5

2 years ago

0.5.0

2 years ago

0.5.2

2 years ago

2.0.0

2 years ago

0.5.1

2 years ago

0.4.4

2 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.4.1

3 years ago

0.3.2

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago