@aws-cdk-testing/cli-integ 3.33.0 → 3.33.2

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk-testing/cli-integ",
3
- "version": "3.33.0",
3
+ "version": "3.33.2",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -4669,8 +4669,8 @@
4669
4669
  "integrity": "10c0/5388bbe8459dbd8861ee7cb97904be915dd863a9789c2191c528056f16adad7836ec22762ed002fed44e8995d0f98bdfb75a606466b77233e70d0f61b969aaf9"
4670
4670
  },
4671
4671
  "ws": {
4672
- "version": "8.20.1",
4673
- "integrity": "10c0/ce162433218399cdedeb76fd33363d4d86a7d910058d4e3c679dce08cea65d6da6b39f11baa4d7808d024cf46ed88f6a05c17611621aaad8fc5e62edacc30c5d"
4672
+ "version": "8.21.0",
4673
+ "integrity": "10c0/ef4a243476283fc49bc7550966c4af4aa0eef56273837211e700de3b664e08604a760cdddcb5ba43c049140e74ccfec5b0ee0bb439e08c2adf9138902fdde5f9"
4674
4674
  },
4675
4675
  "node-addon-api": {
4676
4676
  "version": "7.1.1",
@@ -5216,8 +5216,8 @@
5216
5216
  }
5217
5217
  },
5218
5218
  "tar": {
5219
- "version": "7.5.13",
5220
- "integrity": "10c0/5c65b8084799bde7a791593a1c1a45d3d6ee98182e3700b24c247b7b8f8654df4191642abbdb07ff25043d45dcff35620827c3997b88ae6c12040f64bed5076b",
5219
+ "version": "7.5.16",
5220
+ "integrity": "10c0/4f37f3c4bd2ca2755fd736a5df1d573c1a868ec1b1e893346aeafa95ac510f9e2fd1469420bd866cc7904799e5bd4ac62b5d4f03fe27747d6e1e373b44505c5c",
5221
5221
  "requires": {
5222
5222
  "@isaacs/fs-minipass": "^4.0.0",
5223
5223
  "chownr": "^3.0.0",
@@ -7259,18 +7259,18 @@
7259
7259
  }
7260
7260
  },
7261
7261
  "@babel/core": {
7262
- "version": "7.29.0",
7263
- "integrity": "10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa",
7264
- "requires": {
7265
- "@babel/code-frame": "^7.29.0",
7266
- "@babel/generator": "^7.29.0",
7267
- "@babel/helper-compilation-targets": "^7.28.6",
7268
- "@babel/helper-module-transforms": "^7.28.6",
7269
- "@babel/helpers": "^7.28.6",
7270
- "@babel/parser": "^7.29.0",
7271
- "@babel/template": "^7.28.6",
7272
- "@babel/traverse": "^7.29.0",
7273
- "@babel/types": "^7.29.0",
7262
+ "version": "7.29.7",
7263
+ "integrity": "10c0/112fb09c24de7a1de64d1de2c31fe65c4e6af4cb2fb6e6d99ea5373e6fc51e75b88581c0efae4c4c68f119a02a988c7106e95011a41530a2fb8ed793c7eaa07b",
7264
+ "requires": {
7265
+ "@babel/code-frame": "^7.29.7",
7266
+ "@babel/generator": "^7.29.7",
7267
+ "@babel/helper-compilation-targets": "^7.29.7",
7268
+ "@babel/helper-module-transforms": "^7.29.7",
7269
+ "@babel/helpers": "^7.29.7",
7270
+ "@babel/parser": "^7.29.7",
7271
+ "@babel/template": "^7.29.7",
7272
+ "@babel/traverse": "^7.29.7",
7273
+ "@babel/types": "^7.29.7",
7274
7274
  "@jridgewell/remapping": "^2.3.5",
7275
7275
  "convert-source-map": "^2.0.0",
7276
7276
  "debug": "^4.1.0",
@@ -7279,9 +7279,52 @@
7279
7279
  "semver": "^6.3.1"
7280
7280
  },
7281
7281
  "dependencies": {
7282
+ "@babel/code-frame": {
7283
+ "version": "7.29.7",
7284
+ "integrity": "10c0/169fc2080169a40c1760155eaaaf739bcb882df0bec76a83adbda5493645bc17270a3434b8848c494b1933e96fe1d147370001e3cda09a39f43ae30f08ef2069",
7285
+ "requires": {
7286
+ "@babel/helper-validator-identifier": "^7.29.7",
7287
+ "js-tokens": "^4.0.0",
7288
+ "picocolors": "^1.1.1"
7289
+ }
7290
+ },
7291
+ "@babel/generator": {
7292
+ "version": "7.29.7",
7293
+ "integrity": "10c0/9bf72b01b5bd0ea5b1288a0e37dbd360bff2f2b1ce73342c0d40fb3db2ec3dc004ada5ffa925c5e12939a416eed59e600d562b8ecd938ce0d27dfd0eb6c6c2b7",
7294
+ "requires": {
7295
+ "@babel/parser": "^7.29.7",
7296
+ "@babel/types": "^7.29.7",
7297
+ "@jridgewell/gen-mapping": "^0.3.12",
7298
+ "@jridgewell/trace-mapping": "^0.3.28",
7299
+ "jsesc": "^3.0.2"
7300
+ }
7301
+ },
7302
+ "@babel/parser": {
7303
+ "version": "7.29.7",
7304
+ "integrity": "10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d",
7305
+ "requires": {
7306
+ "@babel/types": "^7.29.7"
7307
+ }
7308
+ },
7309
+ "@babel/types": {
7310
+ "version": "7.29.7",
7311
+ "integrity": "10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f",
7312
+ "requires": {
7313
+ "@babel/helper-string-parser": "^7.29.7",
7314
+ "@babel/helper-validator-identifier": "^7.29.7"
7315
+ }
7316
+ },
7282
7317
  "semver": {
7283
7318
  "version": "6.3.1",
7284
7319
  "integrity": "10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d"
7320
+ },
7321
+ "@babel/helper-validator-identifier": {
7322
+ "version": "7.29.7",
7323
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
7324
+ },
7325
+ "@babel/helper-string-parser": {
7326
+ "version": "7.29.7",
7327
+ "integrity": "10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c"
7285
7328
  }
7286
7329
  }
7287
7330
  },
@@ -8060,11 +8103,11 @@
8060
8103
  "integrity": "10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e"
8061
8104
  },
