@aws-cdk/cloudformation-diff 2.180.0 → 2.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './diff-template';
2
2
  export * from './format';
3
3
  export * from './format-table';
4
+ export * from './mappings';
4
5
  export { deepEqual, mangleLikeCloudFormation } from './diff/util';
package/lib/index.js CHANGED
@@ -18,7 +18,8 @@ exports.mangleLikeCloudFormation = exports.deepEqual = void 0;
18
18
  __exportStar(require("./diff-template"), exports);
19
19
  __exportStar(require("./format"), exports);
20
20
  __exportStar(require("./format-table"), exports);
21
+ __exportStar(require("./mappings"), exports);
21
22
  var util_1 = require("./diff/util");
22
23
  Object.defineProperty(exports, "deepEqual", { enumerable: true, get: function () { return util_1.deepEqual; } });
23
24
  Object.defineProperty(exports, "mangleLikeCloudFormation", { enumerable: true, get: function () { return util_1.mangleLikeCloudFormation; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsaURBQStCO0FBQy9CLG9DQUFrRTtBQUF6RCxpR0FBQSxTQUFTLE9BQUE7QUFBRSxnSEFBQSx3QkFBd0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlmZi10ZW1wbGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC10YWJsZSc7XG5leHBvcnQgeyBkZWVwRXF1YWwsIG1hbmdsZUxpa2VDbG91ZEZvcm1hdGlvbiB9IGZyb20gJy4vZGlmZi91dGlsJztcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsaURBQStCO0FBQy9CLDZDQUEyQjtBQUMzQixvQ0FBa0U7QUFBekQsaUdBQUEsU0FBUyxPQUFBO0FBQUUsZ0hBQUEsd0JBQXdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpZmYtdGVtcGxhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBwaW5ncyc7XG5leHBvcnQgeyBkZWVwRXF1YWwsIG1hbmdsZUxpa2VDbG91ZEZvcm1hdGlvbiB9IGZyb20gJy4vZGlmZi91dGlsJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export interface TypedMapping {
2
+ readonly type: string;
3
+ readonly sourcePath: string;
4
+ readonly destinationPath: string;
5
+ }
6
+ export declare function formatTypedMappings(stream: NodeJS.WritableStream, mappings: TypedMapping[]): void;
7
+ export declare function formatAmbiguousMappings(stream: NodeJS.WritableStream, pairs: [string[], string[]][]): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTypedMappings = formatTypedMappings;
4
+ exports.formatAmbiguousMappings = formatAmbiguousMappings;
5
+ const chalk = require("chalk");
6
+ const format_1 = require("./format");
7
+ const format_table_1 = require("./format-table");
8
+ function formatTypedMappings(stream, mappings) {
9
+ const header = [['Resource Type', 'Old Construct Path', 'New Construct Path']];
10
+ const rows = mappings.map((m) => [m.type, m.sourcePath, m.destinationPath]);
11
+ const formatter = new format_1.Formatter(stream, {});
12
+ if (mappings.length > 0) {
13
+ formatter.printSectionHeader('The following resources were moved or renamed:');
14
+ formatter.print(chalk.green((0, format_table_1.formatTable)(header.concat(rows), undefined)));
15
+ }
16
+ else {
17
+ formatter.print('Nothing to refactor.');
18
+ }
19
+ }
20
+ function formatAmbiguousMappings(stream, pairs) {
21
+ const tables = pairs.map(renderTable);
22
+ const formatter = new format_1.Formatter(stream, {});
23
+ formatter.printSectionHeader('Ambiguous Resource Name Changes');
24
+ formatter.print(tables.join('\n\n'));
25
+ formatter.printSectionFooter();
26
+ function renderTable([removed, added]) {
27
+ return (0, format_table_1.formatTable)([['', 'Resource'], renderRemoval(removed), renderAddition(added)], undefined);
28
+ }
29
+ function renderRemoval(locations) {
30
+ return [chalk.red('-'), chalk.red(renderLocations(locations))];
31
+ }
32
+ function renderAddition(locations) {
33
+ return [chalk.green('+'), chalk.green(renderLocations(locations))];
34
+ }
35
+ function renderLocations(locs) {
36
+ return locs.join('\n');
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYXBwaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLGtEQVdDO0FBRUQsMERBMEJDO0FBakRELCtCQUErQjtBQUMvQixxQ0FBcUM7QUFDckMsaURBQTZDO0FBUTdDLFNBQWdCLG1CQUFtQixDQUFDLE1BQTZCLEVBQUUsUUFBd0I7SUFDekYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDL0UsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFFNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxrQkFBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEIsU0FBUyxDQUFDLGtCQUFrQixDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDL0UsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsMEJBQVcsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO1NBQU0sQ0FBQztRQUNOLFNBQVMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHVCQUF1QixDQUNyQyxNQUE2QixFQUM3QixLQUE2QjtJQUU3QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksa0JBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFNUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDaEUsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFFL0IsU0FBUyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUF1QjtRQUN6RCxPQUFPLElBQUEsMEJBQVcsRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsU0FBUyxhQUFhLENBQUMsU0FBbUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxTQUFtQjtRQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFNBQVMsZUFBZSxDQUFDLElBQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXQnO1xuaW1wb3J0IHsgZm9ybWF0VGFibGUgfSBmcm9tICcuL2Zvcm1hdC10YWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRNYXBwaW5nIHtcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICByZWFkb25seSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VHlwZWRNYXBwaW5ncyhzdHJlYW06IE5vZGVKUy5Xcml0YWJsZVN0cmVhbSwgbWFwcGluZ3M6IFR5cGVkTWFwcGluZ1tdKSB7XG4gIGNvbnN0IGhlYWRlciA9IFtbJ1Jlc291cmNlIFR5cGUnLCAnT2xkIENvbnN0cnVjdCBQYXRoJywgJ05ldyBDb25zdHJ1Y3QgUGF0aCddXTtcbiAgY29uc3Qgcm93cyA9IG1hcHBpbmdzLm1hcCgobSkgPT4gW20udHlwZSwgbS5zb3VyY2VQYXRoLCBtLmRlc3RpbmF0aW9uUGF0aF0pO1xuXG4gIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBGb3JtYXR0ZXIoc3RyZWFtLCB7fSk7XG4gIGlmIChtYXBwaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgZm9ybWF0dGVyLnByaW50U2VjdGlvbkhlYWRlcignVGhlIGZvbGxvd2luZyByZXNvdXJjZXMgd2VyZSBtb3ZlZCBvciByZW5hbWVkOicpO1xuICAgIGZvcm1hdHRlci5wcmludChjaGFsay5ncmVlbihmb3JtYXRUYWJsZShoZWFkZXIuY29uY2F0KHJvd3MpLCB1bmRlZmluZWQpKSk7XG4gIH0gZWxzZSB7XG4gICAgZm9ybWF0dGVyLnByaW50KCdOb3RoaW5nIHRvIHJlZmFjdG9yLicpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRBbWJpZ3VvdXNNYXBwaW5ncyhcbiAgc3RyZWFtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0sXG4gIHBhaXJzOiBbc3RyaW5nW10sIHN0cmluZ1tdXVtdLFxuKSB7XG4gIGNvbnN0IHRhYmxlcyA9IHBhaXJzLm1hcChyZW5kZXJUYWJsZSk7XG4gIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBGb3JtYXR0ZXIoc3RyZWFtLCB7fSk7XG5cbiAgZm9ybWF0dGVyLnByaW50U2VjdGlvbkhlYWRlcignQW1iaWd1b3VzIFJlc291cmNlIE5hbWUgQ2hhbmdlcycpO1xuICBmb3JtYXR0ZXIucHJpbnQodGFibGVzLmpvaW4oJ1xcblxcbicpKTtcbiAgZm9ybWF0dGVyLnByaW50U2VjdGlvbkZvb3RlcigpO1xuXG4gIGZ1bmN0aW9uIHJlbmRlclRhYmxlKFtyZW1vdmVkLCBhZGRlZF06IFtzdHJpbmdbXSwgc3RyaW5nW11dKSB7XG4gICAgcmV0dXJuIGZvcm1hdFRhYmxlKFtbJycsICdSZXNvdXJjZSddLCByZW5kZXJSZW1vdmFsKHJlbW92ZWQpLCByZW5kZXJBZGRpdGlvbihhZGRlZCldLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVuZGVyUmVtb3ZhbChsb2NhdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIFtjaGFsay5yZWQoJy0nKSwgY2hhbGsucmVkKHJlbmRlckxvY2F0aW9ucyhsb2NhdGlvbnMpKV07XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXJBZGRpdGlvbihsb2NhdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIFtjaGFsay5ncmVlbignKycpLCBjaGFsay5ncmVlbihyZW5kZXJMb2NhdGlvbnMobG9jYXRpb25zKSldO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVuZGVyTG9jYXRpb25zKGxvY3M6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGxvY3Muam9pbignXFxuJyk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -31,7 +31,7 @@
31
31
  "organization": true
32
32
  },
33
33
  "devDependencies": {
34
- "@aws-sdk/client-cloudformation": "^3.772.0",
34
+ "@aws-sdk/client-cloudformation": "^3.787.0",
35
35
  "@cdklabs/eslint-plugin": "^1.3.2",
36
36
  "@stylistic/eslint-plugin": "^3",
37
37
  "@types/jest": "^29.5.14",
@@ -41,24 +41,24 @@
41
41
  "commit-and-tag-version": "^12",
42
42
  "constructs": "^10.0.0",
43
43
  "eslint": "^9",
44
- "eslint-config-prettier": "^10.1.1",
45
- "eslint-import-resolver-typescript": "^3.9.1",
44
+ "eslint-config-prettier": "^10.1.2",
45
+ "eslint-import-resolver-typescript": "^3.10.0",
46
46
  "eslint-plugin-import": "^2.31.0",
47
47
  "eslint-plugin-jest": "^28.11.0",
48
48
  "eslint-plugin-jsdoc": "^50.6.9",
49
- "eslint-plugin-prettier": "^5.2.3",
49
+ "eslint-plugin-prettier": "^5.2.6",
50
50
  "fast-check": "^3.23.2",
51
51
  "jest": "^29.7.0",
52
52
  "jest-junit": "^16",
53
53
  "license-checker": "^25.0.1",
54
54
  "prettier": "^2.8",
55
- "projen": "^0.91.18",
56
- "ts-jest": "^29.2.6",
55
+ "projen": "^0.91.20",
56
+ "ts-jest": "^29.3.2",
57
57
  "typescript": "5.6"
58
58
  },
59
59
  "dependencies": {
60
- "@aws-cdk/aws-service-spec": "^0.1.62",
61
- "@aws-cdk/service-spec-types": "^0.0.128",
60
+ "@aws-cdk/aws-service-spec": "^0.1.67",
61
+ "@aws-cdk/service-spec-types": "^0.0.133",
62
62
  "chalk": "^4",
63
63
  "diff": "^7.0.0",
64
64
  "fast-deep-equal": "^3.1.3",
@@ -78,7 +78,7 @@
78
78
  "publishConfig": {
79
79
  "access": "public"
80
80
  },
81
- "version": "2.180.0",
81
+ "version": "2.181.0",
82
82
  "types": "lib/index.d.ts",
83
83
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
84
84
  }