@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.
- package/npm-shrinkwrap.json +229 -54
- package/package.json +2 -2
- package/resources/cdk-apps/validate-online-app/app.js +3 -1
- package/tests/cli-integ-tests/list/cdk-cdk-ls-ci-no-synth-time-on-stdout.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/list/cdk-cdk-ls-ci-no-synth-time-on-stdout.integtest.js +19 -0
- package/tests/cli-integ-tests/validate/cdk-validate-passes-clean-app.integtest.js +2 -2
- package/tests/cli-integ-tests/validate-online/cdk-validate-online-combined-offline-and-online.integtest.js +4 -1
- package/tests/cli-integ-tests/validate-online/cdk-validate-online-passes-valid-template.integtest.js +2 -2
- package/tests/cli-integ-tests/watch/cdk-watch-detects-file-changes-with-directory-scoped-glob.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/watch/cdk-watch-detects-file-changes-with-directory-scoped-glob.integtest.js +65 -0
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk-testing/cli-integ",
|
|
3
|
-
"version": "3.33.
|
|
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.
|
|
4673
|
-
"integrity": "10c0/
|
|
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.
|
|
5220
|
-
"integrity": "10c0/
|
|
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.
|
|
7263
|
-
"integrity": "10c0/
|
|
7264
|
-
"requires": {
|
|
7265
|
-
"@babel/code-frame": "^7.29.
|
|
7266
|
-
"@babel/generator": "^7.29.
|
|
7267
|
-
"@babel/helper-compilation-targets": "^7.
|
|
7268
|
-
"@babel/helper-module-transforms": "^7.
|
|
7269
|
-
"@babel/helpers": "^7.
|
|
7270
|
-
"@babel/parser": "^7.29.
|
|
7271
|
-
"@babel/template": "^7.
|
|
7272
|
-
"@babel/traverse": "^7.29.
|
|
7273
|
-
"@babel/types": "^7.29.
|
|
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.
|
|
8064
|
-
"integrity": "10c0/
|
|
8106
|
+
"version": "7.29.7",
|
|
8107
|
+
"integrity": "10c0/4c15fd4c69a0a7047799a28a88460c19cede0a0ee8af994ea169114986f4af48b92c7393a4a3fee0456c11a656eece3448a6ed06354453d6c27cccf17195453b",
|
|
8065
8108
|
"requires": {
|
|
8066
|
-
"@babel/compat-data": "^7.
|
|
8067
|
-
"@babel/helper-validator-option": "^7.
|
|
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.
|
|
8092
|
-
"integrity": "10c0/
|
|
8134
|
+
"version": "7.29.7",
|
|
8135
|
+
"integrity": "10c0/ee5a2172c24a42be696836f4b0d947489c9729d8adf5821885cf77d1ad5333e3c447368e9a71f67df1099570490553dccf9f888ef0a92a48aa63cb086bd8c7e1",
|
|
8093
8136
|
"requires": {
|
|
8094
|
-
"@babel/helper-module-imports": "^7.
|
|
8095
|
-
"@babel/helper-validator-identifier": "^7.
|
|
8096
|
-
"@babel/traverse": "^7.
|
|
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.
|
|
8101
|
-
"integrity": "10c0/
|
|
8149
|
+
"version": "7.29.7",
|
|
8150
|
+
"integrity": "10c0/218e8d10953647c9f44775f5a022b227a182674853b5ea8631889deb7e1a3e4bc870388aaecf59bb8bd92a87f9a96220ed3f70a35bffec6bcf9169ecb67891ac",
|
|
8102
8151
|
"requires": {
|
|
8103
|
-
"@babel/template": "^7.
|
|
8104
|
-
"@babel/types": "^7.29.
|
|
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.
|
|
8109
|
-
"integrity": "10c0/
|
|
8175
|
+
"version": "7.29.7",
|
|
8176
|
+
"integrity": "10c0/8bb7f900dcab0e9e1c5ffbc33ca10e0d26b7b2e2ca804becb73ee771b9c4ed6e2908a4ae4a14c08560febb45d2b6b9a173955e42ad404d05f8b04840a14d9c58",
|
|
8110
8177
|
"requires": {
|
|
8111
|
-
"@babel/code-frame": "^7.
|
|
8112
|
-
"@babel/parser": "^7.
|
|
8113
|
-
"@babel/types": "^7.
|
|
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.
|
|
8118
|
-
"integrity": "10c0/
|
|
8119
|
-
"requires": {
|
|
8120
|
-
"@babel/code-frame": "^7.29.
|
|
8121
|
-
"@babel/generator": "^7.29.
|
|
8122
|
-
"@babel/helper-globals": "^7.
|
|
8123
|
-
"@babel/parser": "^7.29.
|
|
8124
|
-
"@babel/template": "^7.
|
|
8125
|
-
"@babel/types": "^7.29.
|
|
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.
|
|
8621
|
-
"integrity": "10c0/
|
|
8766
|
+
"version": "7.29.7",
|
|
8767
|
+
"integrity": "10c0/47913f05e08a45a1c9df38c02b4b49e391005085b489432647a1abe112e5d9c75e3be8ea5972b7f6da4ec5d1339922ceb9ea02b8a25d4ed1cb8636e5261f344e"
|
|
8622
8768
|
},
|
|
8623
8769
|
"@babel/helper-validator-option": {
|
|
8624
|
-
"version": "7.
|
|
8625
|
-
"integrity": "10c0/
|
|
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.
|
|
8640
|
-
"integrity": "10c0/
|
|
8785
|
+
"version": "7.29.7",
|
|
8786
|
+
"integrity": "10c0/6adf60d97356027413342a092f818d9678c4f5caff716a33e3284b5ae14e47a9e88059d421dde4ee4894691260039a12602c0e7becadc175602194b40dfa345d",
|
|
8641
8787
|
"requires": {
|
|
8642
|
-
"@babel/traverse": "^7.
|
|
8643
|
-
"@babel/types": "^7.
|
|
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.
|
|
8648
|
-
"integrity": "10c0/
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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('
|
|
6
|
+
expect(output).toContain('Validation did not find any problems.');
|
|
7
7
|
}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLDhEQUE4RCxFQUM5RCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsUUFBUSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUMxRixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsbUVBQW1FO1FBQ25FLDREQUE0RDtRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsRUFDbEc7WUFDRSxNQUFNLEVBQUU7Z0JBQ04scUJBQXFCLEVBQUUsTUFBTTthQUM5QjtZQUNELFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQ0YsQ0FBQztRQUVGLGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNDLDBEQUEwRDtRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHJlcG9ydHMgYm90aCBvZmZsaW5lIGFuZCBvbmxpbmUgZXJyb3JzJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgndmFsaWRhdGUtb25saW5lLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gRGVwbG95IGEgc3RhY2sgdGhhdCBvd25zIHRoZSBidWNrZXRcbiAgICBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnZGVwbG95JywgJy0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlcicsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLWRlcGxveWVkJyldLFxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gVmFsaWRhdGUgY29tYmluZWQgc3RhY2sg4oCUIGhhcyBib3RoIGEgYnVja2V0IChTZWN1cml0eVBsdWdpbikgYW5kXG4gICAgICAvLyB1c2VzIHRoZSBzYW1lIGJ1Y2tldCBuYW1lIChDRk4gZWFybHkgdmFsaWRhdGlvbiBjb25mbGljdClcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrKFxuICAgICAgICBbJy0tdW5zdGFibGU9dmFsaWRhdGUnLCAndmFsaWRhdGUnLCAnLS1vbmxpbmUnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1jb21iaW5lZCcpXSxcbiAgICAgICAge1xuICAgICAgICAgIG1vZEVudjoge1xuICAgICAgICAgICAgSU5KRUNUX09GRkxJTkVfRVJST1JTOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICAvLyBPZmZsaW5lOiBTZWN1cml0eVBsdWdpbiBjYXRjaGVzIHRoZSBTMyBidWNrZXRcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignUzMgQnVja2V0cyBtdXN0IG5vdCBiZSBwdWJsaWNseSBhY2Nlc3NpYmxlJyk7XG4gICAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1NlY3VyaXR5UGx1Z2luJyk7XG5cbiAgICAgIC8vIE9ubGluZTogQ2xvdWRGb3JtYXRpb24gY2F0Y2hlcyB0aGUgYnVja2V0IG5hbWUgY29uZmxpY3RcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignYWxyZWFkeSBleGlzdHMnKTtcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignQ2xvdWRGb3JtYXRpb24nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydkZXN0cm95JywgJy0tZm9yY2UnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1kZXBsb3llZCcpXSk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=
|
package/tests/cli-integ-tests/validate-online/cdk-validate-online-passes-valid-template.integtest.js
CHANGED
|
@@ -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('
|
|
6
|
+
expect(output).toContain('Validation did not find any problems');
|
|
7
7
|
}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1wYXNzZXMtdmFsaWQtdGVtcGxhdGUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLGlEQUFpRCxFQUNqRCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsc0NBQXNDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHBhc3NlcyBmb3IgdmFsaWQgdGVtcGxhdGUnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCd2YWxpZGF0ZS1vbmxpbmUtYXBwJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnLS11bnN0YWJsZT12YWxpZGF0ZScsICd2YWxpZGF0ZScsICctLW9ubGluZScsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLXZhbGlkJyldLFxuICAgICk7XG5cbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1ZhbGlkYXRpb24gZGlkIG5vdCBmaW5kIGFueSBwcm9ibGVtcycpO1xuICB9KSxcbik7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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==
|