8062
8105
  "@babel/helper-compilation-targets": {
8063
- "version": "7.28.6",
8064
- "integrity": "10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50",
8106
+ "version": "7.29.7",
8107
+ "integrity": "10c0/4c15fd4c69a0a7047799a28a88460c19cede0a0ee8af994ea169114986f4af48b92c7393a4a3fee0456c11a656eece3448a6ed06354453d6c27cccf17195453b",
8065
8108
  "requires": {
8066
- "@babel/compat-data": "^7.28.6",
8067
- "@babel/helper-validator-option": "^7.27.1",
8109
+ "@babel/compat-data": "^7.29.7",
8110
+ "@babel/helper-validator-option": "^7.29.7",
8068
8111
  "browserslist": "^4.24.0",
8069
8112
  "lru-cache": "^5.1.1",
8070
8113
  "semver": "^6.3.1"
@@ -8088,42 +8131,145 @@
8088
8131
  }
8089
8132
  },
8090
8133
  "@babel/helper-module-transforms": {
8091
- "version": "7.28.6",
8092
- "integrity": "10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b",
8134
+ "version": "7.29.7",
8135
+ "integrity": "10c0/ee5a2172c24a42be696836f4b0d947489c9729d8adf5821885cf77d1ad5333e3c447368e9a71f67df1099570490553dccf9f888ef0a92a48aa63cb086bd8c7e1",
8093
8136
  "requires": {
8094
- "@babel/helper-module-imports": "^7.28.6",
8095
- "@babel/helper-validator-identifier": "^7.28.5",
8096
- "@babel/traverse": "^7.28.6"
8137
+ "@babel/helper-module-imports": "^7.29.7",
8138
+ "@babel/helper-validator-identifier": "^7.29.7",
8139
+ "@babel/traverse": "^7.29.7"
8140
+ },
8141
+ "dependencies": {
8142
+ "@babel/helper-validator-identifier": {
8143
+ "version": "7.29.7",
8144
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
8145
+ }
8097
8146
  }
8098
8147
  },
8099
8148
  "@babel/helpers": {
8100
- "version": "7.29.2",
8101
- "integrity": "10c0/dab0e65b9318b2502a62c58bc0913572318595eec0482c31f0ad416b72636e6698a1d7c57cd2791d4528eb8c548bca88d338dc4d2a55a108dc1f6702f9bc5512",
8149
+ "version": "7.29.7",
8150
+ "integrity": "10c0/218e8d10953647c9f44775f5a022b227a182674853b5ea8631889deb7e1a3e4bc870388aaecf59bb8bd92a87f9a96220ed3f70a35bffec6bcf9169ecb67891ac",
8102
8151
  "requires": {
8103
- "@babel/template": "^7.28.6",
8104
- "@babel/types": "^7.29.0"
8152
+ "@babel/template": "^7.29.7",
8153
+ "@babel/types": "^7.29.7"
8154
+ },
8155
+ "dependencies": {
8156
+ "@babel/types": {
8157
+ "version": "7.29.7",
8158
+ "integrity": "10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f",
8159
+ "requires": {
8160
+ "@babel/helper-string-parser": "^7.29.7",
8161
+ "@babel/helper-validator-identifier": "^7.29.7"
8162
+ }
8163
+ },
8164
+ "@babel/helper-string-parser": {
8165
+ "version": "7.29.7",
8166
+ "integrity": "10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c"
8167
+ },
8168
+ "@babel/helper-validator-identifier": {
8169
+ "version": "7.29.7",
8170
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
8171
+ }
8105
8172
  }
8106
8173
  },
8107
8174
  "@babel/template": {
8108
- "version": "7.28.6",
8109
- "integrity": "10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5",
8175
+ "version": "7.29.7",
8176
+ "integrity": "10c0/8bb7f900dcab0e9e1c5ffbc33ca10e0d26b7b2e2ca804becb73ee771b9c4ed6e2908a4ae4a14c08560febb45d2b6b9a173955e42ad404d05f8b04840a14d9c58",
8110
8177
  "requires": {
8111
- "@babel/code-frame": "^7.28.6",
8112
- "@babel/parser": "^7.28.6",
8113
- "@babel/types": "^7.28.6"
8178
+ "@babel/code-frame": "^7.29.7",
8179
+ "@babel/parser": "^7.29.7",
8180
+ "@babel/types": "^7.29.7"
8181
+ },
8182
+ "dependencies": {
8183
+ "@babel/code-frame": {
8184
+ "version": "7.29.7",
8185
+ "integrity": "10c0/169fc2080169a40c1760155eaaaf739bcb882df0bec76a83adbda5493645bc17270a3434b8848c494b1933e96fe1d147370001e3cda09a39f43ae30f08ef2069",
8186
+ "requires": {
8187
+ "@babel/helper-validator-identifier": "^7.29.7",
8188
+ "js-tokens": "^4.0.0",
8189
+ "picocolors": "^1.1.1"
8190
+ }
8191
+ },
8192
+ "@babel/parser": {
8193
+ "version": "7.29.7",
8194
+ "integrity": "10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d",
8195
+ "requires": {
8196
+ "@babel/types": "^7.29.7"
8197
+ }
8198
+ },
8199
+ "@babel/types": {
8200
+ "version": "7.29.7",
8201
+ "integrity": "10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f",
8202
+ "requires": {
8203
+ "@babel/helper-string-parser": "^7.29.7",
8204
+ "@babel/helper-validator-identifier": "^7.29.7"
8205
+ }
8206
+ },
8207
+ "@babel/helper-validator-identifier": {
8208
+ "version": "7.29.7",
8209
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
8210
+ },
8211
+ "@babel/helper-string-parser": {
8212
+ "version": "7.29.7",
8213
+ "integrity": "10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c"
8214
+ }
8114
8215
  }
8115
8216
  },
