@aws-cdk/toolkit-lib 1.10.3 → 1.11.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/build-info.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "comment": "Generated at 2025-11-06T20:17:58Z by build-info.sh",
3
- "commit": "779352d"
2
+ "comment": "Generated at 2025-11-19T12:11:51Z by build-info.sh",
3
+ "commit": "1ec3310"
4
4
  }
@@ -86,6 +86,17 @@ export interface AwsCliCompatibleOptions {
86
86
  * @default - Use environment variable if set.
87
87
  */
88
88
  readonly profile?: string;
89
+ /**
90
+ * Use a different default region than the one in the profile
91
+ *
92
+ * If not supplied the environment variable AWS_REGION will be used, or
93
+ * whatever region is set in the indicated profile in `~/.aws/config`.
94
+ * If no region is set in the profile the region in `[default]` will
95
+ * be used.
96
+ *
97
+ * @default - Use region from `~/.aws/config`.
98
+ */
99
+ readonly defaultRegion?: string;
89
100
  }
90
101
  export interface CustomBaseCredentialsOption {
91
102
  /**
@@ -40,10 +40,13 @@ class BaseCredentials {
40
40
  */
41
41
  static awsCliCompatible(options = {}) {
42
42
  return new class {
43
- sdkBaseConfig(ioHost, clientConfig) {
43
+ async sdkBaseConfig(ioHost, clientConfig) {
44
44
  const ioHelper = private_1.IoHelper.fromActionAwareIoHost(ioHost);
45
45
  const awsCli = new awscli_compatible_1.AwsCliCompatible(ioHelper, clientConfig.requestHandler ?? {}, new sdk_logger_1.IoHostSdkLogger(ioHelper));
46
- return awsCli.baseConfig(options.profile);
46
+ const ret = await awsCli.baseConfig(options.profile);
47
+ return options.defaultRegion
48
+ ? { ...ret, defaultRegion: options.defaultRegion }
49
+ : ret;
47
50
  }
48
51
  toString() {
49
52
  return `BaseCredentials.awsCliCompatible(${JSON.stringify(options)})`;
@@ -76,4 +79,4 @@ class BaseCredentials {
76
79
  }
77
80
  }
78
81
  exports.BaseCredentials = BaseCredentials;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcmVkZW50aWFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UtY3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsMkRBQXVEO0FBQ3ZELCtEQUFrRTtBQUVsRSw2Q0FBK0M7QUFDL0MsMkNBQXlDO0FBa0R6QyxNQUFhLGVBQWU7SUFDMUI7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJO1lBQ0YsS0FBSyxDQUFDLGFBQWE7Z0JBQ3hCLE9BQU87b0JBQ0wsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO3dCQUN2QixNQUFNLElBQUksbUNBQW1CLENBQUMsd0RBQXdELENBQUMsQ0FBQztvQkFDMUYsQ0FBQztpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVNLFFBQVE7Z0JBQ2IsT0FBTyx3QkFBd0IsQ0FBQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQW1DLEVBQUU7UUFDbEUsT0FBTyxJQUFJO1lBQ0YsYUFBYSxDQUFDLE1BQTBCLEVBQUUsWUFBaUM7Z0JBQ2hGLE1BQU0sUUFBUSxHQUFHLGtCQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksb0NBQWdCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxjQUFjLElBQUksRUFBRSxFQUFFLElBQUksNEJBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNoSCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFFTSxRQUFRO2dCQUNiLE9BQU8sb0NBQW9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN4RSxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFvQztRQUN2RCxPQUFPLElBQUk7WUFDRixhQUFhO2dCQUNsQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7b0JBQ3JCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxRQUFRO29CQUNwQyxhQUFhLEVBQUUsT0FBTyxDQUFDLE1BQU07aUJBQzlCLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFTSxRQUFRO2dCQUNiLE9BQU8sMEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQzlDLEdBQUcsT0FBTztvQkFDVixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQyxHQUFHLENBQUM7WUFDUixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFFRCwwQ0EwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIGh0dHAgZnJvbSAnbm9kZTpodHRwJztcbmltcG9ydCB0eXBlICogYXMgaHR0cHMgZnJvbSAnbm9kZTpodHRwcyc7XG5pbXBvcnQgdHlwZSB7IFNES3YzQ29tcGF0aWJsZUNyZWRlbnRpYWxQcm92aWRlciB9IGZyb20gJ0Bhd3MtY2RrL2NsaS1wbHVnaW4tY29udHJhY3QnO1xuaW1wb3J0IHsgQXdzQ2xpQ29tcGF0aWJsZSB9IGZyb20gJy4vYXdzY2xpLWNvbXBhdGlibGUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25FcnJvciB9IGZyb20gJy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5pbXBvcnQgdHlwZSB7IElBY3Rpb25Bd2FyZUlvSG9zdCB9IGZyb20gJy4uL2lvJztcbmltcG9ydCB7IElvSG9zdFNka0xvZ2dlciB9IGZyb20gJy4vc2RrLWxvZ2dlcic7XG5pbXBvcnQgeyBJb0hlbHBlciB9IGZyb20gJy4uL2lvL3ByaXZhdGUnO1xuXG4vKipcbiAqIFNldHRpbmdzIGZvciB0aGUgcmVxdWVzdCBoYW5kbGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0SGFuZGxlclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gMCwgd2hpY2ggZGlzYWJsZXMgdGhlIHRpbWVvdXQuXG4gICAqL1xuICBjb25uZWN0aW9uVGltZW91dD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGEgcmVxdWVzdCBjYW4gdGFrZSBiZWZvcmUgYXV0b21hdGljYWxseSBiZWluZyB0ZXJtaW5hdGVkLlxuICAgKiBEZWZhdWx0cyB0byAwLCB3aGljaCBkaXNhYmxlcyB0aGUgdGltZW91dC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xuICAvKipcbiAgICogQW4gaHR0cC5BZ2VudCB0byBiZSB1c2VkXG4gICAqL1xuICBodHRwQWdlbnQ/OiBodHRwLkFnZW50O1xuICAvKipcbiAgICogQW4gaHR0cHMuQWdlbnQgdG8gYmUgdXNlZFxuICAgKi9cbiAgaHR0cHNBZ2VudD86IGh0dHBzLkFnZW50O1xufVxuXG4vKipcbiAqIEFuIFNESyBjb25maWcgdGhhdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNka0Jhc2VDb25maWcge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgdG8gdXNlIGZvciBTREsgY2FsbHMuXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXI6IFNES3YzQ29tcGF0aWJsZUNyZWRlbnRpYWxQcm92aWRlcjtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHJlZ2lvbiB0byB1c2UgZm9yIFNESyBjYWxscy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2RrQmFzZUNsaWVudENvbmZpZyB7XG4gIHJlcXVlc3RIYW5kbGVyPzogUmVxdWVzdEhhbmRsZXJTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICBzZGtCYXNlQ29uZmlnKGlvSG9zdDogSUFjdGlvbkF3YXJlSW9Ib3N0LCBjbGllbnRDb25maWc6IFNka0Jhc2VDbGllbnRDb25maWcpOiBQcm9taXNlPFNka0Jhc2VDb25maWc+O1xufVxuXG5leHBvcnQgY2xhc3MgQmFzZUNyZWRlbnRpYWxzIHtcbiAgLyoqXG4gICAqIFVzZSBubyBiYXNlIGNyZWRlbnRpYWxzXG4gICAqXG4gICAqIFRoZXJlIHdpbGwgYmUgbm8gY3VycmVudCBhY2NvdW50IGFuZCBubyBjdXJyZW50IHJlZ2lvbiBkdXJpbmcgc3ludGhlc2lzLiBUb1xuICAgKiBzdWNjZXNzZnVsbHkgZGVwbG95IHdpdGggdGhpcyBzZXQgb2YgYmFzZSBjcmVkZW50aWFsczpcbiAgICpcbiAgICogLSBUaGUgQ0RLIGFwcCBtdXN0IHByb3ZpZGUgY29uY3JldGUgYWNjb3VudHMgYW5kIHJlZ2lvbnMgZHVyaW5nIHN5bnRoZXNpc1xuICAgKiAtIENyZWRlbnRpYWwgcGx1Z2lucyBtdXN0IGJlIGluc3RhbGxlZCB0byBwcm92aWRlIGNyZWRlbnRpYWxzIGZvciB0aG9zZVxuICAgKiAgIGFjY291bnRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub25lKCk6IElCYXNlQ3JlZGVudGlhbHNQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBpbXBsZW1lbnRzIElCYXNlQ3JlZGVudGlhbHNQcm92aWRlciB7XG4gICAgICBwdWJsaWMgYXN5bmMgc2RrQmFzZUNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjcmVkZW50aWFsUHJvdmlkZXI6ICgpID0+IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKCdObyBjcmVkZW50aWFscyBhdmFpbGFibGUgZHVlIHRvIEJhc2VDcmVkZW50aWFscy5ub25lKCknKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiAnQmFzZUNyZWRlbnRpYWxzLm5vbmUoKSc7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW4gYmFzZSBjcmVkZW50aWFscyBhbmQgYmFzZSByZWdpb24gdGhlIHNhbWUgd2F5IHRoZSBBV1MgQ0xJIHdvdWxkXG4gICAqXG4gICAqIENyZWRlbnRpYWxzIGFuZCByZWdpb24gd2lsbCBiZSByZWFkIGZyb20gdGhlIGVudmlyb25tZW50IGZpcnN0LCBmYWxsaW5nIGJhY2tcbiAgICogdG8gSU5JIGZpbGVzIG9yIG90aGVyIHNvdXJjZXMgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBUaGUgcHJvZmlsZSBuYW1lIGlzIGNvbmZpZ3VyYWJsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXdzQ2xpQ29tcGF0aWJsZShvcHRpb25zOiBBd3NDbGlDb21wYXRpYmxlT3B0aW9ucyA9IHt9KTogSUJhc2VDcmVkZW50aWFsc1Byb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IGNsYXNzIGltcGxlbWVudHMgSUJhc2VDcmVkZW50aWFsc1Byb3ZpZGVyIHtcbiAgICAgIHB1YmxpYyBzZGtCYXNlQ29uZmlnKGlvSG9zdDogSUFjdGlvbkF3YXJlSW9Ib3N0LCBjbGllbnRDb25maWc6IFNka0Jhc2VDbGllbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgaW9IZWxwZXIgPSBJb0hlbHBlci5mcm9tQWN0aW9uQXdhcmVJb0hvc3QoaW9Ib3N0KTtcbiAgICAgICAgY29uc3QgYXdzQ2xpID0gbmV3IEF3c0NsaUNvbXBhdGlibGUoaW9IZWxwZXIsIGNsaWVudENvbmZpZy5yZXF1ZXN0SGFuZGxlciA/PyB7fSwgbmV3IElvSG9zdFNka0xvZ2dlcihpb0hlbHBlcikpO1xuICAgICAgICByZXR1cm4gYXdzQ2xpLmJhc2VDb25maWcob3B0aW9ucy5wcm9maWxlKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gYEJhc2VDcmVkZW50aWFscy5hd3NDbGlDb21wYXRpYmxlKCR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9KWA7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYSBjdXN0b20gU0RLIGlkZW50aXR5IHByb3ZpZGVyIGZvciB0aGUgYmFzZSBjcmVkZW50aWFsc1xuICAgKlxuICAgKiBJZiB5b3VyIHByb3ZpZGVyIHVzZXMgU1RTIGNhbGxzIHRvIG9idGFpbiBiYXNlIGNyZWRlbnRpYWxzLCB5b3UgbXVzdCBtYWtlXG4gICAqIHN1cmUgdG8gYWxzbyBjb25maWd1cmUgdGhlIG5lY2Vzc2FyeSBIVFRQIG9wdGlvbnMgKGxpa2UgcHJveHkgYW5kIHVzZXJcbiAgICogYWdlbnQpIGFuZCB0aGUgcmVnaW9uIG9uIHRoZSBTVFMgY2xpZW50IGRpcmVjdGx5OyB0aGUgdG9vbGtpdCBjb2RlIGNhbm5vdFxuICAgKiBkbyB0aGlzIGZvciB5b3UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShvcHRpb25zOiBDdXN0b21CYXNlQ3JlZGVudGlhbHNPcHRpb24pOiBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgY2xhc3MgaW1wbGVtZW50cyBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgICAgcHVibGljIHNka0Jhc2VDb25maWcoKTogUHJvbWlzZTxTZGtCYXNlQ29uZmlnPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIGNyZWRlbnRpYWxQcm92aWRlcjogb3B0aW9ucy5wcm92aWRlcixcbiAgICAgICAgICBkZWZhdWx0UmVnaW9uOiBvcHRpb25zLnJlZ2lvbixcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGBCYXNlQ3JlZGVudGlhbHMuY3VzdG9tKCR7SlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgcHJvdmlkZXI6ICcuLi4nLFxuICAgICAgICB9KX0pYDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2xpQ29tcGF0aWJsZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb2ZpbGUgdG8gcmVhZCBmcm9tIGB+Ly5hd3MvY3JlZGVudGlhbHNgLlxuICAgKlxuICAgKiBJZiBub3Qgc3VwcGxpZWQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19QUk9GSUxFIHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21CYXNlQ3JlZGVudGlhbHNPcHRpb24ge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWxzIHByb3ZpZGVyIHRvIHVzZSB0byBvYnRhaW4gYmFzZSBjcmVkZW50aWFsc1xuICAgKlxuICAgKiBJZiB5b3VyIHByb3ZpZGVyIHVzZXMgU1RTIGNhbGxzIHRvIG9idGFpbiBiYXNlIGNyZWRlbnRpYWxzLCB5b3UgbXVzdCBtYWtlXG4gICAqIHN1cmUgdG8gYWxzbyBjb25maWd1cmUgdGhlIG5lY2Vzc2FyeSBIVFRQIG9wdGlvbnMgKGxpa2UgcHJveHkgYW5kIHVzZXJcbiAgICogYWdlbnQpIG9uIHRoZSBTVFMgY2xpZW50IGRpcmVjdGx5OyB0aGUgdG9vbGtpdCBjb2RlIGNhbm5vdCBkbyB0aGlzIGZvciB5b3UuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogU0RLdjNDb21wYXRpYmxlQ3JlZGVudGlhbFByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByZWdpb24gdG8gc3ludGhlc2l6ZSBmb3JcbiAgICpcbiAgICogQ0RLIGFwcGxpY2F0aW9ucyBjYW4gb3ZlcnJpZGUgdGhpcyByZWdpb24uIE5PVEU6IHRoaXMgcmVnaW9uIHdpbGwgKm5vdCpcbiAgICogYWZmZWN0IGFueSBTVFMgY2FsbHMgbWFkZSBieSB0aGUgZ2l2ZW4gcHJvdmlkZXIsIGlmIGFueS4gWW91IG5lZWQgdG8gY29uZmlndXJlXG4gICAqIHlvdXIgY3JlZGVudGlhbCBwcm92aWRlciBzZXBhcmF0ZWx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAndXMtZWFzdC0xJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcmVkZW50aWFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UtY3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsMkRBQXVEO0FBQ3ZELCtEQUFrRTtBQUVsRSw2Q0FBK0M7QUFDL0MsMkNBQXlDO0FBa0R6QyxNQUFhLGVBQWU7SUFDMUI7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFJO1lBQ0YsS0FBSyxDQUFDLGFBQWE7Z0JBQ3hCLE9BQU87b0JBQ0wsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO3dCQUN2QixNQUFNLElBQUksbUNBQW1CLENBQUMsd0RBQXdELENBQUMsQ0FBQztvQkFDMUYsQ0FBQztpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVNLFFBQVE7Z0JBQ2IsT0FBTyx3QkFBd0IsQ0FBQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQW1DLEVBQUU7UUFDbEUsT0FBTyxJQUFJO1lBQ0YsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUEwQixFQUFFLFlBQWlDO2dCQUN0RixNQUFNLFFBQVEsR0FBRyxrQkFBUSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9DQUFnQixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxJQUFJLDRCQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFFaEgsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckQsT0FBTyxPQUFPLENBQUMsYUFBYTtvQkFDMUIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUU7b0JBQ2xELENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDVixDQUFDO1lBRU0sUUFBUTtnQkFDYixPQUFPLG9DQUFvQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDeEUsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBb0M7UUFDdkQsT0FBTyxJQUFJO1lBQ0YsYUFBYTtnQkFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO29CQUNyQixrQkFBa0IsRUFBRSxPQUFPLENBQUMsUUFBUTtvQkFDcEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2lCQUM5QixDQUFDLENBQUM7WUFDTCxDQUFDO1lBRU0sUUFBUTtnQkFDYixPQUFPLDBCQUEwQixJQUFJLENBQUMsU0FBUyxDQUFDO29CQUM5QyxHQUFHLE9BQU87b0JBQ1YsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCLENBQUMsR0FBRyxDQUFDO1lBQ1IsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE5RUQsMENBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBodHRwIGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgdHlwZSAqIGFzIGh0dHBzIGZyb20gJ25vZGU6aHR0cHMnO1xuaW1wb3J0IHR5cGUgeyBTREt2M0NvbXBhdGlibGVDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tICdAYXdzLWNkay9jbGktcGx1Z2luLWNvbnRyYWN0JztcbmltcG9ydCB7IEF3c0NsaUNvbXBhdGlibGUgfSBmcm9tICcuL2F3c2NsaS1jb21wYXRpYmxlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuaW1wb3J0IHR5cGUgeyBJQWN0aW9uQXdhcmVJb0hvc3QgfSBmcm9tICcuLi9pbyc7XG5pbXBvcnQgeyBJb0hvc3RTZGtMb2dnZXIgfSBmcm9tICcuL3Nkay1sb2dnZXInO1xuaW1wb3J0IHsgSW9IZWxwZXIgfSBmcm9tICcuLi9pby9wcml2YXRlJztcblxuLyoqXG4gKiBTZXR0aW5ncyBmb3IgdGhlIHJlcXVlc3QgaGFuZGxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEhhbmRsZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIDAsIHdoaWNoIGRpc2FibGVzIHRoZSB0aW1lb3V0LlxuICAgKi9cbiAgY29ubmVjdGlvblRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhIHJlcXVlc3QgY2FuIHRha2UgYmVmb3JlIGF1dG9tYXRpY2FsbHkgYmVpbmcgdGVybWluYXRlZC5cbiAgICogRGVmYXVsdHMgdG8gMCwgd2hpY2ggZGlzYWJsZXMgdGhlIHRpbWVvdXQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgLyoqXG4gICAqIEFuIGh0dHAuQWdlbnQgdG8gYmUgdXNlZFxuICAgKi9cbiAgaHR0cEFnZW50PzogaHR0cC5BZ2VudDtcbiAgLyoqXG4gICAqIEFuIGh0dHBzLkFnZW50IHRvIGJlIHVzZWRcbiAgICovXG4gIGh0dHBzQWdlbnQ/OiBodHRwcy5BZ2VudDtcbn1cblxuLyoqXG4gKiBBbiBTREsgY29uZmlnIHRoYXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZGtCYXNlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFsIHByb3ZpZGVyIHRvIHVzZSBmb3IgU0RLIGNhbGxzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyOiBTREt2M0NvbXBhdGlibGVDcmVkZW50aWFsUHJvdmlkZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByZWdpb24gdG8gdXNlIGZvciBTREsgY2FsbHMuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UmVnaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNka0Jhc2VDbGllbnRDb25maWcge1xuICByZXF1ZXN0SGFuZGxlcj86IFJlcXVlc3RIYW5kbGVyU2V0dGluZ3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VDcmVkZW50aWFsc1Byb3ZpZGVyIHtcbiAgc2RrQmFzZUNvbmZpZyhpb0hvc3Q6IElBY3Rpb25Bd2FyZUlvSG9zdCwgY2xpZW50Q29uZmlnOiBTZGtCYXNlQ2xpZW50Q29uZmlnKTogUHJvbWlzZTxTZGtCYXNlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBVc2Ugbm8gYmFzZSBjcmVkZW50aWFsc1xuICAgKlxuICAgKiBUaGVyZSB3aWxsIGJlIG5vIGN1cnJlbnQgYWNjb3VudCBhbmQgbm8gY3VycmVudCByZWdpb24gZHVyaW5nIHN5bnRoZXNpcy4gVG9cbiAgICogc3VjY2Vzc2Z1bGx5IGRlcGxveSB3aXRoIHRoaXMgc2V0IG9mIGJhc2UgY3JlZGVudGlhbHM6XG4gICAqXG4gICAqIC0gVGhlIENESyBhcHAgbXVzdCBwcm92aWRlIGNvbmNyZXRlIGFjY291bnRzIGFuZCByZWdpb25zIGR1cmluZyBzeW50aGVzaXNcbiAgICogLSBDcmVkZW50aWFsIHBsdWdpbnMgbXVzdCBiZSBpbnN0YWxsZWQgdG8gcHJvdmlkZSBjcmVkZW50aWFscyBmb3IgdGhvc2VcbiAgICogICBhY2NvdW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbm9uZSgpOiBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgY2xhc3MgaW1wbGVtZW50cyBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgICAgcHVibGljIGFzeW5jIHNka0Jhc2VDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY3JlZGVudGlhbFByb3ZpZGVyOiAoKSA9PiB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQXV0aGVudGljYXRpb25FcnJvcignTm8gY3JlZGVudGlhbHMgYXZhaWxhYmxlIGR1ZSB0byBCYXNlQ3JlZGVudGlhbHMubm9uZSgpJyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gJ0Jhc2VDcmVkZW50aWFscy5ub25lKCknO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogT2J0YWluIGJhc2UgY3JlZGVudGlhbHMgYW5kIGJhc2UgcmVnaW9uIHRoZSBzYW1lIHdheSB0aGUgQVdTIENMSSB3b3VsZFxuICAgKlxuICAgKiBDcmVkZW50aWFscyBhbmQgcmVnaW9uIHdpbGwgYmUgcmVhZCBmcm9tIHRoZSBlbnZpcm9ubWVudCBmaXJzdCwgZmFsbGluZyBiYWNrXG4gICAqIHRvIElOSSBmaWxlcyBvciBvdGhlciBzb3VyY2VzIGlmIGF2YWlsYWJsZS5cbiAgICpcbiAgICogVGhlIHByb2ZpbGUgbmFtZSBpcyBjb25maWd1cmFibGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGF3c0NsaUNvbXBhdGlibGUob3B0aW9uczogQXdzQ2xpQ29tcGF0aWJsZU9wdGlvbnMgPSB7fSk6IElCYXNlQ3JlZGVudGlhbHNQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBpbXBsZW1lbnRzIElCYXNlQ3JlZGVudGlhbHNQcm92aWRlciB7XG4gICAgICBwdWJsaWMgYXN5bmMgc2RrQmFzZUNvbmZpZyhpb0hvc3Q6IElBY3Rpb25Bd2FyZUlvSG9zdCwgY2xpZW50Q29uZmlnOiBTZGtCYXNlQ2xpZW50Q29uZmlnKSB7XG4gICAgICAgIGNvbnN0IGlvSGVscGVyID0gSW9IZWxwZXIuZnJvbUFjdGlvbkF3YXJlSW9Ib3N0KGlvSG9zdCk7XG4gICAgICAgIGNvbnN0IGF3c0NsaSA9IG5ldyBBd3NDbGlDb21wYXRpYmxlKGlvSGVscGVyLCBjbGllbnRDb25maWcucmVxdWVzdEhhbmRsZXIgPz8ge30sIG5ldyBJb0hvc3RTZGtMb2dnZXIoaW9IZWxwZXIpKTtcblxuICAgICAgICBjb25zdCByZXQgPSBhd2FpdCBhd3NDbGkuYmFzZUNvbmZpZyhvcHRpb25zLnByb2ZpbGUpO1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5kZWZhdWx0UmVnaW9uXG4gICAgICAgICAgPyB7IC4uLnJldCwgZGVmYXVsdFJlZ2lvbjogb3B0aW9ucy5kZWZhdWx0UmVnaW9uIH1cbiAgICAgICAgICA6IHJldDtcbiAgICAgIH1cblxuICAgICAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gYEJhc2VDcmVkZW50aWFscy5hd3NDbGlDb21wYXRpYmxlKCR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9KWA7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYSBjdXN0b20gU0RLIGlkZW50aXR5IHByb3ZpZGVyIGZvciB0aGUgYmFzZSBjcmVkZW50aWFsc1xuICAgKlxuICAgKiBJZiB5b3VyIHByb3ZpZGVyIHVzZXMgU1RTIGNhbGxzIHRvIG9idGFpbiBiYXNlIGNyZWRlbnRpYWxzLCB5b3UgbXVzdCBtYWtlXG4gICAqIHN1cmUgdG8gYWxzbyBjb25maWd1cmUgdGhlIG5lY2Vzc2FyeSBIVFRQIG9wdGlvbnMgKGxpa2UgcHJveHkgYW5kIHVzZXJcbiAgICogYWdlbnQpIGFuZCB0aGUgcmVnaW9uIG9uIHRoZSBTVFMgY2xpZW50IGRpcmVjdGx5OyB0aGUgdG9vbGtpdCBjb2RlIGNhbm5vdFxuICAgKiBkbyB0aGlzIGZvciB5b3UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShvcHRpb25zOiBDdXN0b21CYXNlQ3JlZGVudGlhbHNPcHRpb24pOiBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgY2xhc3MgaW1wbGVtZW50cyBJQmFzZUNyZWRlbnRpYWxzUHJvdmlkZXIge1xuICAgICAgcHVibGljIHNka0Jhc2VDb25maWcoKTogUHJvbWlzZTxTZGtCYXNlQ29uZmlnPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIGNyZWRlbnRpYWxQcm92aWRlcjogb3B0aW9ucy5wcm92aWRlcixcbiAgICAgICAgICBkZWZhdWx0UmVnaW9uOiBvcHRpb25zLnJlZ2lvbixcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGBCYXNlQ3JlZGVudGlhbHMuY3VzdG9tKCR7SlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgcHJvdmlkZXI6ICcuLi4nLFxuICAgICAgICB9KX0pYDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2xpQ29tcGF0aWJsZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb2ZpbGUgdG8gcmVhZCBmcm9tIGB+Ly5hd3MvY3JlZGVudGlhbHNgLlxuICAgKlxuICAgKiBJZiBub3Qgc3VwcGxpZWQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19QUk9GSUxFIHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIGEgZGlmZmVyZW50IGRlZmF1bHQgcmVnaW9uIHRoYW4gdGhlIG9uZSBpbiB0aGUgcHJvZmlsZVxuICAgKlxuICAgKiBJZiBub3Qgc3VwcGxpZWQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEFXU19SRUdJT04gd2lsbCBiZSB1c2VkLCBvclxuICAgKiB3aGF0ZXZlciByZWdpb24gaXMgc2V0IGluIHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSBpbiBgfi8uYXdzL2NvbmZpZ2AuXG4gICAqIElmIG5vIHJlZ2lvbiBpcyBzZXQgaW4gdGhlIHByb2ZpbGUgdGhlIHJlZ2lvbiBpbiBgW2RlZmF1bHRdYCB3aWxsXG4gICAqIGJlIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVXNlIHJlZ2lvbiBmcm9tIGB+Ly5hd3MvY29uZmlnYC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQmFzZUNyZWRlbnRpYWxzT3B0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyBwcm92aWRlciB0byB1c2UgdG8gb2J0YWluIGJhc2UgY3JlZGVudGlhbHNcbiAgICpcbiAgICogSWYgeW91ciBwcm92aWRlciB1c2VzIFNUUyBjYWxscyB0byBvYnRhaW4gYmFzZSBjcmVkZW50aWFscywgeW91IG11c3QgbWFrZVxuICAgKiBzdXJlIHRvIGFsc28gY29uZmlndXJlIHRoZSBuZWNlc3NhcnkgSFRUUCBvcHRpb25zIChsaWtlIHByb3h5IGFuZCB1c2VyXG4gICAqIGFnZW50KSBvbiB0aGUgU1RTIGNsaWVudCBkaXJlY3RseTsgdGhlIHRvb2xraXQgY29kZSBjYW5ub3QgZG8gdGhpcyBmb3IgeW91LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFNES3YzQ29tcGF0aWJsZUNyZWRlbnRpYWxQcm92aWRlcjtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgcmVnaW9uIHRvIHN5bnRoZXNpemUgZm9yXG4gICAqXG4gICAqIENESyBhcHBsaWNhdGlvbnMgY2FuIG92ZXJyaWRlIHRoaXMgcmVnaW9uLiBOT1RFOiB0aGlzIHJlZ2lvbiB3aWxsICpub3QqXG4gICAqIGFmZmVjdCBhbnkgU1RTIGNhbGxzIG1hZGUgYnkgdGhlIGdpdmVuIHByb3ZpZGVyLCBpZiBhbnkuIFlvdSBuZWVkIHRvIGNvbmZpZ3VyZVxuICAgKiB5b3VyIGNyZWRlbnRpYWwgcHJvdmlkZXIgc2VwYXJhdGVseS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3VzLWVhc3QtMSdcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbn1cbiJdfQ==
@@ -20,4 +20,24 @@ export type TemplateBodyParameter = {
20
20
  * @param toolkitInfo - information about the toolkit stack
21
21
  */
22
22
  export declare function makeBodyParameter(ioHelper: IoHelper, stack: CloudFormationStackArtifact, resolvedEnvironment: Environment, assetManifest: AssetManifestBuilder, resources: EnvironmentResources, overrideTemplate?: any): Promise<TemplateBodyParameter>;
23
+ /**
24
+ * Format an S3 URL in the manifest for use with CloudFormation
25
+ *
26
+ * Replaces environment placeholders (which this field may contain),
27
+ * and reformats s3://.../... urls into S3 REST URLs (which CloudFormation
28
+ * expects).
29
+ *
30
+ * We need to return the official region- and partition-specific URL for AWS S3
31
+ * here, so we use the SDK's information about endpoints. At the same time, the
32
+ * SDK allows overriding this URL by setting an environment variable
33
+ * (specifically $AWS_ENDPOINT_URL_S3) but we want to *not* honor that, because
34
+ * there's a 99.9% chance this URL will not be routable from AWS CloudFormation.
35
+ *
36
+ * To allow for the off chance that someone is running this tool against a
37
+ * custom build of CloudFormation that does need a specific S3 endpoint passed
38
+ * to it, we'll introduce a new environment variable that we'll respect instead:
39
+ *
40
+ * AWS_ENDPOINT_URL_S3_FOR_CLOUDFORMATION
41
+ */
42
+ export declare function restUrlFromManifest(url: string, environment: Environment): Promise<string>;
23
43
  //# sourceMappingURL=template-body-parameter.d.ts.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeBodyParameter = makeBodyParameter;
4
+ exports.restUrlFromManifest = restUrlFromManifest;
4
5
  const fs = require("node:fs/promises");
5
6
  const path = require("node:path");
6
7
  const util = require("node:util");
@@ -67,7 +68,19 @@ async function makeBodyParameter(ioHelper, stack, resolvedEnvironment, assetMani
67
68
  *
68
69
  * Replaces environment placeholders (which this field may contain),
69
70
  * and reformats s3://.../... urls into S3 REST URLs (which CloudFormation
70
- * expects)
71
+ * expects).
72
+ *
73
+ * We need to return the official region- and partition-specific URL for AWS S3
74
+ * here, so we use the SDK's information about endpoints. At the same time, the
75
+ * SDK allows overriding this URL by setting an environment variable
76
+ * (specifically $AWS_ENDPOINT_URL_S3) but we want to *not* honor that, because
77
+ * there's a 99.9% chance this URL will not be routable from AWS CloudFormation.
78
+ *
79
+ * To allow for the off chance that someone is running this tool against a
80
+ * custom build of CloudFormation that does need a specific S3 endpoint passed
81
+ * to it, we'll introduce a new environment variable that we'll respect instead:
82
+ *
83
+ * AWS_ENDPOINT_URL_S3_FOR_CLOUDFORMATION
71
84
  */
72
85
  async function restUrlFromManifest(url, environment) {
73
86
  const doNotUseMarker = '**DONOTUSE**';
@@ -91,13 +104,27 @@ async function restUrlFromManifest(url, environment) {
91
104
  // got an 's3://bucket/object' URL instead. Construct the rest API URL here.
92
105
  const bucketName = s3Url[1];
93
106
  const objectKey = s3Url[2];
94
- // SDK v3 no longer allows for getting endpoints from only region.
95
- // A command and client config must now be provided.
96
- const s3 = new client_s3_1.S3Client({ region });
97
- const endpoint = await (0, middleware_endpoint_1.getEndpointFromInstructions)({}, client_s3_1.HeadObjectCommand, {
98
- ...s3.config,
99
- });
100
- endpoint.url.hostname;
101
- return `${endpoint.url.origin}/${bucketName}/${objectKey}`;
107
+ const originalOverrideS3Endpoint = process.env.AWS_ENDPOINT_URL_S3;
108
+ setEnv('AWS_ENDPOINT_URL_S3', process.env.AWS_ENDPOINT_URL_S3_FOR_CLOUDFORMATION);
109
+ try {
110
+ // SDK v3 no longer allows for getting endpoints from only region.
111
+ // A command and client config must now be provided.
112
+ const s3 = new client_s3_1.S3Client({ region });
113
+ const endpoint = await (0, middleware_endpoint_1.getEndpointFromInstructions)({}, client_s3_1.HeadObjectCommand, {
114
+ ...s3.config,
115
+ });
116
+ return `${endpoint.url.origin}/${bucketName}/${objectKey}`;
117
+ }
118
+ finally {
119
+ setEnv('AWS_ENDPOINT_URL_S3', originalOverrideS3Endpoint);
120
+ }
121
+ }
122
+ function setEnv(name, value) {
123
+ if (value) {
124
+ process.env[name] = value;
125
+ }
126
+ else {
127
+ delete process.env[name];
128
+ }
102
129
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtYm9keS1wYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS1ib2R5LXBhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSw4Q0E2REM7QUE5RkQsdUNBQXVDO0FBQ3ZDLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsNENBQThHO0FBQzlHLGtEQUFpRTtBQUNqRSxxRUFBMEU7QUFDMUUsK0JBQStCO0FBQy9CLCtEQUEyRDtBQUMzRCxxQ0FBaUQ7QUFVakQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFbEM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUNyQyxRQUFrQixFQUNsQixLQUFrQyxFQUNsQyxtQkFBZ0MsRUFDaEMsYUFBbUMsRUFDbkMsU0FBK0IsRUFDL0IsZ0JBQXNCO0lBRXRCLDJFQUEyRTtJQUMzRSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0QsT0FBTztZQUNMLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxtQkFBbUIsQ0FBQztTQUMvRixDQUFDO0lBQ0osQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxNQUFNLFlBQVksR0FBRyxJQUFBLGFBQU0sRUFBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFaEUsSUFBSSxZQUFZLENBQUMsTUFBTSxJQUFJLHNCQUFzQixHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUss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QTJCLEVBQUMsRUFBRSxFQUFFLDZCQUFpQixFQUFFO1FBQ3hFLEdBQUcsRUFBRSxDQUFDLE1BQU07S0FDYixDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUV0QixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBQzdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnbm9kZTp1dGlsJztcbmltcG9ydCB7IHR5cGUgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LCB0eXBlIEVudmlyb25tZW50LCBFbnZpcm9ubWVudFBsYWNlaG9sZGVycyB9IGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyBIZWFkT2JqZWN0Q29tbWFuZCwgUzNDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnO1xuaW1wb3J0IHsgZ2V0RW5kcG9pbnRGcm9tSW5zdHJ1Y3Rpb25zIH0gZnJvbSAnQHNtaXRoeS9taWRkbGV3YXJlLWVuZHBvaW50JztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5pbXBvcnQgeyBjb250ZW50SGFzaCwgdG9ZQU1MIH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0TWFuaWZlc3RCdWlsZGVyIH0gZnJvbSAnLi4vZGVwbG95bWVudHMnO1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudFJlc291cmNlcyB9IGZyb20gJy4uL2Vudmlyb25tZW50JztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi9pby9wcml2YXRlJztcblxuZXhwb3J0IHR5cGUgVGVtcGxhdGVCb2R5UGFyYW1ldGVyID0ge1xuICBUZW1wbGF0ZUJvZHk/OiBzdHJpbmc7XG4gIFRlbXBsYXRlVVJMPzogc3RyaW5nO1xufTtcblxuY29uc3QgTEFSR0VfVEVNUExBVEVfU0laRV9LQiA9IDUwO1xuXG4vKipcbiAqIFByZXBhcmVzIHRoZSBib2R5IHBhcmFtZXRlciBmb3IgK0NyZWF0ZUNoYW5nZVNldCsuXG4gKlxuICogSWYgdGhlIHRlbXBsYXRlIGlzIHNtYWxsIGVub3VnaCB0byBiZSBpbmxpbmVkIGludG8gdGhlIEFQSSBjYWxsLCBqdXN0IHJldHVyblxuICogaXQgaW1tZWRpYXRlbHkuXG4gKlxuICogT3RoZXJ3aXNlLCBhZGQgaXQgdG8gdGhlIGFzc2V0IG1hbmlmZXN0IHRvIGdldCB1cGxvYWRlZCB0byB0aGUgc3RhZ2luZ1xuICogYnVja2V0IGFuZCByZXR1cm4gaXRzIGNvb3JkaW5hdGVzLiBJZiB0aGVyZSBpcyBubyBzdGFnaW5nIGJ1Y2tldCwgYW4gZXJyb3JcbiAqIGlzIHRocm93bi5cbiAqXG4gKiBAcGFyYW0gc3RhY2sgICAgIC0gdGhlIHN5bnRoZXNpemVkIHN0YWNrIHRoYXQgcHJvdmlkZXMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gKiBAcGFyYW0gdG9vbGtpdEluZm8gLSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdG9vbGtpdCBzdGFja1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFrZUJvZHlQYXJhbWV0ZXIoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgc3RhY2s6IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgcmVzb2x2ZWRFbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gIGFzc2V0TWFuaWZlc3Q6IEFzc2V0TWFuaWZlc3RCdWlsZGVyLFxuICByZXNvdXJjZXM6IEVudmlyb25tZW50UmVzb3VyY2VzLFxuICBvdmVycmlkZVRlbXBsYXRlPzogYW55LFxuKTogUHJvbWlzZTxUZW1wbGF0ZUJvZHlQYXJhbWV0ZXI+IHtcbiAgLy8gSWYgdGhlIHRlbXBsYXRlIGhhcyBhbHJlYWR5IGJlZW4gdXBsb2FkZWQgdG8gUzMsIGp1c3QgdXNlIGl0IGZyb20gdGhlcmUuXG4gIGlmIChzdGFjay5zdGFja1RlbXBsYXRlQXNzZXRPYmplY3RVcmwgJiYgIW92ZXJyaWRlVGVtcGxhdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgVGVtcGxhdGVVUkw6IGF3YWl0IHJlc3RVcmxGcm9tTWFuaWZlc3Qoc3RhY2suc3RhY2tUZW1wbGF0ZUFzc2V0T2JqZWN0VXJsLCByZXNvbHZlZEVudmlyb25tZW50KSxcbiAgICB9O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCBwYXNzIHZpYSBBUEkgY2FsbCAoaWYgc21hbGwpIG9yIHVwbG9hZCBoZXJlIChpZiBsYXJnZSlcbiAgY29uc3QgdGVtcGxhdGVKc29uID0gdG9ZQU1MKG92ZXJyaWRlVGVtcGxhdGUgPz8gc3RhY2sudGVtcGxhdGUpO1xuXG4gIGlmICh0ZW1wbGF0ZUpzb24ubGVuZ3RoIDw9IExBUkdFX1RFTVBMQVRFX1NJWkVfS0IgKiAxMDI0KSB7XG4gICAgcmV0dXJuIHsgVGVtcGxhdGVCb2R5OiB0ZW1wbGF0ZUpzb24gfTtcbiAgfVxuXG4gIGNvbnN0IHRvb2xraXRJbmZvID0gYXdhaXQgcmVzb3VyY2VzLmxvb2t1cFRvb2xraXQoKTtcbiAgaWYgKCF0b29sa2l0SW5mby5mb3VuZCkge1xuICAgIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLmVycm9yKFxuICAgICAgdXRpbC5mb3JtYXQoXG4gICAgICAgIGBUaGUgdGVtcGxhdGUgZm9yIHN0YWNrIFwiJHtzdGFjay5kaXNwbGF5TmFtZX1cIiBpcyAke01hdGgucm91bmQodGVtcGxhdGVKc29uLmxlbmd0aCAvIDEwMjQpfUtpQi4gYCArXG4gICAgICAgIGBUZW1wbGF0ZXMgbGFyZ2VyIHRoYW4gJHtMQVJHRV9URU1QTEFURV9TSVpFX0tCfUtpQiBtdXN0IGJlIHVwbG9hZGVkIHRvIFMzLlxcbmAgK1xuICAgICAgICAnUnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBpbiBvcmRlciB0byBzZXR1cCBhbiBTMyBidWNrZXQgaW4gdGhpcyBlbnZpcm9ubWVudCwgYW5kIHRoZW4gcmUtZGVwbG95OlxcblxcbicsXG4gICAgICAgIGNoYWxrLmJsdWUoYFxcdCQgY2RrIGJvb3RzdHJhcCAke3Jlc29sdmVkRW52aXJvbm1lbnQubmFtZX1cXG5gKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ1RlbXBsYXRlIHRvbyBsYXJnZSB0byBkZXBsb3kgKFwiY2RrIGJvb3RzdHJhcFwiIGlzIHJlcXVpcmVkKScpO1xuICB9XG5cbiAgY29uc3QgdGVtcGxhdGVIYXNoID0gY29udGVudEhhc2godGVtcGxhdGVKc29uKTtcbiAgY29uc3Qga2V5ID0gYGNkay8ke3N0YWNrLmlkfS8ke3RlbXBsYXRlSGFzaH0ueW1sYDtcblxuICBsZXQgdGVtcGxhdGVGaWxlID0gc3RhY2sudGVtcGxhdGVGaWxlO1xuICBpZiAob3ZlcnJpZGVUZW1wbGF0ZSkge1xuICAgIC8vIEFkZCBhIHZhcmlhbnQgb2YgdGhpcyB0ZW1wbGF0ZVxuICAgIHRlbXBsYXRlRmlsZSA9IGAke3N0YWNrLnRlbXBsYXRlRmlsZX0tJHt0ZW1wbGF0ZUhhc2h9LnlhbWxgO1xuICAgIGNvbnN0IHRlbXBsYXRlRmlsZVBhdGggPSBwYXRoLmpvaW4oc3RhY2suYXNzZW1ibHkuZGlyZWN0b3J5LCB0ZW1wbGF0ZUZpbGUpO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh0ZW1wbGF0ZUZpbGVQYXRoLCB0ZW1wbGF0ZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gIH1cblxuICBhc3NldE1hbmlmZXN0LmFkZEZpbGVBc3NldChcbiAgICB0ZW1wbGF0ZUhhc2gsXG4gICAge1xuICAgICAgcGF0aDogdGVtcGxhdGVGaWxlLFxuICAgIH0sXG4gICAge1xuICAgICAgYnVja2V0TmFtZTogdG9vbGtpdEluZm8uYnVja2V0TmFtZSxcbiAgICAgIG9iamVjdEtleToga2V5LFxuICAgIH0sXG4gICk7XG5cbiAgY29uc3QgdGVtcGxhdGVVUkwgPSBgJHt0b29sa2l0SW5mby5idWNrZXRVcmx9LyR7a2V5fWA7XG4gIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLmRlYnVnKGBTdG9yaW5nIHRlbXBsYXRlIGluIFMzIGF0OiAke3RlbXBsYXRlVVJMfWApO1xuICByZXR1cm4geyBUZW1wbGF0ZVVSTDogdGVtcGxhdGVVUkwgfTtcbn1cblxuLyoqXG4gKiBGb3JtYXQgYW4gUzMgVVJMIGluIHRoZSBtYW5pZmVzdCBmb3IgdXNlIHdpdGggQ2xvdWRGb3JtYXRpb25cbiAqXG4gKiBSZXBsYWNlcyBlbnZpcm9ubWVudCBwbGFjZWhvbGRlcnMgKHdoaWNoIHRoaXMgZmllbGQgbWF5IGNvbnRhaW4pLFxuICogYW5kIHJlZm9ybWF0cyBzMzovLy4uLi8uLi4gdXJscyBpbnRvIFMzIFJFU1QgVVJMcyAod2hpY2ggQ2xvdWRGb3JtYXRpb25cbiAqIGV4cGVjdHMpXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlc3RVcmxGcm9tTWFuaWZlc3QodXJsOiBzdHJpbmcsIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGRvTm90VXNlTWFya2VyID0gJyoqRE9OT1RVU0UqKic7XG4gIGNvbnN0IHJlZ2lvbiA9IGVudmlyb25tZW50LnJlZ2lvbjtcbiAgLy8gVGhpcyBVUkwgbWF5IGNvbnRhaW4gcGxhY2Vob2xkZXJzLCBzbyBzdGlsbCBzdWJzdGl0dXRlIHRob3NlLlxuICB1cmwgPSBFbnZpcm9ubWVudFBsYWNlaG9sZGVycy5yZXBsYWNlKHVybCwge1xuICAgIGFjY291bnRJZDogZW52aXJvbm1lbnQuYWNjb3VudCxcbiAgICByZWdpb24sXG4gICAgcGFydGl0aW9uOiBkb05vdFVzZU1hcmtlcixcbiAgfSk7XG5cbiAgLy8gWWVzLCB0aGlzIGlzIGV4dHJlbWVseSBjcnVkZSwgYnV0IHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhpcyBzbyBJJ20gbm90IGluY2xpbmVkIHRvIHNwZW5kXG4gIC8vIGEgbG90IG9mIGVmZm9ydCB0cnlpbmcgdG8gdGhyZWFkIHRoZSByaWdodCB2YWx1ZSB0byB0aGlzIGxvY2F0aW9uLlxuICBpZiAodXJsLmluZGV4T2YoZG9Ob3RVc2VNYXJrZXIpID4gLTEpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKFwiQ2Fubm90IHVzZSAnJHtBV1M6OlBhcnRpdGlvbn0nIGluIHRoZSAnc3RhY2tUZW1wbGF0ZUFzc2V0T2JqZWN0VXJsJyBmaWVsZFwiKTtcbiAgfVxuXG4gIGNvbnN0IHMzVXJsID0gdXJsLm1hdGNoKC9zMzpcXC9cXC8oW14vXSspXFwvKC4qKSQvKTtcbiAgaWYgKCFzM1VybCkge1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhc3MgYW4gJ2h0dHBzOi8vczMuUkVHSU9OLmFtYXpvbmF3cy5jb21bLmNuXS9idWNrZXQvb2JqZWN0JyBVUkwgdG8gQ2xvdWRGb3JtYXRpb24sIGJ1dCB3ZVxuICAvLyBnb3QgYW4gJ3MzOi8vYnVja2V0L29iamVjdCcgVVJMIGluc3RlYWQuIENvbnN0cnVjdCB0aGUgcmVzdCBBUEkgVVJMIGhlcmUuXG4gIGNvbnN0IGJ1Y2tldE5hbWUgPSBzM1VybFsxXTtcbiAgY29uc3Qgb2JqZWN0S2V5ID0gczNVcmxbMl07XG5cbiAgLy8gU0RLIHYzIG5vIGxvbmdlciBhbGxvd3MgZm9yIGdldHRpbmcgZW5kcG9pbnRzIGZyb20gb25seSByZWdpb24uXG4gIC8vIEEgY29tbWFuZCBhbmQgY2xpZW50IGNvbmZpZyBtdXN0IG5vdyBiZSBwcm92aWRlZC5cbiAgY29uc3QgczMgPSBuZXcgUzNDbGllbnQoeyByZWdpb24gfSk7XG4gIGNvbnN0IGVuZHBvaW50ID0gYXdhaXQgZ2V0RW5kcG9pbnRGcm9tSW5zdHJ1Y3Rpb25zKHt9LCBIZWFkT2JqZWN0Q29tbWFuZCwge1xuICAgIC4uLnMzLmNvbmZpZyxcbiAgfSk7XG4gIGVuZHBvaW50LnVybC5ob3N0bmFtZTtcblxuICByZXR1cm4gYCR7ZW5kcG9pbnQudXJsLm9yaWdpbn0vJHtidWNrZXROYW1lfS8ke29iamVjdEtleX1gO1xufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtYm9keS1wYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS1ib2R5LXBhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSw4Q0E2REM7QUFxQkQsa0RBd0NDO0FBM0pELHVDQUF1QztBQUN2QyxrQ0FBa0M7QUFDbEMsa0NBQWtDO0FBQ2xDLDRDQUE4RztBQUM5RyxrREFBaUU7QUFDakUscUVBQTBFO0FBQzFFLCtCQUErQjtBQUMvQiwrREFBMkQ7QUFDM0QscUNBQWlEO0FBVWpELE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBRWxDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsUUFBa0IsRUFDbEIsS0FBa0MsRUFDbEMsbUJBQWdDLEVBQ2hDLGFBQW1DLEVBQ25DLFNBQStCLEVBQy9CLGdCQUFzQjtJQUV0QiwyRUFBMkU7SUFDM0UsSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNELE9BQU87WUFDTCxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsbUJBQW1CLENBQUM7U0FDL0YsQ0FBQztJQUNKLENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBQSxhQUFNLEVBQUMsZ0JBQWdCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWhFLElBQUksWUFBWSxDQUFDLE1BQU0sSUFBSSxzQkFBc0IsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sUUFBUSxDQUFDLFFB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RyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDbEYsSUFBSSxDQUFDO1FBQ0gsa0VBQWtFO1FBQ2xFLG9EQUFvRDtRQUNwRCxNQUFNLEVBQUUsR0FBRyxJQUFJLG9CQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxpREFBMkIsRUFBQyxFQUFFLEVBQUUsNkJBQWlCLEVBQUU7WUFDeEUsR0FBRyxFQUFFLENBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7SUFDN0QsQ0FBQztZQUFTLENBQUM7UUFDVCxNQUFNLENBQUMscUJBQXFCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLElBQVksRUFBRSxLQUF5QjtJQUNyRCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnbm9kZTp1dGlsJztcbmltcG9ydCB7IHR5cGUgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LCB0eXBlIEVudmlyb25tZW50LCBFbnZpcm9ubWVudFBsYWNlaG9sZGVycyB9IGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyBIZWFkT2JqZWN0Q29tbWFuZCwgUzNDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnO1xuaW1wb3J0IHsgZ2V0RW5kcG9pbnRGcm9tSW5zdHJ1Y3Rpb25zIH0gZnJvbSAnQHNtaXRoeS9taWRkbGV3YXJlLWVuZHBvaW50JztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5pbXBvcnQgeyBjb250ZW50SGFzaCwgdG9ZQU1MIH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0TWFuaWZlc3RCdWlsZGVyIH0gZnJvbSAnLi4vZGVwbG95bWVudHMnO1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudFJlc291cmNlcyB9IGZyb20gJy4uL2Vudmlyb25tZW50JztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi9pby9wcml2YXRlJztcblxuZXhwb3J0IHR5cGUgVGVtcGxhdGVCb2R5UGFyYW1ldGVyID0ge1xuICBUZW1wbGF0ZUJvZHk/OiBzdHJpbmc7XG4gIFRlbXBsYXRlVVJMPzogc3RyaW5nO1xufTtcblxuY29uc3QgTEFSR0VfVEVNUExBVEVfU0laRV9LQiA9IDUwO1xuXG4vKipcbiAqIFByZXBhcmVzIHRoZSBib2R5IHBhcmFtZXRlciBmb3IgK0NyZWF0ZUNoYW5nZVNldCsuXG4gKlxuICogSWYgdGhlIHRlbXBsYXRlIGlzIHNtYWxsIGVub3VnaCB0byBiZSBpbmxpbmVkIGludG8gdGhlIEFQSSBjYWxsLCBqdXN0IHJldHVyblxuICogaXQgaW1tZWRpYXRlbHkuXG4gKlxuICogT3RoZXJ3aXNlLCBhZGQgaXQgdG8gdGhlIGFzc2V0IG1hbmlmZXN0IHRvIGdldCB1cGxvYWRlZCB0byB0aGUgc3RhZ2luZ1xuICogYnVja2V0IGFuZCByZXR1cm4gaXRzIGNvb3JkaW5hdGVzLiBJZiB0aGVyZSBpcyBubyBzdGFnaW5nIGJ1Y2tldCwgYW4gZXJyb3JcbiAqIGlzIHRocm93bi5cbiAqXG4gKiBAcGFyYW0gc3RhY2sgICAgIC0gdGhlIHN5bnRoZXNpemVkIHN0YWNrIHRoYXQgcHJvdmlkZXMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gKiBAcGFyYW0gdG9vbGtpdEluZm8gLSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdG9vbGtpdCBzdGFja1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFrZUJvZHlQYXJhbWV0ZXIoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgc3RhY2s6IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgcmVzb2x2ZWRFbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gIGFzc2V0TWFuaWZlc3Q6IEFzc2V0TWFuaWZlc3RCdWlsZGVyLFxuICByZXNvdXJjZXM6IEVudmlyb25tZW50UmVzb3VyY2VzLFxuICBvdmVycmlkZVRlbXBsYXRlPzogYW55LFxuKTogUHJvbWlzZTxUZW1wbGF0ZUJvZHlQYXJhbWV0ZXI+IHtcbiAgLy8gSWYgdGhlIHRlbXBsYXRlIGhhcyBhbHJlYWR5IGJlZW4gdXBsb2FkZWQgdG8gUzMsIGp1c3QgdXNlIGl0IGZyb20gdGhlcmUuXG4gIGlmIChzdGFjay5zdGFja1RlbXBsYXRlQXNzZXRPYmplY3RVcmwgJiYgIW92ZXJyaWRlVGVtcGxhdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgVGVtcGxhdGVVUkw6IGF3YWl0IHJlc3RVcmxGcm9tTWFuaWZlc3Qoc3RhY2suc3RhY2tUZW1wbGF0ZUFzc2V0T2JqZWN0VXJsLCByZXNvbHZlZEVudmlyb25tZW50KSxcbiAgICB9O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCBwYXNzIHZpYSBBUEkgY2FsbCAoaWYgc21hbGwpIG9yIHVwbG9hZCBoZXJlIChpZiBsYXJnZSlcbiAgY29uc3QgdGVtcGxhdGVKc29uID0gdG9ZQU1MKG92ZXJyaWRlVGVtcGxhdGUgPz8gc3RhY2sudGVtcGxhdGUpO1xuXG4gIGlmICh0ZW1wbGF0ZUpzb24ubGVuZ3RoIDw9IExBUkdFX1RFTVBMQVRFX1NJWkVfS0IgKiAxMDI0KSB7XG4gICAgcmV0dXJuIHsgVGVtcGxhdGVCb2R5OiB0ZW1wbGF0ZUpzb24gfTtcbiAgfVxuXG4gIGNvbnN0IHRvb2xraXRJbmZvID0gYXdhaXQgcmVzb3VyY2VzLmxvb2t1cFRvb2xraXQoKTtcbiAgaWYgKCF0b29sa2l0SW5mby5mb3VuZCkge1xuICAgIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLmVycm9yKFxuICAgICAgdXRpbC5mb3JtYXQoXG4gICAgICAgIGBUaGUgdGVtcGxhdGUgZm9yIHN0YWNrIFwiJHtzdGFjay5kaXNwbGF5TmFtZX1cIiBpcyAke01hdGgucm91bmQodGVtcGxhdGVKc29uLmxlbmd0aCAvIDEwMjQpfUtpQi4gYCArXG4gICAgICAgIGBUZW1wbGF0ZXMgbGFyZ2VyIHRoYW4gJHtMQVJHRV9URU1QTEFURV9TSVpFX0tCfUtpQiBtdXN0IGJlIHVwbG9hZGVkIHRvIFMzLlxcbmAgK1xuICAgICAgICAnUnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBpbiBvcmRlciB0byBzZXR1cCBhbiBTMyBidWNrZXQgaW4gdGhpcyBlbnZpcm9ubWVudCwgYW5kIHRoZW4gcmUtZGVwbG95OlxcblxcbicsXG4gICAgICAgIGNoYWxrLmJsdWUoYFxcdCQgY2RrIGJvb3RzdHJhcCAke3Jlc29sdmVkRW52aXJvbm1lbnQubmFtZX1cXG5gKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ1RlbXBsYXRlIHRvbyBsYXJnZSB0byBkZXBsb3kgKFwiY2RrIGJvb3RzdHJhcFwiIGlzIHJlcXVpcmVkKScpO1xuICB9XG5cbiAgY29uc3QgdGVtcGxhdGVIYXNoID0gY29udGVudEhhc2godGVtcGxhdGVKc29uKTtcbiAgY29uc3Qga2V5ID0gYGNkay8ke3N0YWNrLmlkfS8ke3RlbXBsYXRlSGFzaH0ueW1sYDtcblxuICBsZXQgdGVtcGxhdGVGaWxlID0gc3RhY2sudGVtcGxhdGVGaWxlO1xuICBpZiAob3ZlcnJpZGVUZW1wbGF0ZSkge1xuICAgIC8vIEFkZCBhIHZhcmlhbnQgb2YgdGhpcyB0ZW1wbGF0ZVxuICAgIHRlbXBsYXRlRmlsZSA9IGAke3N0YWNrLnRlbXBsYXRlRmlsZX0tJHt0ZW1wbGF0ZUhhc2h9LnlhbWxgO1xuICAgIGNvbnN0IHRlbXBsYXRlRmlsZVBhdGggPSBwYXRoLmpvaW4oc3RhY2suYXNzZW1ibHkuZGlyZWN0b3J5LCB0ZW1wbGF0ZUZpbGUpO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh0ZW1wbGF0ZUZpbGVQYXRoLCB0ZW1wbGF0ZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gIH1cblxuICBhc3NldE1hbmlmZXN0LmFkZEZpbGVBc3NldChcbiAgICB0ZW1wbGF0ZUhhc2gsXG4gICAge1xuICAgICAgcGF0aDogdGVtcGxhdGVGaWxlLFxuICAgIH0sXG4gICAge1xuICAgICAgYnVja2V0TmFtZTogdG9vbGtpdEluZm8uYnVja2V0TmFtZSxcbiAgICAgIG9iamVjdEtleToga2V5LFxuICAgIH0sXG4gICk7XG5cbiAgY29uc3QgdGVtcGxhdGVVUkwgPSBgJHt0b29sa2l0SW5mby5idWNrZXRVcmx9LyR7a2V5fWA7XG4gIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLmRlYnVnKGBTdG9yaW5nIHRlbXBsYXRlIGluIFMzIGF0OiAke3RlbXBsYXRlVVJMfWApO1xuICByZXR1cm4geyBUZW1wbGF0ZVVSTDogdGVtcGxhdGVVUkwgfTtcbn1cblxuLyoqXG4gKiBGb3JtYXQgYW4gUzMgVVJMIGluIHRoZSBtYW5pZmVzdCBmb3IgdXNlIHdpdGggQ2xvdWRGb3JtYXRpb25cbiAqXG4gKiBSZXBsYWNlcyBlbnZpcm9ubWVudCBwbGFjZWhvbGRlcnMgKHdoaWNoIHRoaXMgZmllbGQgbWF5IGNvbnRhaW4pLFxuICogYW5kIHJlZm9ybWF0cyBzMzovLy4uLi8uLi4gdXJscyBpbnRvIFMzIFJFU1QgVVJMcyAod2hpY2ggQ2xvdWRGb3JtYXRpb25cbiAqIGV4cGVjdHMpLlxuICpcbiAqIFdlIG5lZWQgdG8gcmV0dXJuIHRoZSBvZmZpY2lhbCByZWdpb24tIGFuZCBwYXJ0aXRpb24tc3BlY2lmaWMgVVJMIGZvciBBV1MgUzNcbiAqIGhlcmUsIHNvIHdlIHVzZSB0aGUgU0RLJ3MgaW5mb3JtYXRpb24gYWJvdXQgZW5kcG9pbnRzLiBBdCB0aGUgc2FtZSB0aW1lLCB0aGVcbiAqIFNESyBhbGxvd3Mgb3ZlcnJpZGluZyB0aGlzIFVSTCBieSBzZXR0aW5nIGFuIGVudmlyb25tZW50IHZhcmlhYmxlXG4gKiAoc3BlY2lmaWNhbGx5ICRBV1NfRU5EUE9JTlRfVVJMX1MzKSBidXQgd2Ugd2FudCB0byAqbm90KiBob25vciB0aGF0LCBiZWNhdXNlXG4gKiB0aGVyZSdzIGEgOTkuOSUgY2hhbmNlIHRoaXMgVVJMIHdpbGwgbm90IGJlIHJvdXRhYmxlIGZyb20gQVdTIENsb3VkRm9ybWF0aW9uLlxuICpcbiAqIFRvIGFsbG93IGZvciB0aGUgb2ZmIGNoYW5jZSB0aGF0IHNvbWVvbmUgaXMgcnVubmluZyB0aGlzIHRvb2wgYWdhaW5zdCBhXG4gKiBjdXN0b20gYnVpbGQgb2YgQ2xvdWRGb3JtYXRpb24gdGhhdCBkb2VzIG5lZWQgYSBzcGVjaWZpYyBTMyBlbmRwb2ludCBwYXNzZWRcbiAqIHRvIGl0LCB3ZSdsbCBpbnRyb2R1Y2UgYSBuZXcgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCB3ZSdsbCByZXNwZWN0IGluc3RlYWQ6XG4gKlxuICogIEFXU19FTkRQT0lOVF9VUkxfUzNfRk9SX0NMT1VERk9STUFUSU9OXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXN0VXJsRnJvbU1hbmlmZXN0KHVybDogc3RyaW5nLCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBkb05vdFVzZU1hcmtlciA9ICcqKkRPTk9UVVNFKionO1xuICBjb25zdCByZWdpb24gPSBlbnZpcm9ubWVudC5yZWdpb247XG4gIC8vIFRoaXMgVVJMIG1heSBjb250YWluIHBsYWNlaG9sZGVycywgc28gc3RpbGwgc3Vic3RpdHV0ZSB0aG9zZS5cbiAgdXJsID0gRW52aXJvbm1lbnRQbGFjZWhvbGRlcnMucmVwbGFjZSh1cmwsIHtcbiAgICBhY2NvdW50SWQ6IGVudmlyb25tZW50LmFjY291bnQsXG4gICAgcmVnaW9uLFxuICAgIHBhcnRpdGlvbjogZG9Ob3RVc2VNYXJrZXIsXG4gIH0pO1xuXG4gIC8vIFllcywgdGhpcyBpcyBleHRyZW1lbHkgY3J1ZGUsIGJ1dCB3ZSBkb24ndCBhY3R1YWxseSBuZWVkIHRoaXMgc28gSSdtIG5vdCBpbmNsaW5lZCB0byBzcGVuZFxuICAvLyBhIGxvdCBvZiBlZmZvcnQgdHJ5aW5nIHRvIHRocmVhZCB0aGUgcmlnaHQgdmFsdWUgdG8gdGhpcyBsb2NhdGlvbi5cbiAgaWYgKHVybC5pbmRleE9mKGRvTm90VXNlTWFya2VyKSA+IC0xKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcIkNhbm5vdCB1c2UgJyR7QVdTOjpQYXJ0aXRpb259JyBpbiB0aGUgJ3N0YWNrVGVtcGxhdGVBc3NldE9iamVjdFVybCcgZmllbGRcIik7XG4gIH1cblxuICBjb25zdCBzM1VybCA9IHVybC5tYXRjaCgvczM6XFwvXFwvKFteL10rKVxcLyguKikkLyk7XG4gIGlmICghczNVcmwpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgLy8gV2UgbmVlZCB0byBwYXNzIGFuICdodHRwczovL3MzLlJFR0lPTi5hbWF6b25hd3MuY29tWy5jbl0vYnVja2V0L29iamVjdCcgVVJMIHRvIENsb3VkRm9ybWF0aW9uLCBidXQgd2VcbiAgLy8gZ290IGFuICdzMzovL2J1Y2tldC9vYmplY3QnIFVSTCBpbnN0ZWFkLiBDb25zdHJ1Y3QgdGhlIHJlc3QgQVBJIFVSTCBoZXJlLlxuICBjb25zdCBidWNrZXROYW1lID0gczNVcmxbMV07XG4gIGNvbnN0IG9iamVjdEtleSA9IHMzVXJsWzJdO1xuXG4gIGNvbnN0IG9yaWdpbmFsT3ZlcnJpZGVTM0VuZHBvaW50ID0gcHJvY2Vzcy5lbnYuQVdTX0VORFBPSU5UX1VSTF9TMztcbiAgc2V0RW52KCdBV1NfRU5EUE9JTlRfVVJMX1MzJywgcHJvY2Vzcy5lbnYuQVdTX0VORFBPSU5UX1VSTF9TM19GT1JfQ0xPVURGT1JNQVRJT04pO1xuICB0cnkge1xuICAgIC8vIFNESyB2MyBubyBsb25nZXIgYWxsb3dzIGZvciBnZXR0aW5nIGVuZHBvaW50cyBmcm9tIG9ubHkgcmVnaW9uLlxuICAgIC8vIEEgY29tbWFuZCBhbmQgY2xpZW50IGNvbmZpZyBtdXN0IG5vdyBiZSBwcm92aWRlZC5cbiAgICBjb25zdCBzMyA9IG5ldyBTM0NsaWVudCh7IHJlZ2lvbiB9KTtcbiAgICBjb25zdCBlbmRwb2ludCA9IGF3YWl0IGdldEVuZHBvaW50RnJvbUluc3RydWN0aW9ucyh7fSwgSGVhZE9iamVjdENvbW1hbmQsIHtcbiAgICAgIC4uLnMzLmNvbmZpZyxcbiAgICB9KTtcblxuICAgIHJldHVybiBgJHtlbmRwb2ludC51cmwub3JpZ2lufS8ke2J1Y2tldE5hbWV9LyR7b2JqZWN0S2V5fWA7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0RW52KCdBV1NfRU5EUE9JTlRfVVJMX1MzJywgb3JpZ2luYWxPdmVycmlkZVMzRW5kcG9pbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldEVudihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgcHJvY2Vzcy5lbnZbbmFtZV0gPSB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgcHJvY2Vzcy5lbnZbbmFtZV07XG4gIH1cbn1cbiJdfQ==
@@ -10,6 +10,7 @@ export * from './garbage-collection';
10
10
  export * from './hotswap';
11
11
  export * from './io';
12
12
  export * from './logs-monitor';
13
+ export * from './network-detector';
13
14
  export * from './notices';
14
15
  export * from './plugin';
15
16
  export * from './refactoring';
package/lib/api/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./garbage-collection"), exports);
26
26
  __exportStar(require("./hotswap"), exports);
27
27
  __exportStar(require("./io"), exports);
28
28
  __exportStar(require("./logs-monitor"), exports);
29
+ __exportStar(require("./network-detector"), exports);
29
30
  __exportStar(require("./notices"), exports);
30
31
  __exportStar(require("./plugin"), exports);
31
32
  __exportStar(require("./refactoring"), exports);
@@ -38,4 +39,4 @@ __exportStar(require("./work-graph"), exports);
38
39
  __exportStar(require("./tree"), exports);
39
40
  __exportStar(require("./tags"), exports);
40
41
  __exportStar(require("./drift"), exports);
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsNENBQTBCO0FBQzFCLHVDQUFxQjtBQUNyQixpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsb0RBQWtDO0FBQ2xDLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQiwrQ0FBNkI7QUFDN0IseUNBQXVCO0FBQ3ZCLHlDQUF1QjtBQUN2QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F3cy1hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYm9vdHN0cmFwJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWQtYXNzZW1ibHknO1xuZXhwb3J0ICogZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3ltZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2RpZmYnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dhcmJhZ2UtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2hvdHN3YXAnO1xuZXhwb3J0ICogZnJvbSAnLi9pbyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ3MtbW9uaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL25vdGljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZhY3RvcmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLWltcG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3J3bG9jayc7XG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhY2stZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGtpdC1pbmZvJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1ncmFwaCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJpZnQnO1xuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsNENBQTBCO0FBQzFCLHVDQUFxQjtBQUNyQixpREFBK0I7QUFDL0IscURBQW1DO0FBQ25DLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLG9EQUFrQztBQUNsQywyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0NBQTZCO0FBQzdCLHlDQUF1QjtBQUN2Qix5Q0FBdUI7QUFDdkIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hd3MtYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2Jvb3RzdHJhcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nsb3VkLWFzc2VtYmx5JztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWRmb3JtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVwbG95bWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWZmJztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXJiYWdlLWNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Rzd2FwJztcbmV4cG9ydCAqIGZyb20gJy4vaW8nO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dzLW1vbml0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3JrLWRldGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZmFjdG9yaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtaW1wb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vcndsb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFjay1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sa2l0LWluZm8nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLWdyYXBoJztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmlmdCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './network-detector';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./network-detector"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZXR3b3JrLWRldGVjdG9yJztcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import * as https from 'node:https';
2
+ /**
3
+ * Detects internet connectivity by making a lightweight request to the notices endpoint
4
+ */
5
+ export declare class NetworkDetector {
6
+ /**
7
+ * Check if internet connectivity is available
8
+ */
9
+ static hasConnectivity(agent?: https.Agent): Promise<boolean>;
10
+ private static readonly TIMEOUT;
11
+ private static readonly URL;
12
+ private static load;
13
+ private static save;
14
+ private static ping;
15
+ }
16
+ //# sourceMappingURL=network-detector.d.ts.map
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetworkDetector = void 0;
4
+ const https = require("node:https");
5
+ const path = require("path");
6
+ const fs = require("fs-extra");
7
+ const util_1 = require("../../util");
8
+ const TIME_TO_LIVE_SUCCESS = 60 * 60 * 1000; // 1 hour
9
+ const CACHE_FILE_PATH = path.join((0, util_1.cdkCacheDir)(), 'connection.json');
10
+ /**
11
+ * Detects internet connectivity by making a lightweight request to the notices endpoint
12
+ */
13
+ class NetworkDetector {
14
+ /**
15
+ * Check if internet connectivity is available
16
+ */
17
+ static async hasConnectivity(agent) {
18
+ const cachedData = await this.load();
19
+ const expiration = cachedData.expiration ?? 0;
20
+ if (Date.now() > expiration) {
21
+ try {
22
+ const connected = await this.ping(agent);
23
+ const updatedData = {
24
+ expiration: Date.now() + TIME_TO_LIVE_SUCCESS,
25
+ hasConnectivity: connected,
26
+ };
27
+ await this.save(updatedData);
28
+ return connected;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
34
+ else {
35
+ return cachedData.hasConnectivity;
36
+ }
37
+ }
38
+ // We are observing lots of timeouts when running in a massively parallel
39
+ // integration test environment, so wait for a longer timeout there.
40
+ //
41
+ // In production, have a short timeout to not hold up the user experience.
42
+ static TIMEOUT = process.env.TESTING_CDK ? 30_000 : 3_000;
43
+ static URL = 'https://cli.cdk.dev-tools.aws.dev/notices.json';
44
+ static async load() {
45
+ const defaultValue = {
46
+ expiration: 0,
47
+ hasConnectivity: false,
48
+ };
49
+ try {
50
+ return fs.existsSync(CACHE_FILE_PATH)
51
+ ? await fs.readJSON(CACHE_FILE_PATH)
52
+ : defaultValue;
53
+ }
54
+ catch {
55
+ return defaultValue;
56
+ }
57
+ }
58
+ static async save(cached) {
59
+ try {
60
+ await fs.ensureFile(CACHE_FILE_PATH);
61
+ await fs.writeJSON(CACHE_FILE_PATH, cached);
62
+ }
63
+ catch {
64
+ // Silently ignore cache save errors
65
+ }
66
+ }
67
+ static ping(agent) {
68
+ const options = {
69
+ method: 'HEAD',
70
+ agent: agent,
71
+ timeout: this.TIMEOUT,
72
+ };
73
+ return new Promise((resolve) => {
74
+ const req = https.request(NetworkDetector.URL, options, (res) => {
75
+ resolve(res.statusCode !== undefined && res.statusCode < 500);
76
+ });
77
+ req.on('error', () => resolve(false));
78
+ req.on('timeout', () => {
79
+ req.destroy();
80
+ resolve(false);
81
+ });
82
+ req.end();
83
+ });
84
+ }
85
+ }
86
+ exports.NetworkDetector = NetworkDetector;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1kZXRlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5ldHdvcmstZGV0ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQW9DO0FBRXBDLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IscUNBQXlDO0FBT3pDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxTQUFTO0FBQ3RELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxrQkFBVyxHQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUVwRTs7R0FFRztBQUNILE1BQWEsZUFBZTtJQUMxQjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQW1CO1FBQ3JELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sV0FBVyxHQUFHO29CQUNsQixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLG9CQUFvQjtvQkFDN0MsZUFBZSxFQUFFLFNBQVM7aUJBQzNCLENBQUM7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQseUVBQXlFO0lBQ3pFLG9FQUFvRTtJQUNwRSxFQUFFO0lBQ0YsMEVBQTBFO0lBQ2xFLE1BQU0sQ0FBVSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25FLE1BQU0sQ0FBVSxHQUFHLEdBQUcsZ0RBQWdELENBQUM7SUFFdkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxDQUFDO1lBQ2IsZUFBZSxFQUFFLEtBQUs7U0FDdkIsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUF1QjtnQkFDMUQsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuQixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUEwQjtRQUNsRCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asb0NBQW9DO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFtQjtRQUNyQyxNQUFNLE9BQU8sR0FBbUI7WUFDOUIsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBRUYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQ3ZCLGVBQWUsQ0FBQyxHQUFHLEVBQ25CLE9BQU8sRUFDUCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FDRixDQUFDO1lBQ0YsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNyQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBRUgsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9FSCwwQ0FnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBodHRwcyBmcm9tICdub2RlOmh0dHBzJztcbmltcG9ydCB0eXBlIHsgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICdub2RlOmh0dHBzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgeyBjZGtDYWNoZURpciB9IGZyb20gJy4uLy4uL3V0aWwnO1xuXG5pbnRlcmZhY2UgQ2FjaGVkQ29ubmVjdGl2aXR5IHtcbiAgZXhwaXJhdGlvbjogbnVtYmVyO1xuICBoYXNDb25uZWN0aXZpdHk6IGJvb2xlYW47XG59XG5cbmNvbnN0IFRJTUVfVE9fTElWRV9TVUNDRVNTID0gNjAgKiA2MCAqIDEwMDA7IC8vIDEgaG91clxuY29uc3QgQ0FDSEVfRklMRV9QQVRIID0gcGF0aC5qb2luKGNka0NhY2hlRGlyKCksICdjb25uZWN0aW9uLmpzb24nKTtcblxuLyoqXG4gKiBEZXRlY3RzIGludGVybmV0IGNvbm5lY3Rpdml0eSBieSBtYWtpbmcgYSBsaWdodHdlaWdodCByZXF1ZXN0IHRvIHRoZSBub3RpY2VzIGVuZHBvaW50XG4gKi9cbmV4cG9ydCBjbGFzcyBOZXR3b3JrRGV0ZWN0b3Ige1xuICAvKipcbiAgICogQ2hlY2sgaWYgaW50ZXJuZXQgY29ubmVjdGl2aXR5IGlzIGF2YWlsYWJsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBoYXNDb25uZWN0aXZpdHkoYWdlbnQ/OiBodHRwcy5BZ2VudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNhY2hlZERhdGEgPSBhd2FpdCB0aGlzLmxvYWQoKTtcbiAgICBjb25zdCBleHBpcmF0aW9uID0gY2FjaGVkRGF0YS5leHBpcmF0aW9uID8/IDA7XG5cbiAgICBpZiAoRGF0ZS5ub3coKSA+IGV4cGlyYXRpb24pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3RlZCA9IGF3YWl0IHRoaXMucGluZyhhZ2VudCk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0ge1xuICAgICAgICAgIGV4cGlyYXRpb246IERhdGUubm93KCkgKyBUSU1FX1RPX0xJVkVfU1VDQ0VTUyxcbiAgICAgICAgICBoYXNDb25uZWN0aXZpdHk6IGNvbm5lY3RlZCxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlKHVwZGF0ZWREYXRhKTtcbiAgICAgICAgcmV0dXJuIGNvbm5lY3RlZDtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYWNoZWREYXRhLmhhc0Nvbm5lY3Rpdml0eTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBhcmUgb2JzZXJ2aW5nIGxvdHMgb2YgdGltZW91dHMgd2hlbiBydW5uaW5nIGluIGEgbWFzc2l2ZWx5IHBhcmFsbGVsXG4gIC8vIGludGVncmF0aW9uIHRlc3QgZW52aXJvbm1lbnQsIHNvIHdhaXQgZm9yIGEgbG9uZ2VyIHRpbWVvdXQgdGhlcmUuXG4gIC8vXG4gIC8vIEluIHByb2R1Y3Rpb24sIGhhdmUgYSBzaG9ydCB0aW1lb3V0IHRvIG5vdCBob2xkIHVwIHRoZSB1c2VyIGV4cGVyaWVuY2UuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFRJTUVPVVQgPSBwcm9jZXNzLmVudi5URVNUSU5HX0NESyA/IDMwXzAwMCA6IDNfMDAwO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVUkwgPSAnaHR0cHM6Ly9jbGkuY2RrLmRldi10b29scy5hd3MuZGV2L25vdGljZXMuanNvbic7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgbG9hZCgpOiBQcm9taXNlPENhY2hlZENvbm5lY3Rpdml0eT4ge1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHtcbiAgICAgIGV4cGlyYXRpb246IDAsXG4gICAgICBoYXNDb25uZWN0aXZpdHk6IGZhbHNlLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZzLmV4aXN0c1N5bmMoQ0FDSEVfRklMRV9QQVRIKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKU09OKENBQ0hFX0ZJTEVfUEFUSCkgYXMgQ2FjaGVkQ29ubmVjdGl2aXR5XG4gICAgICAgIDogZGVmYXVsdFZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBhc3luYyBzYXZlKGNhY2hlZDogQ2FjaGVkQ29ubmVjdGl2aXR5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZzLmVuc3VyZUZpbGUoQ0FDSEVfRklMRV9QQVRIKTtcbiAgICAgIGF3YWl0IGZzLndyaXRlSlNPTihDQUNIRV9GSUxFX1BBVEgsIGNhY2hlZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTaWxlbnRseSBpZ25vcmUgY2FjaGUgc2F2ZSBlcnJvcnNcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBwaW5nKGFnZW50PzogaHR0cHMuQWdlbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgIG1ldGhvZDogJ0hFQUQnLFxuICAgICAgYWdlbnQ6IGFnZW50LFxuICAgICAgdGltZW91dDogdGhpcy5USU1FT1VULFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IGh0dHBzLnJlcXVlc3QoXG4gICAgICAgIE5ldHdvcmtEZXRlY3Rvci5VUkwsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHJlcy5zdGF0dXNDb2RlICE9PSB1bmRlZmluZWQgJiYgcmVzLnN0YXR1c0NvZGUgPCA1MDApO1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgICAgIHJlcS5vbignZXJyb3InLCAoKSA9PiByZXNvbHZlKGZhbHNlKSk7XG4gICAgICByZXEub24oJ3RpbWVvdXQnLCAoKSA9PiB7XG4gICAgICAgIHJlcS5kZXN0cm95KCk7XG4gICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlcS5lbmQoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -4,6 +4,7 @@ exports.WebsiteNoticeDataSource = exports.WebsiteNoticeDataSourceProps = void 0;
4
4
  const https = require("node:https");
5
5
  const toolkit_error_1 = require("../../toolkit/toolkit-error");
6
6
  const util_1 = require("../../util");
7
+ const network_detector_1 = require("../network-detector/network-detector");
7
8
  /**
8
9
  * A data source that fetches notices from the CDK notices data source
9
10
  */
@@ -41,6 +42,11 @@ class WebsiteNoticeDataSource {
41
42
  this.url = props.url ?? 'https://cli.cdk.dev-tools.aws.dev/notices.json';
42
43
  }
43
44
  async fetch() {
45
+ // Check connectivity before attempting network request
46
+ const hasConnectivity = await network_detector_1.NetworkDetector.hasConnectivity(this.agent);
47
+ if (!hasConnectivity) {
48
+ throw new toolkit_error_1.ToolkitError('No internet connectivity detected');
49
+ }
44
50
  // We are observing lots of timeouts when running in a massively parallel
45
51
  // integration test environment, so wait for a longer timeout there.
46
52
  //
@@ -98,4 +104,4 @@ class WebsiteNoticeDataSource {
98
104
  }
99
105
  }
100
106
  exports.WebsiteNoticeDataSource = WebsiteNoticeDataSource;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2ViLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG9DQUFvQztBQUVwQywrREFBMkQ7QUFDM0QscUNBQXlGO0FBR3pGOztHQUVHO0FBQ0gsTUFBYSw0QkFBNEI7SUFDdkM7Ozs7Ozs7O09BUUc7SUFDTSxHQUFHLENBQWdCO0lBQzVCOzs7Ozs7T0FNRztJQUNNLEtBQUssQ0FBZTtDQUM5QjtBQW5CRCxvRUFtQkM7QUFFRCxNQUFhLHVCQUF1QjtJQVFMO0lBUDdCOztPQUVHO0lBQ2EsR0FBRyxDQUFNO0lBRVIsS0FBSyxDQUFlO0lBRXJDLFlBQTZCLFFBQWtCLEVBQUUsUUFBc0MsRUFBRTtRQUE1RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksZ0RBQWdELENBQUM7SUFDM0UsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxFQUFFO1FBQ0YsMEVBQTBFO1FBQzFFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUV6RCxNQUFNLE9BQU8sR0FBbUI7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksT0FBTyxDQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzlELElBQUksR0FBOEIsQ0FBQztZQUVuQyxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUMxQixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNSLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztnQkFDckQsQ0FBQztZQUNILENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVaLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVkLElBQUksQ0FBQztnQkFDSCxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUN0QixPQUFPLEVBQ1AsR0FBRyxDQUFDLEVBQUU7b0JBQ0osSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUMzQixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN4QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7d0JBQ2pCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7NEJBQ3ZCLE9BQU8sSUFBSSxLQUFLLENBQUM7d0JBQ25CLENBQUMsQ0FBQyxDQUFDO3dCQUNILEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTs0QkFDakIsSUFBSSxDQUFDO2dDQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBbUIsQ0FBQztnQ0FDckQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29DQUNWLE1BQU0sSUFBSSw0QkFBWSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7Z0NBQ3hFLENBQUM7Z0NBQ0QsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDdEIsQ0FBQzs0QkFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO2dDQUNoQixNQUFNLENBQUMsNEJBQVksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUEseUJBQWtCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUM3RSxDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNILEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFOzRCQUNsQixNQUFNLENBQUMsNEJBQVksQ0FBQyxTQUFTLENBQUMsSUFBQSx5QkFBa0IsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUMzRCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxDQUFDLElBQUksNEJBQVksQ0FBQyxHQUFHLElBQUEsMkJBQW9CLEVBQUMsR0FBRyxDQUFDLFVBQVcsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDeEcsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDbEIsTUFBTSxDQUFDLDRCQUFZLENBQUMsU0FBUyxDQUFDLElBQUEsd0JBQWlCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLDRCQUFZLENBQUMsU0FBUyxDQUFDLElBQUEseUJBQWtCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQTFFRCwwREEwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENsaWVudFJlcXVlc3QgfSBmcm9tICdub2RlOmh0dHAnO1xuaW1wb3J0IHR5cGUgeyBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJ25vZGU6aHR0cHMnO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnbm9kZTpodHRwcyc7XG5pbXBvcnQgdHlwZSB7IE5vdGljZSwgTm90aWNlRGF0YVNvdXJjZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB7IGZvcm1hdEVycm9yTWVzc2FnZSwgaHVtYW5IdHRwU3RhdHVzRXJyb3IsIGh1bWFuTmV0d29ya0Vycm9yIH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5pbXBvcnQgdHlwZSB7IElvSGVscGVyIH0gZnJvbSAnLi4vaW8vcHJpdmF0ZSc7XG5cbi8qKlxuICogQSBkYXRhIHNvdXJjZSB0aGF0IGZldGNoZXMgbm90aWNlcyBmcm9tIHRoZSBDREsgbm90aWNlcyBkYXRhIHNvdXJjZVxuICovXG5leHBvcnQgY2xhc3MgV2Vic2l0ZU5vdGljZURhdGFTb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHRvIGxvYWQgbm90aWNlcyBmcm9tLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgbXVzdCBiZSBhIHZhbGlkIEpTT04gZG9jdW1lbnQgaW4gdGhlIENESyBub3RpY2VzIGRhdGEgc2NoZW1hLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jZGtsYWJzL2F3cy1jZGstbm90aWNlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9mZmljaWFsIENESyBub3RpY2VzXG4gICAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmcgfCBVUkw7XG4gIC8qKlxuICAgKiBUaGUgYWdlbnQgcmVzcG9uc2libGUgZm9yIG1ha2luZyB0aGUgbmV0d29yayByZXF1ZXN0cy5cbiAgICpcbiAgICogVXNlIHRoaXMgc28gc2V0IHVwIGEgcHJveHkgY29ubmVjdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2VzIHRoZSBzaGFyZWQgZ2xvYmFsIG5vZGUgYWdlbnRcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50PzogaHR0cHMuQWdlbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBXZWJzaXRlTm90aWNlRGF0YVNvdXJjZSBpbXBsZW1lbnRzIE5vdGljZURhdGFTb3VyY2Uge1xuICAvKipcbiAgICogVGhlIFVSTCBub3RpY2VzIGFyZSBsb2FkZWQgZnJvbS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1cmw6IGFueTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFnZW50PzogaHR0cHMuQWdlbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXIsIHByb3BzOiBXZWJzaXRlTm90aWNlRGF0YVNvdXJjZVByb3BzID0ge30pIHtcbiAgICB0aGlzLmFnZW50ID0gcHJvcHMuYWdlbnQ7XG4gICAgdGhpcy51cmwgPSBwcm9wcy51cmwgPz8gJ2h0dHBzOi8vY2xpLmNkay5kZXYtdG9vbHMuYXdzLmRldi9ub3RpY2VzLmpzb24nO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2goKTogUHJvbWlzZTxOb3RpY2VbXT4ge1xuICAgIC8vIFdlIGFyZSBvYnNlcnZpbmcgbG90cyBvZiB0aW1lb3V0cyB3aGVuIHJ1bm5pbmcgaW4gYSBtYXNzaXZlbHkgcGFyYWxsZWxcbiAgICAvLyBpbnRlZ3JhdGlvbiB0ZXN0IGVudmlyb25tZW50LCBzbyB3YWl0IGZvciBhIGxvbmdlciB0aW1lb3V0IHRoZXJlLlxuICAgIC8vXG4gICAgLy8gSW4gcHJvZHVjdGlvbiwgaGF2ZSBhIHNob3J0IHRpbWVvdXQgdG8gbm90IGhvbGQgdXAgdGhlIHVzZXIgZXhwZXJpZW5jZS5cbiAgICBjb25zdCB0aW1lb3V0ID0gcHJvY2Vzcy5lbnYuVEVTVElOR19DREsgPyAzMF8wMDAgOiAzXzAwMDtcblxuICAgIGNvbnN0IG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgYWdlbnQ6IHRoaXMuYWdlbnQsXG4gICAgfTtcblxuICAgIGNvbnN0IG5vdGljZXMgPSBhd2FpdCBuZXcgUHJvbWlzZTxOb3RpY2VbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IHJlcTogQ2xpZW50UmVxdWVzdCB8IHVuZGVmaW5lZDtcblxuICAgICAgbGV0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChyZXEpIHtcbiAgICAgICAgICByZXEuZGVzdHJveShuZXcgVG9vbGtpdEVycm9yKCdSZXF1ZXN0IHRpbWVkIG91dCcpKTtcbiAgICAgICAgfVxuICAgICAgfSwgdGltZW91dCk7XG5cbiAgICAgIHRpbWVyLnVucmVmKCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcSA9IGh0dHBzLmdldCh0aGlzLnVybCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICByZXMuc2V0RW5jb2RpbmcoJ3V0ZjgnKTtcbiAgICAgICAgICAgICAgbGV0IHJhd0RhdGEgPSAnJztcbiAgICAgICAgICAgICAgcmVzLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgcmF3RGF0YSArPSBjaHVuaztcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJlcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyYXdEYXRhKS5ub3RpY2VzIGFzIE5vdGljZVtdO1xuICAgICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoXCInbm90aWNlcycga2V5IGlzIG1pc3NpbmcgZnJvbSByZWNlaXZlZCBkYXRhXCIpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhID8/IFtdKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgICAgICAgIHJlamVjdChUb29sa2l0RXJyb3Iud2l0aENhdXNlKGBQYXJzZSBlcnJvcjogJHtmb3JtYXRFcnJvck1lc3NhZ2UoZSl9YCwgZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJlcy5vbignZXJyb3InLCBlID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoVG9vbGtpdEVycm9yLndpdGhDYXVzZShmb3JtYXRFcnJvck1lc3NhZ2UoZSksIGUpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZWplY3QobmV3IFRvb2xraXRFcnJvcihgJHtodW1hbkh0dHBTdGF0dXNFcnJvcihyZXMuc3RhdHVzQ29kZSEpfSAoU3RhdHVzIGNvZGU6ICR7cmVzLnN0YXR1c0NvZGV9KWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgcmVxLm9uKCdlcnJvcicsIGUgPT4ge1xuICAgICAgICAgIHJlamVjdChUb29sa2l0RXJyb3Iud2l0aENhdXNlKGh1bWFuTmV0d29ya0Vycm9yKGUpLCBlKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIHJlamVjdChUb29sa2l0RXJyb3Iud2l0aENhdXNlKGZvcm1hdEVycm9yTWVzc2FnZShlKSwgZSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy5pb0hlbHBlci5kZWZhdWx0cy5kZWJ1ZygnTm90aWNlcyByZWZyZXNoZWQnKTtcbiAgICByZXR1cm4gbm90aWNlcztcbiAgfVxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2ViLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG9DQUFvQztBQUVwQywrREFBMkQ7QUFDM0QscUNBQXlGO0FBRXpGLDJFQUF1RTtBQUV2RTs7R0FFRztBQUNILE1BQWEsNEJBQTRCO0lBQ3ZDOzs7Ozs7OztPQVFHO0lBQ00sR0FBRyxDQUFnQjtJQUU1Qjs7Ozs7O09BTUc7SUFDTSxLQUFLLENBQWU7Q0FDOUI7QUFwQkQsb0VBb0JDO0FBRUQsTUFBYSx1QkFBdUI7SUFRTDtJQVA3Qjs7T0FFRztJQUNhLEdBQUcsQ0FBTTtJQUVSLEtBQUssQ0FBZTtJQUVyQyxZQUE2QixRQUFrQixFQUFFLFFBQXNDLEVBQUU7UUFBNUQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLGdEQUFnRCxDQUFDO0lBQzNFLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULHVEQUF1RDtRQUN2RCxNQUFNLGVBQWUsR0FBRyxNQUFNLGtDQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLDRCQUFZLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxFQUFFO1FBQ0YsMEVBQTBFO1FBQzFFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUV6RCxNQUFNLE9BQU8sR0FBbUI7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFL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QUM7SUFDakIsQ0FBQztDQUNGO0FBbEZELDBEQWtGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xpZW50UmVxdWVzdCB9IGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgdHlwZSB7IFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnbm9kZTpodHRwcyc7XG5pbXBvcnQgKiBhcyBodHRwcyBmcm9tICdub2RlOmh0dHBzJztcbmltcG9ydCB0eXBlIHsgTm90aWNlLCBOb3RpY2VEYXRhU291cmNlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuaW1wb3J0IHsgZm9ybWF0RXJyb3JNZXNzYWdlLCBodW1hbkh0dHBTdGF0dXNFcnJvciwgaHVtYW5OZXR3b3JrRXJyb3IgfSBmcm9tICcuLi8uLi91dGlsJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi9pby9wcml2YXRlJztcbmltcG9ydCB7IE5ldHdvcmtEZXRlY3RvciB9IGZyb20gJy4uL25ldHdvcmstZGV0ZWN0b3IvbmV0d29yay1kZXRlY3Rvcic7XG5cbi8qKlxuICogQSBkYXRhIHNvdXJjZSB0aGF0IGZldGNoZXMgbm90aWNlcyBmcm9tIHRoZSBDREsgbm90aWNlcyBkYXRhIHNvdXJjZVxuICovXG5leHBvcnQgY2xhc3MgV2Vic2l0ZU5vdGljZURhdGFTb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHRvIGxvYWQgbm90aWNlcyBmcm9tLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgbXVzdCBiZSBhIHZhbGlkIEpTT04gZG9jdW1lbnQgaW4gdGhlIENESyBub3RpY2VzIGRhdGEgc2NoZW1hLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jZGtsYWJzL2F3cy1jZGstbm90aWNlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9mZmljaWFsIENESyBub3RpY2VzXG4gICAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmcgfCBVUkw7XG5cbiAgLyoqXG4gICAqIFRoZSBhZ2VudCByZXNwb25zaWJsZSBmb3IgbWFraW5nIHRoZSBuZXR3b3JrIHJlcXVlc3RzLlxuICAgKlxuICAgKiBVc2UgdGhpcyBzbyBzZXQgdXAgYSBwcm94eSBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZXMgdGhlIHNoYXJlZCBnbG9iYWwgbm9kZSBhZ2VudFxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnQ/OiBodHRwcy5BZ2VudDtcbn1cblxuZXhwb3J0IGNsYXNzIFdlYnNpdGVOb3RpY2VEYXRhU291cmNlIGltcGxlbWVudHMgTm90aWNlRGF0YVNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG5vdGljZXMgYXJlIGxvYWRlZCBmcm9tLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVybDogYW55O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWdlbnQ/OiBodHRwcy5BZ2VudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlciwgcHJvcHM6IFdlYnNpdGVOb3RpY2VEYXRhU291cmNlUHJvcHMgPSB7fSkge1xuICAgIHRoaXMuYWdlbnQgPSBwcm9wcy5hZ2VudDtcbiAgICB0aGlzLnVybCA9IHByb3BzLnVybCA/PyAnaHR0cHM6Ly9jbGkuY2RrLmRldi10b29scy5hd3MuZGV2L25vdGljZXMuanNvbic7XG4gIH1cblxuICBhc3luYyBmZXRjaCgpOiBQcm9taXNlPE5vdGljZVtdPiB7XG4gICAgLy8gQ2hlY2sgY29ubmVjdGl2aXR5IGJlZm9yZSBhdHRlbXB0aW5nIG5ldHdvcmsgcmVxdWVzdFxuICAgIGNvbnN0IGhhc0Nvbm5lY3Rpdml0eSA9IGF3YWl0IE5ldHdvcmtEZXRlY3Rvci5oYXNDb25uZWN0aXZpdHkodGhpcy5hZ2VudCk7XG4gICAgaWYgKCFoYXNDb25uZWN0aXZpdHkpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ05vIGludGVybmV0IGNvbm5lY3Rpdml0eSBkZXRlY3RlZCcpO1xuICAgIH1cblxuICAgIC8vIFdlIGFyZSBvYnNlcnZpbmcgbG90cyBvZiB0aW1lb3V0cyB3aGVuIHJ1bm5pbmcgaW4gYSBtYXNzaXZlbHkgcGFyYWxsZWxcbiAgICAvLyBpbnRlZ3JhdGlvbiB0ZXN0IGVudmlyb25tZW50LCBzbyB3YWl0IGZvciBhIGxvbmdlciB0aW1lb3V0IHRoZXJlLlxuICAgIC8vXG4gICAgLy8gSW4gcHJvZHVjdGlvbiwgaGF2ZSBhIHNob3J0IHRpbWVvdXQgdG8gbm90IGhvbGQgdXAgdGhlIHVzZXIgZXhwZXJpZW5jZS5cbiAgICBjb25zdCB0aW1lb3V0ID0gcHJvY2Vzcy5lbnYuVEVTVElOR19DREsgPyAzMF8wMDAgOiAzXzAwMDtcblxuICAgIGNvbnN0IG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgYWdlbnQ6IHRoaXMuYWdlbnQsXG4gICAgfTtcblxuICAgIGNvbnN0IG5vdGljZXMgPSBhd2FpdCBuZXcgUHJvbWlzZTxOb3RpY2VbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IHJlcTogQ2xpZW50UmVxdWVzdCB8IHVuZGVmaW5lZDtcblxuICAgICAgbGV0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChyZXEpIHtcbiAgICAgICAgICByZXEuZGVzdHJveShuZXcgVG9vbGtpdEVycm9yKCdSZXF1ZXN0IHRpbWVkIG91dCcpKTtcbiAgICAgICAgfVxuICAgICAgfSwgdGltZW91dCk7XG5cbiAgICAgIHRpbWVyLnVucmVmKCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcSA9IGh0dHBzLmdldChcbiAgICAgICAgICB0aGlzLnVybCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICByZXMuc2V0RW5jb2RpbmcoJ3V0ZjgnKTtcbiAgICAgICAgICAgICAgbGV0IHJhd0RhdGEgPSAnJztcbiAgICAgICAgICAgICAgcmVzLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgcmF3RGF0YSArPSBjaHVuaztcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJlcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyYXdEYXRhKS5ub3RpY2VzIGFzIE5vdGljZVtdO1xuICAgICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoXCInbm90aWNlcycga2V5IGlzIG1pc3NpbmcgZnJvbSByZWNlaXZlZCBkYXRhXCIpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhID8/IFtdKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgICAgICAgIHJlamVjdChUb29sa2l0RXJyb3Iud2l0aENhdXNlKGBQYXJzZSBlcnJvcjogJHtmb3JtYXRFcnJvck1lc3NhZ2UoZSl9YCwgZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJlcy5vbignZXJyb3InLCBlID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoVG9vbGtpdEVycm9yLndpdGhDYXVzZShmb3JtYXRFcnJvck1lc3NhZ2UoZSksIGUpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZWplY3QobmV3IFRvb2xraXRFcnJvcihgJHtodW1hbkh0dHBTdGF0dXNFcnJvcihyZXMuc3RhdHVzQ29kZSEpfSAoU3RhdHVzIGNvZGU6ICR7cmVzLnN0YXR1c0NvZGV9KWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICByZXEub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICAgICAgcmVqZWN0KFRvb2xraXRFcnJvci53aXRoQ2F1c2UoaHVtYW5OZXR3b3JrRXJyb3IoZSksIGUpKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgcmVqZWN0KFRvb2xraXRFcnJvci53aXRoQ2F1c2UoZm9ybWF0RXJyb3JNZXNzYWdlKGUpLCBlKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhd2FpdCB0aGlzLmlvSGVscGVyLmRlZmF1bHRzLmRlYnVnKCdOb3RpY2VzIHJlZnJlc2hlZCcpO1xuICAgIHJldHVybiBub3RpY2VzO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "dependencies": {
81
81
  "@aws-cdk/cdk-assets-lib": "^1",
82
- "@aws-cdk/cloud-assembly-schema": ">=48.18.0",
82
+ "@aws-cdk/cloud-assembly-schema": ">=48.20.0",
83
83
  "@aws-cdk/cloudformation-diff": "^2",
84
84
  "@aws-cdk/cx-api": "^2",
85
85
  "@aws-sdk/client-appsync": "^3",
@@ -114,7 +114,7 @@
114
114
  "chokidar": "^3",
115
115
  "fast-deep-equal": "^3.1.3",
116
116
  "fs-extra": "^9",
117
- "glob": "^11.0.3",
117
+ "glob": "^11.1.0",
118
118
  "minimatch": "10.0.3",
119
119
  "p-limit": "^3",
120
120
  "semver": "^7.7.2",
@@ -136,7 +136,7 @@
136
136
  "publishConfig": {
137
137
  "access": "public"
138
138
  },
139
- "version": "1.10.3",
139
+ "version": "1.11.0",
140
140
  "types": "lib/index.d.ts",
141
141
  "exports": {
142
142
  ".": {