8116
8217
  "@babel/traverse": {
8117
- "version": "7.29.0",
8118
- "integrity": "10c0/f63ef6e58d02a9fbf3c0e2e5f1c877da3e0bc57f91a19d2223d53e356a76859cbaf51171c9211c71816d94a0e69efa2732fd27ffc0e1bbc84b636e60932333eb",
8119
- "requires": {
8120
- "@babel/code-frame": "^7.29.0",
8121
- "@babel/generator": "^7.29.0",
8122
- "@babel/helper-globals": "^7.28.0",
8123
- "@babel/parser": "^7.29.0",
8124
- "@babel/template": "^7.28.6",
8125
- "@babel/types": "^7.29.0",
8218
+ "version": "7.29.7",
8219
+ "integrity": "10c0/e256a1fbdb956555b76f3c285b1e453f6bedec8b3afb61751d99d933efd11c7d79caf5ddf2493570058a9f7deaa1b48324380d7c1aa1443fd9508becbf56331a",
8220
+ "requires": {
8221
+ "@babel/code-frame": "^7.29.7",
8222
+ "@babel/generator": "^7.29.7",
8223
+ "@babel/helper-globals": "^7.29.7",
8224
+ "@babel/parser": "^7.29.7",
8225
+ "@babel/template": "^7.29.7",
8226
+ "@babel/types": "^7.29.7",
8126
8227
  "debug": "^4.3.1"
8228
+ },
8229
+ "dependencies": {
8230
+ "@babel/code-frame": {
8231
+ "version": "7.29.7",
8232
+ "integrity": "10c0/169fc2080169a40c1760155eaaaf739bcb882df0bec76a83adbda5493645bc17270a3434b8848c494b1933e96fe1d147370001e3cda09a39f43ae30f08ef2069",
8233
+ "requires": {
8234
+ "@babel/helper-validator-identifier": "^7.29.7",
8235
+ "js-tokens": "^4.0.0",
8236
+ "picocolors": "^1.1.1"
8237
+ }
8238
+ },
8239
+ "@babel/generator": {
8240
+ "version": "7.29.7",
8241
+ "integrity": "10c0/9bf72b01b5bd0ea5b1288a0e37dbd360bff2f2b1ce73342c0d40fb3db2ec3dc004ada5ffa925c5e12939a416eed59e600d562b8ecd938ce0d27dfd0eb6c6c2b7",
8242
+ "requires": {
8243
+ "@babel/parser": "^7.29.7",
8244
+ "@babel/types": "^7.29.7",
8245
+ "@jridgewell/gen-mapping": "^0.3.12",
8246
+ "@jridgewell/trace-mapping": "^0.3.28",
8247
+ "jsesc": "^3.0.2"
8248
+ }
8249
+ },
8250
+ "@babel/parser": {
8251
+ "version": "7.29.7",
8252
+ "integrity": "10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d",
8253
+ "requires": {
8254
+ "@babel/types": "^7.29.7"
8255
+ }
8256
+ },
8257
+ "@babel/types": {
8258
+ "version": "7.29.7",
8259
+ "integrity": "10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f",
8260
+ "requires": {
8261
+ "@babel/helper-string-parser": "^7.29.7",
8262
+ "@babel/helper-validator-identifier": "^7.29.7"
8263
+ }
8264
+ },
8265
+ "@babel/helper-validator-identifier": {
8266
+ "version": "7.29.7",
8267
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
8268
+ },
8269
+ "@babel/helper-string-parser": {
8270
+ "version": "7.29.7",
8271
+ "integrity": "10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c"
8272
+ }
8127
8273
  }
8128
8274
  },
8129
8275
  "@jridgewell/remapping": {
@@ -8617,12 +8763,12 @@
8617
8763
  "integrity": "10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811"
8618
8764
  },
8619
8765
  "@babel/compat-data": {
8620
- "version": "7.29.0",
8621
- "integrity": "10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94"
8766
+ "version": "7.29.7",
8767
+ "integrity": "10c0/47913f05e08a45a1c9df38c02b4b49e391005085b489432647a1abe112e5d9c75e3be8ea5972b7f6da4ec5d1339922ceb9ea02b8a25d4ed1cb8636e5261f344e"
8622
8768
  },
8623
8769
  "@babel/helper-validator-option": {
8624
- "version": "7.27.1",
8625
- "integrity": "10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148"
8770
+ "version": "7.29.7",
8771
+ "integrity": "10c0/d2a06c6d0ac40ba4a2f219fc2cab249c7a94bacdb2686273b7f9598571c908809b48468ff588915a346e6cc7296f60b581023d1d498b747fed06f779d335c2cc"
8626
8772
  },
8627
8773
  "browserslist": {
8628
8774
  "version": "4.28.2",
@@ -8636,16 +8782,34 @@
8636
8782
  }
8637
8783
  },
8638
8784
  "@babel/helper-module-imports": {
8639
- "version": "7.28.6",
8640
- "integrity": "10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac",
8785
+ "version": "7.29.7",
8786
+ "integrity": "10c0/6adf60d97356027413342a092f818d9678c4f5caff716a33e3284b5ae14e47a9e88059d421dde4ee4894691260039a12602c0e7becadc175602194b40dfa345d",
8641
8787
  "requires": {
8642
- "@babel/traverse": "^7.28.6",
8643
- "@babel/types": "^7.28.6"
8788
+ "@babel/traverse": "^7.29.7",
8789
+ "@babel/types": "^7.29.7"
8790
+ },
8791
+ "dependencies": {
8792
+ "@babel/types": {
8793
+ "version": "7.29.7",
8794
+ "integrity": "10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f",
8795
+ "requires": {
8796
+ "@babel/helper-string-parser": "^7.29.7",
8797
+ "@babel/helper-validator-identifier": "^7.29.7"
8798
+ }
8799
+ },
8800
+ "@babel/helper-string-parser": {
8801
+ "version": "7.29.7",
8802
+ "integrity": "10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c"
8803
+ },
8804
+ "@babel/helper-validator-identifier": {
8805
+ "version": "7.29.7",
8806
+ "integrity": "10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b"
8807
+ }
8644
8808
  }
8645
8809
  },
8646
8810
  "@babel/helper-globals": {
8647
- "version": "7.28.0",
8648
- "integrity": "10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232"
8811
+ "version": "7.29.7",
8812
+ "integrity": "10c0/f38417c40b1129a1b2b519ca961b9040c8827d1444fd74068702286b91b77089431dc76b6b9d5c1496e5da2a4f3ad329c6946e688ba3fa0d1d0b3d2b4f34f36a"
8649
8813
  },
8650
8814
  "get-package-type": {
8651
8815
  "version": "0.1.0",
@@ -8704,6 +8868,17 @@
8704
8868
  "@babel/types": "^7.3.3",
8705
8869
  "@types/babel__core": "^7.1.14",
8706
8870
  "@types/babel__traverse": "^7.0.6"
8871
+ },
8872
+ "dependencies": {
8873
+ "@babel/template": {
8874
+ "version": "7.28.6",
8875
+ "integrity": "10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5",
8876
+ "requires": {
8877
+ "@babel/code-frame": "^7.28.6",
8878
+ "@babel/parser": "^7.28.6",
8879
+ "@babel/types": "^7.28.6"
8880
+ }
8881
+ }
8707
8882
  }
8708
8883
  },
8709
8884
  "is-arrayish": {
package/package.json CHANGED
@@ -39,7 +39,7 @@
39
39
  "organization": true
40
40
  },
41
41
  "devDependencies": {
42
- "@aws-cdk/toolkit-lib": "1.29.0",
42
+ "@aws-cdk/toolkit-lib": "1.30.0",
43
43
  "@aws-cdk/yarn-cling": "0.0.0",
44
44
  "@cdklabs/eslint-plugin": "^2.0.9",
45
45
  "@stylistic/eslint-plugin": "^3",
@@ -125,7 +125,7 @@
125
125
  "publishConfig": {
126
126
  "access": "public"
127
127
  },
128
- "version": "3.33.0",
128
+ "version": "3.33.2",
129
129
  "packageManager": "yarn@4.13.0",
130
130
  "types": "lib/index.d.ts",
131
131
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"yarn projen\"."
@@ -40,7 +40,9 @@ class SecurityPlugin {
40
40
  }
41
41
 
42
42
  const app = new cdk.App();
43
- cdk.Validations.of(app).addPlugins(new SecurityPlugin());
43
+ if (process.env.INJECT_OFFLINE_ERRORS) {
44
+ cdk.Validations.of(app).addPlugins(new SecurityPlugin());
45
+ }
44
46
 
45
47
  // Valid stack — no offline or online errors
46
48
  class ValidStack extends cdk.Stack {
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const lib_1 = require("../../../lib");
4
+ (0, lib_1.integTest)('cdk ls --json in CI does not print synthesis time to stdout', (0, lib_1.withDefaultFixture)(async (fixture) => {
5
+ // `cdk ls --json` stdout is a machine-readable contract and is often piped (e.g. to `jq`),
6
+ // so it must be only the stack listing, not status lines like "✨ Synthesis time: ...".
7
+ const listing = await fixture.cdk(['ls', '--json'], {
8
+ verbose: false, // fixture defaults verbose on; turn it off so stdout is just the listing
9
+ captureStderr: false, // capture stdout only; stderr is folded into the result by default
10
+ modEnv: { CI: 'true' }, // CI routes non-error output to stdout (default is stderr)
11
+ });
12
+ const lines = listing.trim().split('\n').filter(line => line.length > 0);
13
+ // every line should be a stack; a synth-time line would not carry the prefix
14
+ expect(lines.length).toBeGreaterThan(0);
15
+ for (const line of lines) {
16
+ expect(line).toContain(fixture.stackNamePrefix);
17
+ }
18
+ }));
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNkay1scy1jaS1uby1zeW50aC10aW1lLW9uLXN0ZG91dC5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstY2RrLWxzLWNpLW5vLXN5bnRoLXRpbWUtb24tc3Rkb3V0LmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUE2RDtBQUU3RCxJQUFBLGVBQVMsRUFDUCw2REFBNkQsRUFDN0QsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsMkZBQTJGO0lBQzNGLHVGQUF1RjtJQUN2RixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBRSx5RUFBeUU7UUFDekYsYUFBYSxFQUFFLEtBQUssRUFBRSxtRUFBbUU7UUFDekYsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLDJEQUEyRDtLQUNwRixDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFekUsNkVBQTZFO0lBQzdFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmludGVnVGVzdChcbiAgJ2NkayBscyAtLWpzb24gaW4gQ0kgZG9lcyBub3QgcHJpbnQgc3ludGhlc2lzIHRpbWUgdG8gc3Rkb3V0JyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gYGNkayBscyAtLWpzb25gIHN0ZG91dCBpcyBhIG1hY2hpbmUtcmVhZGFibGUgY29udHJhY3QgYW5kIGlzIG9mdGVuIHBpcGVkIChlLmcuIHRvIGBqcWApLFxuICAgIC8vIHNvIGl0IG11c3QgYmUgb25seSB0aGUgc3RhY2sgbGlzdGluZywgbm90IHN0YXR1cyBsaW5lcyBsaWtlIFwi4pyoIFN5bnRoZXNpcyB0aW1lOiAuLi5cIi5cbiAgICBjb25zdCBsaXN0aW5nID0gYXdhaXQgZml4dHVyZS5jZGsoWydscycsICctLWpzb24nXSwge1xuICAgICAgdmVyYm9zZTogZmFsc2UsIC8vIGZpeHR1cmUgZGVmYXVsdHMgdmVyYm9zZSBvbjsgdHVybiBpdCBvZmYgc28gc3Rkb3V0IGlzIGp1c3QgdGhlIGxpc3RpbmdcbiAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLCAvLyBjYXB0dXJlIHN0ZG91dCBvbmx5OyBzdGRlcnIgaXMgZm9sZGVkIGludG8gdGhlIHJlc3VsdCBieSBkZWZhdWx0XG4gICAgICBtb2RFbnY6IHsgQ0k6ICd0cnVlJyB9LCAvLyBDSSByb3V0ZXMgbm9uLWVycm9yIG91dHB1dCB0byBzdGRvdXQgKGRlZmF1bHQgaXMgc3RkZXJyKVxuICAgIH0pO1xuXG4gICAgY29uc3QgbGluZXMgPSBsaXN0aW5nLnRyaW0oKS5zcGxpdCgnXFxuJykuZmlsdGVyKGxpbmUgPT4gbGluZS5sZW5ndGggPiAwKTtcblxuICAgIC8vIGV2ZXJ5IGxpbmUgc2hvdWxkIGJlIGEgc3RhY2s7IGEgc3ludGgtdGltZSBsaW5lIHdvdWxkIG5vdCBjYXJyeSB0aGUgcHJlZml4XG4gICAgZXhwZWN0KGxpbmVzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApO1xuICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgZXhwZWN0KGxpbmUpLnRvQ29udGFpbihmaXh0dXJlLnN0YWNrTmFtZVByZWZpeCk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const lib_1 = require("../../../lib");
4
4
  (0, lib_1.integTest)('cdk validate passes for clean app', (0, lib_1.withSpecificFixture)('validate-passing-app', async (fixture) => {
5
5
  const output = await fixture.cdk(['--unstable=validate', 'validate', fixture.fullStackName('validate-passing')]);
6
- expect(output).toContain('Policy validation passed. No problems found.');
6
+ expect(output).toContain('Validation did not find any problems.');
7
7
  }));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLXBhc3Nlcy1jbGVhbi1hcHAuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLXBhc3Nlcy1jbGVhbi1hcHAuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLG1DQUFtQyxFQUNuQyxJQUFBLHlCQUFtQixFQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUMvRSxDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhTcGVjaWZpY0ZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5pbnRlZ1Rlc3QoXG4gICdjZGsgdmFsaWRhdGUgcGFzc2VzIGZvciBjbGVhbiBhcHAnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCd2YWxpZGF0ZS1wYXNzaW5nLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZml4dHVyZS5jZGsoXG4gICAgICBbJy0tdW5zdGFibGU9dmFsaWRhdGUnLCAndmFsaWRhdGUnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLXBhc3NpbmcnKV0sXG4gICAgKTtcblxuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignUG9saWN5IHZhbGlkYXRpb24gcGFzc2VkLiBObyBwcm9ibGVtcyBmb3VuZC4nKTtcbiAgfSksXG4pO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLXBhc3Nlcy1jbGVhbi1hcHAuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLXBhc3Nlcy1jbGVhbi1hcHAuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLG1DQUFtQyxFQUNuQyxJQUFBLHlCQUFtQixFQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUMvRSxDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhTcGVjaWZpY0ZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5pbnRlZ1Rlc3QoXG4gICdjZGsgdmFsaWRhdGUgcGFzc2VzIGZvciBjbGVhbiBhcHAnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCd2YWxpZGF0ZS1wYXNzaW5nLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZml4dHVyZS5jZGsoXG4gICAgICBbJy0tdW5zdGFibGU9dmFsaWRhdGUnLCAndmFsaWRhdGUnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLXBhc3NpbmcnKV0sXG4gICAgKTtcblxuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignVmFsaWRhdGlvbiBkaWQgbm90IGZpbmQgYW55IHByb2JsZW1zLicpO1xuICB9KSxcbik7XG4iXX0=
@@ -8,6 +8,9 @@ const lib_1 = require("../../../lib");
8
8
  // Validate combined stack — has both a bucket (SecurityPlugin) and
9
9
  // uses the same bucket name (CFN early validation conflict)
10
10
  const output = await fixture.cdk(['--unstable=validate', 'validate', '--online', fixture.fullStackName('validate-online-combined')], {
11
+ modEnv: {
12
+ INJECT_OFFLINE_ERRORS: 'true',
13
+ },
11
14
  allowErrExit: true,
12
15
  });
13
16
  // Offline: SecurityPlugin catches the S3 bucket
@@ -21,4 +24,4 @@ const lib_1 = require("../../../lib");
21
24
  await fixture.cdk(['destroy', '--force', fixture.fullStackName('validate-online-deployed')]);
22
25
  }
23
26
  }));
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLDhEQUE4RCxFQUM5RCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsUUFBUSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUMxRixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsbUVBQW1FO1FBQ25FLDREQUE0RDtRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsRUFDbEc7WUFDRSxZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUNGLENBQUM7UUFFRixnREFBZ0Q7UUFDaEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUzQywwREFBMEQ7UUFDMUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxDQUFDO1lBQVMsQ0FBQztRQUNULE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNwZWNpZmljRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmludGVnVGVzdChcbiAgJ2NkayB2YWxpZGF0ZSAtLW9ubGluZSByZXBvcnRzIGJvdGggb2ZmbGluZSBhbmQgb25saW5lIGVycm9ycycsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ3ZhbGlkYXRlLW9ubGluZS1hcHAnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIERlcGxveSBhIHN0YWNrIHRoYXQgb3ducyB0aGUgYnVja2V0XG4gICAgYXdhaXQgZml4dHVyZS5jZGsoXG4gICAgICBbJ2RlcGxveScsICctLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXInLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1kZXBsb3llZCcpXSxcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFZhbGlkYXRlIGNvbWJpbmVkIHN0YWNrIOKAlCBoYXMgYm90aCBhIGJ1Y2tldCAoU2VjdXJpdHlQbHVnaW4pIGFuZFxuICAgICAgLy8gdXNlcyB0aGUgc2FtZSBidWNrZXQgbmFtZSAoQ0ZOIGVhcmx5IHZhbGlkYXRpb24gY29uZmxpY3QpXG4gICAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgICAgWyctLXVuc3RhYmxlPXZhbGlkYXRlJywgJ3ZhbGlkYXRlJywgJy0tb25saW5lJywgZml4dHVyZS5mdWxsU3RhY2tOYW1lKCd2YWxpZGF0ZS1vbmxpbmUtY29tYmluZWQnKV0sXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICAvLyBPZmZsaW5lOiBTZWN1cml0eVBsdWdpbiBjYXRjaGVzIHRoZSBTMyBidWNrZXRcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignUzMgQnVja2V0cyBtdXN0IG5vdCBiZSBwdWJsaWNseSBhY2Nlc3NpYmxlJyk7XG4gICAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1NlY3VyaXR5UGx1Z2luJyk7XG5cbiAgICAgIC8vIE9ubGluZTogQ2xvdWRGb3JtYXRpb24gY2F0Y2hlcyB0aGUgYnVja2V0IG5hbWUgY29uZmxpY3RcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignYWxyZWFkeSBleGlzdHMnKTtcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignQ2xvdWRGb3JtYXRpb24nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydkZXN0cm95JywgJy0tZm9yY2UnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1kZXBsb3llZCcpXSk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLDhEQUE4RCxFQUM5RCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsUUFBUSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUMxRixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsbUVBQW1FO1FBQ25FLDREQUE0RDtRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsRUFDbEc7WUFDRSxNQUFNLEVBQUU7Z0JBQ04scUJBQXFCLEVBQUUsTUFBTTthQUM5QjtZQUNELFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQ0YsQ0FBQztRQUVGLGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNDLDBEQUEwRDtRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHJlcG9ydHMgYm90aCBvZmZsaW5lIGFuZCBvbmxpbmUgZXJyb3JzJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgndmFsaWRhdGUtb25saW5lLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gRGVwbG95IGEgc3RhY2sgdGhhdCBvd25zIHRoZSBidWNrZXRcbiAgICBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnZGVwbG95JywgJy0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlcicsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLWRlcGxveWVkJyldLFxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gVmFsaWRhdGUgY29tYmluZWQgc3RhY2sg4oCUIGhhcyBib3RoIGEgYnVja2V0IChTZWN1cml0eVBsdWdpbikgYW5kXG4gICAgICAvLyB1c2VzIHRoZSBzYW1lIGJ1Y2tldCBuYW1lIChDRk4gZWFybHkgdmFsaWRhdGlvbiBjb25mbGljdClcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrKFxuICAgICAgICBbJy0tdW5zdGFibGU9dmFsaWRhdGUnLCAndmFsaWRhdGUnLCAnLS1vbmxpbmUnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1jb21iaW5lZCcpXSxcbiAgICAgICAge1xuICAgICAgICAgIG1vZEVudjoge1xuICAgICAgICAgICAgSU5KRUNUX09GRkxJTkVfRVJST1JTOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICAvLyBPZmZsaW5lOiBTZWN1cml0eVBsdWdpbiBjYXRjaGVzIHRoZSBTMyBidWNrZXRcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignUzMgQnVja2V0cyBtdXN0IG5vdCBiZSBwdWJsaWNseSBhY2Nlc3NpYmxlJyk7XG4gICAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1NlY3VyaXR5UGx1Z2luJyk7XG5cbiAgICAgIC8vIE9ubGluZTogQ2xvdWRGb3JtYXRpb24gY2F0Y2hlcyB0aGUgYnVja2V0IG5hbWUgY29uZmxpY3RcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignYWxyZWFkeSBleGlzdHMnKTtcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignQ2xvdWRGb3JtYXRpb24nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydkZXN0cm95JywgJy0tZm9yY2UnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1kZXBsb3llZCcpXSk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const lib_1 = require("../../../lib");
4
4
  (0, lib_1.integTest)('cdk validate --online passes for valid template', (0, lib_1.withSpecificFixture)('validate-online-app', async (fixture) => {
5
5
  const output = await fixture.cdk(['--unstable=validate', 'validate', '--online', fixture.fullStackName('validate-online-valid')]);
6
- expect(output).toContain('No problems found');
6
+ expect(output).toContain('Validation did not find any problems');
7
7
  }));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLGlEQUFpRCxFQUNqRCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHBhc3NlcyBmb3IgdmFsaWQgdGVtcGxhdGUnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCd2YWxpZGF0ZS1vbmxpbmUtYXBwJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnLS11bnN0YWJsZT12YWxpZGF0ZScsICd2YWxpZGF0ZScsICctLW9ubGluZScsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLXZhbGlkJyldLFxuICAgICk7XG5cbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ05vIHByb2JsZW1zIGZvdW5kJyk7XG4gIH0pLFxuKTtcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLGlEQUFpRCxFQUNqRCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsc0NBQXNDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHBhc3NlcyBmb3IgdmFsaWQgdGVtcGxhdGUnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCd2YWxpZGF0ZS1vbmxpbmUtYXBwJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnLS11bnN0YWJsZT12YWxpZGF0ZScsICd2YWxpZGF0ZScsICctLW9ubGluZScsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLXZhbGlkJyldLFxuICAgICk7XG5cbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1ZhbGlkYXRpb24gZGlkIG5vdCBmaW5kIGFueSBwcm9ibGVtcycpO1xuICB9KSxcbik7XG4iXX0=
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const child_process = require("child_process");
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const watch_helpers_1 = require("./watch-helpers");
7
+ const lib_1 = require("../../../lib");
8
+ jest.setTimeout(5 * 60 * 1000); // 5 minutes for watch tests
9
+ // Regression test for https://github.com/aws/aws-cdk-cli/issues/1647:
10
+ // a user-supplied glob scoped to a subdirectory (e.g. 'src/**/*.ts') must
11
+ // detect changes to files nested inside that directory. The chokidar v4
12
+ // `ignored` callback also gates directory traversal, so an earlier bug pruned
13
+ // the 'src' directory (which does not itself match the file glob) before any
14
+ // nested file could be discovered - watch then silently observed nothing.
15
+ (0, lib_1.integTest)('cdk watch detects file changes with a directory-scoped glob pattern', (0, lib_1.withDefaultFixture)(async (fixture) => {
16
+ // Create a watched file nested inside a subdirectory, matched by 'src/**/*.ts'.
17
+ const srcDir = path.join(fixture.integTestDir, 'src');
18
+ fs.mkdirSync(srcDir, { recursive: true });
19
+ const testFile = path.join(srcDir, 'watch-test-file.ts');
20
+ fs.writeFileSync(testFile, 'export const initial = true;');
21
+ // Update cdk.json with a watch glob scoped to the 'src' directory.
22
+ const cdkJsonPath = path.join(fixture.integTestDir, 'cdk.json');
23
+ const cdkJson = JSON.parse(fs.readFileSync(cdkJsonPath, 'utf-8'));
24
+ cdkJson.watch = {
25
+ include: ['src/**/*.ts'],
26
+ };
27
+ fs.writeFileSync(cdkJsonPath, JSON.stringify(cdkJson, null, 2));
28
+ await fixture.cli.makeCliAvailable();
29
+ let output = '';
30
+ // Start cdk watch
31
+ const watchProcess = child_process.spawn('cdk', [
32
+ 'watch', '--hotswap', '-v', fixture.fullStackName('test-1'),
33
+ ], {
34
+ cwd: fixture.integTestDir,
35
+ stdio: 'pipe',
36
+ env: { ...process.env, ...fixture.cdkShellEnv() },
37
+ });
38
+ try {
39
+ watchProcess.stdout?.on('data', (data) => {
40
+ output += data.toString();
41
+ fixture.log(data.toString());
42
+ });
43
+ watchProcess.stderr?.on('data', (data) => {
44
+ output += data.toString();
45
+ fixture.log(data.toString());
46
+ });
47
+ await (0, watch_helpers_1.waitForOutput)(() => output, "Triggering initial 'cdk deploy'");
48
+ fixture.log('✓ Watch start detected');
49
+ await (0, watch_helpers_1.waitForOutput)(() => output, 'deployment time');
50
+ fixture.log('✓ Initial deployment completed');
51
+ // Modify the nested file to trigger a watch event. Before the fix the
52
+ // 'src' directory was pruned, so this change was never detected.
53
+ fs.writeFileSync(testFile, 'export const modified = true;');
54
+ await (0, watch_helpers_1.waitForOutput)(() => output, 'Detected change to');
55
+ fixture.log('✓ Watch detected change to file nested under a directory-scoped glob');
56
+ // Wait for the second deployment to complete (2 occurrences of 'deployment time')
57
+ await (0, watch_helpers_1.waitForCondition)(() => (output.match(/deployment time/g) || []).length >= 2);
58
+ fixture.log('✓ Second deployment completed');
59
+ }
60
+ finally {
61
+ (0, watch_helpers_1.safeKillProcess)(watchProcess);
62
+ }
63
+ expect.assertions(4);
64
+ }));
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXdhdGNoLWRldGVjdHMtZmlsZS1jaGFuZ2VzLXdpdGgtZGlyZWN0b3J5LXNjb3BlZC1nbG9iLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay13YXRjaC1kZXRlY3RzLWZpbGUtY2hhbmdlcy13aXRoLWRpcmVjdG9yeS1zY29wZWQtZ2xvYi5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBK0M7QUFDL0MseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixtREFBbUY7QUFDbkYsc0NBQTZEO0FBRTdELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtBQUU1RCxzRUFBc0U7QUFDdEUsMEVBQTBFO0FBQzFFLHdFQUF3RTtBQUN4RSw4RUFBOEU7QUFDOUUsNkVBQTZFO0FBQzdFLDBFQUEwRTtBQUMxRSxJQUFBLGVBQVMsRUFDUCxxRUFBcUUsRUFDckUsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsZ0ZBQWdGO0lBQ2hGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDekQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsOEJBQThCLENBQUMsQ0FBQztJQUUzRCxtRUFBbUU7SUFDbkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxPQUFPLENBQUMsS0FBSyxHQUFHO1FBQ2QsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQ3pCLENBQUM7SUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUVyQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFaEIsa0JBQWtCO0lBQ2xCLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0tBQzVELEVBQUU7UUFDRCxHQUFHLEVBQUUsT0FBTyxDQUFDLFlBQVk7UUFDekIsS0FBSyxFQUFFLE1BQU07UUFDYixHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUU7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDO1FBQ0gsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFBLDZCQUFhLEVBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sSUFBQSw2QkFBYSxFQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUU5QyxzRUFBc0U7UUFDdEUsaUVBQWlFO1FBQ2pFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFFNUQsTUFBTSxJQUFBLDZCQUFhLEVBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO1FBRXBGLGtGQUFrRjtRQUNsRixNQUFNLElBQUEsZ0NBQWdCLEVBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUMvQyxDQUFDO1lBQVMsQ0FBQztRQUNULElBQUEsK0JBQWUsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hpbGRfcHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyB3YWl0Rm9yT3V0cHV0LCB3YWl0Rm9yQ29uZGl0aW9uLCBzYWZlS2lsbFByb2Nlc3MgfSBmcm9tICcuL3dhdGNoLWhlbHBlcnMnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoNSAqIDYwICogMTAwMCk7IC8vIDUgbWludXRlcyBmb3Igd2F0Y2ggdGVzdHNcblxuLy8gUmVncmVzc2lvbiB0ZXN0IGZvciBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGstY2xpL2lzc3Vlcy8xNjQ3OlxuLy8gYSB1c2VyLXN1cHBsaWVkIGdsb2Igc2NvcGVkIHRvIGEgc3ViZGlyZWN0b3J5IChlLmcuICdzcmMvKiovKi50cycpIG11c3Rcbi8vIGRldGVjdCBjaGFuZ2VzIHRvIGZpbGVzIG5lc3RlZCBpbnNpZGUgdGhhdCBkaXJlY3RvcnkuIFRoZSBjaG9raWRhciB2NFxuLy8gYGlnbm9yZWRgIGNhbGxiYWNrIGFsc28gZ2F0ZXMgZGlyZWN0b3J5IHRyYXZlcnNhbCwgc28gYW4gZWFybGllciBidWcgcHJ1bmVkXG4vLyB0aGUgJ3NyYycgZGlyZWN0b3J5ICh3aGljaCBkb2VzIG5vdCBpdHNlbGYgbWF0Y2ggdGhlIGZpbGUgZ2xvYikgYmVmb3JlIGFueVxuLy8gbmVzdGVkIGZpbGUgY291bGQgYmUgZGlzY292ZXJlZCAtIHdhdGNoIHRoZW4gc2lsZW50bHkgb2JzZXJ2ZWQgbm90aGluZy5cbmludGVnVGVzdChcbiAgJ2NkayB3YXRjaCBkZXRlY3RzIGZpbGUgY2hhbmdlcyB3aXRoIGEgZGlyZWN0b3J5LXNjb3BlZCBnbG9iIHBhdHRlcm4nLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBDcmVhdGUgYSB3YXRjaGVkIGZpbGUgbmVzdGVkIGluc2lkZSBhIHN1YmRpcmVjdG9yeSwgbWF0Y2hlZCBieSAnc3JjLyoqLyoudHMnLlxuICAgIGNvbnN0IHNyY0RpciA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ3NyYycpO1xuICAgIGZzLm1rZGlyU3luYyhzcmNEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGNvbnN0IHRlc3RGaWxlID0gcGF0aC5qb2luKHNyY0RpciwgJ3dhdGNoLXRlc3QtZmlsZS50cycpO1xuICAgIGZzLndyaXRlRmlsZVN5bmModGVzdEZpbGUsICdleHBvcnQgY29uc3QgaW5pdGlhbCA9IHRydWU7Jyk7XG5cbiAgICAvLyBVcGRhdGUgY2RrLmpzb24gd2l0aCBhIHdhdGNoIGdsb2Igc2NvcGVkIHRvIHRoZSAnc3JjJyBkaXJlY3RvcnkuXG4gICAgY29uc3QgY2RrSnNvblBhdGggPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdjZGsuanNvbicpO1xuICAgIGNvbnN0IGNka0pzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjZGtKc29uUGF0aCwgJ3V0Zi04JykpO1xuICAgIGNka0pzb24ud2F0Y2ggPSB7XG4gICAgICBpbmNsdWRlOiBbJ3NyYy8qKi8qLnRzJ10sXG4gICAgfTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGNka0pzb25QYXRoLCBKU09OLnN0cmluZ2lmeShjZGtKc29uLCBudWxsLCAyKSk7XG5cbiAgICBhd2FpdCBmaXh0dXJlLmNsaS5tYWtlQ2xpQXZhaWxhYmxlKCk7XG5cbiAgICBsZXQgb3V0cHV0ID0gJyc7XG5cbiAgICAvLyBTdGFydCBjZGsgd2F0Y2hcbiAgICBjb25zdCB3YXRjaFByb2Nlc3MgPSBjaGlsZF9wcm9jZXNzLnNwYXduKCdjZGsnLCBbXG4gICAgICAnd2F0Y2gnLCAnLS1ob3Rzd2FwJywgJy12JywgZml4dHVyZS5mdWxsU3RhY2tOYW1lKCd0ZXN0LTEnKSxcbiAgICBdLCB7XG4gICAgICBjd2Q6IGZpeHR1cmUuaW50ZWdUZXN0RGlyLFxuICAgICAgc3RkaW86ICdwaXBlJyxcbiAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgLi4uZml4dHVyZS5jZGtTaGVsbEVudigpIH0sXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgd2F0Y2hQcm9jZXNzLnN0ZG91dD8ub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAgICAgICBvdXRwdXQgKz0gZGF0YS50b1N0cmluZygpO1xuICAgICAgICBmaXh0dXJlLmxvZyhkYXRhLnRvU3RyaW5nKCkpO1xuICAgICAgfSk7XG4gICAgICB3YXRjaFByb2Nlc3Muc3RkZXJyPy5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gICAgICAgIG91dHB1dCArPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgICAgIGZpeHR1cmUubG9nKGRhdGEudG9TdHJpbmcoKSk7XG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgd2FpdEZvck91dHB1dCgoKSA9PiBvdXRwdXQsIFwiVHJpZ2dlcmluZyBpbml0aWFsICdjZGsgZGVwbG95J1wiKTtcbiAgICAgIGZpeHR1cmUubG9nKCfinJMgV2F0Y2ggc3RhcnQgZGV0ZWN0ZWQnKTtcblxuICAgICAgYXdhaXQgd2FpdEZvck91dHB1dCgoKSA9PiBvdXRwdXQsICdkZXBsb3ltZW50IHRpbWUnKTtcbiAgICAgIGZpeHR1cmUubG9nKCfinJMgSW5pdGlhbCBkZXBsb3ltZW50IGNvbXBsZXRlZCcpO1xuXG4gICAgICAvLyBNb2RpZnkgdGhlIG5lc3RlZCBmaWxlIHRvIHRyaWdnZXIgYSB3YXRjaCBldmVudC4gQmVmb3JlIHRoZSBmaXggdGhlXG4gICAgICAvLyAnc3JjJyBkaXJlY3Rvcnkgd2FzIHBydW5lZCwgc28gdGhpcyBjaGFuZ2Ugd2FzIG5ldmVyIGRldGVjdGVkLlxuICAgICAgZnMud3JpdGVGaWxlU3luYyh0ZXN0RmlsZSwgJ2V4cG9ydCBjb25zdCBtb2RpZmllZCA9IHRydWU7Jyk7XG5cbiAgICAgIGF3YWl0IHdhaXRGb3JPdXRwdXQoKCkgPT4gb3V0cHV0LCAnRGV0ZWN0ZWQgY2hhbmdlIHRvJyk7XG4gICAgICBmaXh0dXJlLmxvZygn4pyTIFdhdGNoIGRldGVjdGVkIGNoYW5nZSB0byBmaWxlIG5lc3RlZCB1bmRlciBhIGRpcmVjdG9yeS1zY29wZWQgZ2xvYicpO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgc2Vjb25kIGRlcGxveW1lbnQgdG8gY29tcGxldGUgKDIgb2NjdXJyZW5jZXMgb2YgJ2RlcGxveW1lbnQgdGltZScpXG4gICAgICBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IChvdXRwdXQubWF0Y2goL2RlcGxveW1lbnQgdGltZS9nKSB8fCBbXSkubGVuZ3RoID49IDIpO1xuICAgICAgZml4dHVyZS5sb2coJ+KckyBTZWNvbmQgZGVwbG95bWVudCBjb21wbGV0ZWQnKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2FmZUtpbGxQcm9jZXNzKHdhdGNoUHJvY2Vzcyk7XG4gICAgfVxuXG4gICAgZXhwZWN0LmFzc2VydGlvbnMoNCk7XG4gIH0pLFxuKTtcbiJdfQ==