@aws-sdk/util-user-agent-node 3.32.0 → 3.33.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/CHANGELOG.md +11 -0
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/is-crt-available.js +23 -0
- package/dist/es/index.js +6 -1
- package/dist/es/is-crt-available.js +19 -0
- package/dist/types/is-crt-available.d.ts +2 -0
- package/dist/types/ts3.4/is-crt-available.d.ts +2 -0
- package/package.json +1 -1
- package/src/index.ts +7 -0
- package/src/is-crt-available.ts +19 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **client-s3:** support generating endpoints from multi-region access point ([#2796](https://github.com/aws/aws-sdk-js-v3/issues/2796)) ([c1bed9d](https://github.com/aws/aws-sdk-js-v3/commit/c1bed9d5c54ea3afbfe1883877b452b0b54a69fa)), closes [#2759](https://github.com/aws/aws-sdk-js-v3/issues/2759)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @aws-sdk/util-user-agent-node
|
package/dist/cjs/index.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NA
|
|
|
4
4
|
const node_config_provider_1 = require("@aws-sdk/node-config-provider");
|
|
5
5
|
const os_1 = require("os");
|
|
6
6
|
const process_1 = require("process");
|
|
7
|
+
const is_crt_available_1 = require("./is-crt-available");
|
|
7
8
|
exports.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID";
|
|
8
9
|
exports.UA_APP_ID_INI_NAME = "sdk-ua-app-id";
|
|
9
10
|
/**
|
|
@@ -20,6 +21,10 @@ const defaultUserAgent = ({ serviceId, clientVersion }) => {
|
|
|
20
21
|
["lang/js"],
|
|
21
22
|
["md/nodejs", `${process_1.versions.node}`],
|
|
22
23
|
];
|
|
24
|
+
const crtAvailable = is_crt_available_1.isCrtAvailable();
|
|
25
|
+
if (crtAvailable) {
|
|
26
|
+
sections.push(crtAvailable);
|
|
27
|
+
}
|
|
23
28
|
if (serviceId) {
|
|
24
29
|
// api-metadata
|
|
25
30
|
// service Id may not appear in non-AWS clients
|
|
@@ -44,4 +49,4 @@ const defaultUserAgent = ({ serviceId, clientVersion }) => {
|
|
|
44
49
|
};
|
|
45
50
|
};
|
|
46
51
|
exports.defaultUserAgent = defaultUserAgent;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0VBQTJEO0FBRTNELDJCQUF1QztBQUN2QyxxQ0FBd0M7QUFFeEMseURBQW9EO0FBRXZDLFFBQUEsa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7QUFDekMsUUFBQSxrQkFBa0IsR0FBRyxlQUFlLENBQUM7QUFPbEQ7O0dBRUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUEyQixFQUF1QixFQUFFO0lBQzdHLE1BQU0sUUFBUSxHQUFjO1FBQzFCLGVBQWU7UUFDZixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7UUFDN0IsY0FBYztRQUNkLENBQUMsTUFBTSxhQUFRLEVBQUUsRUFBRSxFQUFFLFlBQU8sRUFBRSxDQUFDO1FBQy9CLG9CQUFvQjtRQUNwQixpRUFBaUU7UUFDakUsQ0FBQyxTQUFTLENBQUM7UUFDWCxDQUFDLFdBQVcsRUFBRSxHQUFHLGtCQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEMsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLGlDQUFjLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzdCO0lBRUQsSUFBSSxTQUFTLEVBQUU7UUFDYixlQUFlO1FBQ2YsK0NBQStDO1FBQy9DLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLFNBQVMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDcEQ7SUFFRCxJQUFJLGFBQUcsQ0FBQyxpQkFBaUIsRUFBRTtRQUN6QixlQUFlO1FBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksYUFBRyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3REO0lBRUQsTUFBTSxZQUFZLEdBQUcsaUNBQVUsQ0FBcUI7UUFDbEQsMkJBQTJCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQywwQkFBa0IsQ0FBQztRQUM3RCxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLDBCQUFrQixDQUFDO1FBQzVELE9BQU8sRUFBRSxTQUFTO0tBQ25CLENBQUMsRUFBRSxDQUFDO0lBRUwsSUFBSSxpQkFBaUIsR0FBMEIsU0FBUyxDQUFDO0lBQ3pELE9BQU8sS0FBSyxJQUFJLEVBQUU7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDO1lBQ2pDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7U0FDN0U7UUFDRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTFDVyxRQUFBLGdCQUFnQixvQkEwQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9ub2RlLWNvbmZpZy1wcm92aWRlclwiO1xuaW1wb3J0IHsgUHJvdmlkZXIsIFVzZXJBZ2VudCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgcGxhdGZvcm0sIHJlbGVhc2UgfSBmcm9tIFwib3NcIjtcbmltcG9ydCB7IGVudiwgdmVyc2lvbnMgfSBmcm9tIFwicHJvY2Vzc1wiO1xuXG5pbXBvcnQgeyBpc0NydEF2YWlsYWJsZSB9IGZyb20gXCIuL2lzLWNydC1hdmFpbGFibGVcIjtcblxuZXhwb3J0IGNvbnN0IFVBX0FQUF9JRF9FTlZfTkFNRSA9IFwiQVdTX1NES19VQV9BUFBfSURcIjtcbmV4cG9ydCBjb25zdCBVQV9BUFBfSURfSU5JX05BTUUgPSBcInNkay11YS1hcHAtaWRcIjtcblxuaW50ZXJmYWNlIERlZmF1bHRVc2VyQWdlbnRPcHRpb25zIHtcbiAgc2VydmljZUlkPzogc3RyaW5nO1xuICBjbGllbnRWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdCBtZXRyaWNzIGZyb20gcnVudGltZSB0byBwdXQgaW50byB1c2VyIGFnZW50LlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9ICh7IHNlcnZpY2VJZCwgY2xpZW50VmVyc2lvbiB9OiBEZWZhdWx0VXNlckFnZW50T3B0aW9ucyk6IFByb3ZpZGVyPFVzZXJBZ2VudD4gPT4ge1xuICBjb25zdCBzZWN0aW9uczogVXNlckFnZW50ID0gW1xuICAgIC8vIHNkay1tZXRhZGF0YVxuICAgIFtcImF3cy1zZGstanNcIiwgY2xpZW50VmVyc2lvbl0sXG4gICAgLy8gb3MtbWV0YWRhdGFcbiAgICBbYG9zLyR7cGxhdGZvcm0oKX1gLCByZWxlYXNlKCldLFxuICAgIC8vIGxhbmd1YWdlLW1ldGFkYXRhXG4gICAgLy8gRUNNQVNjcmlwdCBlZGl0aW9uIGRvZXNuJ3QgbWF0dGVyIGluIEpTLCBzbyBubyB2ZXJzaW9uIG5lZWRlZC5cbiAgICBbXCJsYW5nL2pzXCJdLFxuICAgIFtcIm1kL25vZGVqc1wiLCBgJHt2ZXJzaW9ucy5ub2RlfWBdLFxuICBdO1xuXG4gIGNvbnN0IGNydEF2YWlsYWJsZSA9IGlzQ3J0QXZhaWxhYmxlKCk7XG4gIGlmIChjcnRBdmFpbGFibGUpIHtcbiAgICBzZWN0aW9ucy5wdXNoKGNydEF2YWlsYWJsZSk7XG4gIH1cblxuICBpZiAoc2VydmljZUlkKSB7XG4gICAgLy8gYXBpLW1ldGFkYXRhXG4gICAgLy8gc2VydmljZSBJZCBtYXkgbm90IGFwcGVhciBpbiBub24tQVdTIGNsaWVudHNcbiAgICBzZWN0aW9ucy5wdXNoKFtgYXBpLyR7c2VydmljZUlkfWAsIGNsaWVudFZlcnNpb25dKTtcbiAgfVxuXG4gIGlmIChlbnYuQVdTX0VYRUNVVElPTl9FTlYpIHtcbiAgICAvLyBlbnYtbWV0YWRhdGFcbiAgICBzZWN0aW9ucy5wdXNoKFtgZXhlYy1lbnYvJHtlbnYuQVdTX0VYRUNVVElPTl9FTlZ9YF0pO1xuICB9XG5cbiAgY29uc3QgYXBwSWRQcm9taXNlID0gbG9hZENvbmZpZzxzdHJpbmcgfCB1bmRlZmluZWQ+KHtcbiAgICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnYpID0+IGVudltVQV9BUFBfSURfRU5WX05BTUVdLFxuICAgIGNvbmZpZ0ZpbGVTZWxlY3RvcjogKHByb2ZpbGUpID0+IHByb2ZpbGVbVUFfQVBQX0lEX0lOSV9OQU1FXSxcbiAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gIH0pKCk7XG5cbiAgbGV0IHJlc29sdmVkVXNlckFnZW50OiBVc2VyQWdlbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFyZXNvbHZlZFVzZXJBZ2VudCkge1xuICAgICAgY29uc3QgYXBwSWQgPSBhd2FpdCBhcHBJZFByb21pc2U7XG4gICAgICByZXNvbHZlZFVzZXJBZ2VudCA9IGFwcElkID8gWy4uLnNlY3Rpb25zLCBbYGFwcC8ke2FwcElkfWBdXSA6IFsuLi5zZWN0aW9uc107XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlZFVzZXJBZ2VudDtcbiAgfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCrtAvailable = void 0;
|
|
4
|
+
const isCrtAvailable = () => {
|
|
5
|
+
try {
|
|
6
|
+
// Attempt to load ambient package aws-crt to verify if it exists.
|
|
7
|
+
// We cannot use dynamic import(https://github.com/tc39/proposal-dynamic-import) here because bundlers
|
|
8
|
+
// (WebPack, Rollup) will try to bundle this optional dependency and fail to build if not exist.
|
|
9
|
+
// Thus this user agent key will only available in Node.js runtime.
|
|
10
|
+
if (typeof require === "function" && typeof module !== "undefined" && module.require && require("aws-crt")) {
|
|
11
|
+
// Validate `module` to make sure this is not in a `require.js` scope.
|
|
12
|
+
// TODO: load package version.
|
|
13
|
+
return ["md/crt-avail"];
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
// No aws-crt package available in the runtime.
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.isCrtAvailable = isCrtAvailable;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY3J0LWF2YWlsYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pcy1jcnQtYXZhaWxhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sY0FBYyxHQUFHLEdBQXlCLEVBQUU7SUFDdkQsSUFBSTtRQUNGLGtFQUFrRTtRQUNsRSxzR0FBc0c7UUFDdEcsZ0dBQWdHO1FBQ2hHLG1FQUFtRTtRQUNuRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUcsc0VBQXNFO1lBQ3RFLDhCQUE4QjtZQUM5QixPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViwrQ0FBK0M7UUFDL0MsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQWhCVyxRQUFBLGNBQWMsa0JBZ0J6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJBZ2VudFBhaXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGlzQ3J0QXZhaWxhYmxlID0gKCk6IFVzZXJBZ2VudFBhaXIgfCBudWxsID0+IHtcbiAgdHJ5IHtcbiAgICAvLyBBdHRlbXB0IHRvIGxvYWQgYW1iaWVudCBwYWNrYWdlIGF3cy1jcnQgdG8gdmVyaWZ5IGlmIGl0IGV4aXN0cy5cbiAgICAvLyBXZSBjYW5ub3QgdXNlIGR5bmFtaWMgaW1wb3J0KGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWR5bmFtaWMtaW1wb3J0KSBoZXJlIGJlY2F1c2UgYnVuZGxlcnNcbiAgICAvLyAoV2ViUGFjaywgUm9sbHVwKSB3aWxsIHRyeSB0byBidW5kbGUgdGhpcyBvcHRpb25hbCBkZXBlbmRlbmN5IGFuZCBmYWlsIHRvIGJ1aWxkIGlmIG5vdCBleGlzdC5cbiAgICAvLyBUaHVzIHRoaXMgdXNlciBhZ2VudCBrZXkgd2lsbCBvbmx5IGF2YWlsYWJsZSBpbiBOb2RlLmpzIHJ1bnRpbWUuXG4gICAgaWYgKHR5cGVvZiByZXF1aXJlID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIG1vZHVsZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBtb2R1bGUucmVxdWlyZSAmJiByZXF1aXJlKFwiYXdzLWNydFwiKSkge1xuICAgICAgLy8gVmFsaWRhdGUgYG1vZHVsZWAgdG8gbWFrZSBzdXJlIHRoaXMgaXMgbm90IGluIGEgYHJlcXVpcmUuanNgIHNjb3BlLlxuICAgICAgLy8gVE9ETzogbG9hZCBwYWNrYWdlIHZlcnNpb24uXG4gICAgICByZXR1cm4gW1wibWQvY3J0LWF2YWlsXCJdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIE5vIGF3cy1jcnQgcGFja2FnZSBhdmFpbGFibGUgaW4gdGhlIHJ1bnRpbWUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG4iXX0=
|
package/dist/es/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { __awaiter, __generator, __read, __spreadArray } from "tslib";
|
|
|
2
2
|
import { loadConfig } from "@aws-sdk/node-config-provider";
|
|
3
3
|
import { platform, release } from "os";
|
|
4
4
|
import { env, versions } from "process";
|
|
5
|
+
import { isCrtAvailable } from "./is-crt-available";
|
|
5
6
|
export var UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID";
|
|
6
7
|
export var UA_APP_ID_INI_NAME = "sdk-ua-app-id";
|
|
7
8
|
/**
|
|
@@ -19,6 +20,10 @@ export var defaultUserAgent = function (_a) {
|
|
|
19
20
|
["lang/js"],
|
|
20
21
|
["md/nodejs", "" + versions.node],
|
|
21
22
|
];
|
|
23
|
+
var crtAvailable = isCrtAvailable();
|
|
24
|
+
if (crtAvailable) {
|
|
25
|
+
sections.push(crtAvailable);
|
|
26
|
+
}
|
|
22
27
|
if (serviceId) {
|
|
23
28
|
// api-metadata
|
|
24
29
|
// service Id may not appear in non-AWS clients
|
|
@@ -50,4 +55,4 @@ export var defaultUserAgent = function (_a) {
|
|
|
50
55
|
});
|
|
51
56
|
}); };
|
|
52
57
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBT2xEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsVUFBQyxFQUFxRDtRQUFuRCxTQUFTLGVBQUEsRUFBRSxhQUFhLG1CQUFBO0lBQ3pELElBQU0sUUFBUSxHQUFjO1FBQzFCLGVBQWU7UUFDZixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7UUFDN0IsY0FBYztRQUNkLENBQUMsUUFBTSxRQUFRLEVBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMvQixvQkFBb0I7UUFDcEIsaUVBQWlFO1FBQ2pFLENBQUMsU0FBUyxDQUFDO1FBQ1gsQ0FBQyxXQUFXLEVBQUUsS0FBRyxRQUFRLENBQUMsSUFBTSxDQUFDO0tBQ2xDLENBQUM7SUFFRixJQUFNLFlBQVksR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzdCO0lBRUQsSUFBSSxTQUFTLEVBQUU7UUFDYixlQUFlO1FBQ2YsK0NBQStDO1FBQy9DLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFPLFNBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0tBQ3BEO0lBRUQsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsZUFBZTtRQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFZLEdBQUcsQ0FBQyxpQkFBbUIsQ0FBQyxDQUFDLENBQUM7S0FDdEQ7SUFFRCxJQUFNLFlBQVksR0FBRyxVQUFVLENBQXFCO1FBQ2xELDJCQUEyQixFQUFFLFVBQUMsR0FBRyxJQUFLLE9BQUEsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQXZCLENBQXVCO1FBQzdELGtCQUFrQixFQUFFLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQTNCLENBQTJCO1FBQzVELE9BQU8sRUFBRSxTQUFTO0tBQ25CLENBQUMsRUFBRSxDQUFDO0lBRUwsSUFBSSxpQkFBaUIsR0FBMEIsU0FBUyxDQUFDO0lBQ3pELE9BQU87Ozs7O3lCQUNELENBQUMsaUJBQWlCLEVBQWxCLHdCQUFrQjtvQkFDTixxQkFBTSxZQUFZLEVBQUE7O29CQUExQixLQUFLLEdBQUcsU0FBa0I7b0JBQ2hDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxDQUFDLHdDQUFLLFFBQVEsS0FBRSxDQUFDLFNBQU8sS0FBTyxDQUFDLEdBQUUsQ0FBQywwQkFBSyxRQUFRLEVBQUMsQ0FBQzs7d0JBRTlFLHNCQUFPLGlCQUFpQixFQUFDOzs7U0FDMUIsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tIFwiQGF3cy1zZGsvbm9kZS1jb25maWctcHJvdmlkZXJcIjtcbmltcG9ydCB7IFByb3ZpZGVyLCBVc2VyQWdlbnQgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHBsYXRmb3JtLCByZWxlYXNlIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQgeyBlbnYsIHZlcnNpb25zIH0gZnJvbSBcInByb2Nlc3NcIjtcblxuaW1wb3J0IHsgaXNDcnRBdmFpbGFibGUgfSBmcm9tIFwiLi9pcy1jcnQtYXZhaWxhYmxlXCI7XG5cbmV4cG9ydCBjb25zdCBVQV9BUFBfSURfRU5WX05BTUUgPSBcIkFXU19TREtfVUFfQVBQX0lEXCI7XG5leHBvcnQgY29uc3QgVUFfQVBQX0lEX0lOSV9OQU1FID0gXCJzZGstdWEtYXBwLWlkXCI7XG5cbmludGVyZmFjZSBEZWZhdWx0VXNlckFnZW50T3B0aW9ucyB7XG4gIHNlcnZpY2VJZD86IHN0cmluZztcbiAgY2xpZW50VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbGxlY3QgbWV0cmljcyBmcm9tIHJ1bnRpbWUgdG8gcHV0IGludG8gdXNlciBhZ2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRVc2VyQWdlbnQgPSAoeyBzZXJ2aWNlSWQsIGNsaWVudFZlcnNpb24gfTogRGVmYXVsdFVzZXJBZ2VudE9wdGlvbnMpOiBQcm92aWRlcjxVc2VyQWdlbnQ+ID0+IHtcbiAgY29uc3Qgc2VjdGlvbnM6IFVzZXJBZ2VudCA9IFtcbiAgICAvLyBzZGstbWV0YWRhdGFcbiAgICBbXCJhd3Mtc2RrLWpzXCIsIGNsaWVudFZlcnNpb25dLFxuICAgIC8vIG9zLW1ldGFkYXRhXG4gICAgW2Bvcy8ke3BsYXRmb3JtKCl9YCwgcmVsZWFzZSgpXSxcbiAgICAvLyBsYW5ndWFnZS1tZXRhZGF0YVxuICAgIC8vIEVDTUFTY3JpcHQgZWRpdGlvbiBkb2Vzbid0IG1hdHRlciBpbiBKUywgc28gbm8gdmVyc2lvbiBuZWVkZWQuXG4gICAgW1wibGFuZy9qc1wiXSxcbiAgICBbXCJtZC9ub2RlanNcIiwgYCR7dmVyc2lvbnMubm9kZX1gXSxcbiAgXTtcblxuICBjb25zdCBjcnRBdmFpbGFibGUgPSBpc0NydEF2YWlsYWJsZSgpO1xuICBpZiAoY3J0QXZhaWxhYmxlKSB7XG4gICAgc2VjdGlvbnMucHVzaChjcnRBdmFpbGFibGUpO1xuICB9XG5cbiAgaWYgKHNlcnZpY2VJZCkge1xuICAgIC8vIGFwaS1tZXRhZGF0YVxuICAgIC8vIHNlcnZpY2UgSWQgbWF5IG5vdCBhcHBlYXIgaW4gbm9uLUFXUyBjbGllbnRzXG4gICAgc2VjdGlvbnMucHVzaChbYGFwaS8ke3NlcnZpY2VJZH1gLCBjbGllbnRWZXJzaW9uXSk7XG4gIH1cblxuICBpZiAoZW52LkFXU19FWEVDVVRJT05fRU5WKSB7XG4gICAgLy8gZW52LW1ldGFkYXRhXG4gICAgc2VjdGlvbnMucHVzaChbYGV4ZWMtZW52LyR7ZW52LkFXU19FWEVDVVRJT05fRU5WfWBdKTtcbiAgfVxuXG4gIGNvbnN0IGFwcElkUHJvbWlzZSA9IGxvYWRDb25maWc8c3RyaW5nIHwgdW5kZWZpbmVkPih7XG4gICAgZW52aXJvbm1lbnRWYXJpYWJsZVNlbGVjdG9yOiAoZW52KSA9PiBlbnZbVUFfQVBQX0lEX0VOVl9OQU1FXSxcbiAgICBjb25maWdGaWxlU2VsZWN0b3I6IChwcm9maWxlKSA9PiBwcm9maWxlW1VBX0FQUF9JRF9JTklfTkFNRV0sXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9KSgpO1xuXG4gIGxldCByZXNvbHZlZFVzZXJBZ2VudDogVXNlckFnZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghcmVzb2x2ZWRVc2VyQWdlbnQpIHtcbiAgICAgIGNvbnN0IGFwcElkID0gYXdhaXQgYXBwSWRQcm9taXNlO1xuICAgICAgcmVzb2x2ZWRVc2VyQWdlbnQgPSBhcHBJZCA/IFsuLi5zZWN0aW9ucywgW2BhcHAvJHthcHBJZH1gXV0gOiBbLi4uc2VjdGlvbnNdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRVc2VyQWdlbnQ7XG4gIH07XG59O1xuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var isCrtAvailable = function () {
|
|
2
|
+
try {
|
|
3
|
+
// Attempt to load ambient package aws-crt to verify if it exists.
|
|
4
|
+
// We cannot use dynamic import(https://github.com/tc39/proposal-dynamic-import) here because bundlers
|
|
5
|
+
// (WebPack, Rollup) will try to bundle this optional dependency and fail to build if not exist.
|
|
6
|
+
// Thus this user agent key will only available in Node.js runtime.
|
|
7
|
+
if (typeof require === "function" && typeof module !== "undefined" && module.require && require("aws-crt")) {
|
|
8
|
+
// Validate `module` to make sure this is not in a `require.js` scope.
|
|
9
|
+
// TODO: load package version.
|
|
10
|
+
return ["md/crt-avail"];
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
// No aws-crt package available in the runtime.
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY3J0LWF2YWlsYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pcy1jcnQtYXZhaWxhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRztJQUM1QixJQUFJO1FBQ0Ysa0VBQWtFO1FBQ2xFLHNHQUFzRztRQUN0RyxnR0FBZ0c7UUFDaEcsbUVBQW1FO1FBQ25FLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxRyxzRUFBc0U7WUFDdEUsOEJBQThCO1lBQzlCLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLCtDQUErQztRQUMvQyxPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckFnZW50UGFpciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgaXNDcnRBdmFpbGFibGUgPSAoKTogVXNlckFnZW50UGFpciB8IG51bGwgPT4ge1xuICB0cnkge1xuICAgIC8vIEF0dGVtcHQgdG8gbG9hZCBhbWJpZW50IHBhY2thZ2UgYXdzLWNydCB0byB2ZXJpZnkgaWYgaXQgZXhpc3RzLlxuICAgIC8vIFdlIGNhbm5vdCB1c2UgZHluYW1pYyBpbXBvcnQoaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtZHluYW1pYy1pbXBvcnQpIGhlcmUgYmVjYXVzZSBidW5kbGVyc1xuICAgIC8vIChXZWJQYWNrLCBSb2xsdXApIHdpbGwgdHJ5IHRvIGJ1bmRsZSB0aGlzIG9wdGlvbmFsIGRlcGVuZGVuY3kgYW5kIGZhaWwgdG8gYnVpbGQgaWYgbm90IGV4aXN0LlxuICAgIC8vIFRodXMgdGhpcyB1c2VyIGFnZW50IGtleSB3aWxsIG9ubHkgYXZhaWxhYmxlIGluIE5vZGUuanMgcnVudGltZS5cbiAgICBpZiAodHlwZW9mIHJlcXVpcmUgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgbW9kdWxlICE9PSBcInVuZGVmaW5lZFwiICYmIG1vZHVsZS5yZXF1aXJlICYmIHJlcXVpcmUoXCJhd3MtY3J0XCIpKSB7XG4gICAgICAvLyBWYWxpZGF0ZSBgbW9kdWxlYCB0byBtYWtlIHN1cmUgdGhpcyBpcyBub3QgaW4gYSBgcmVxdWlyZS5qc2Agc2NvcGUuXG4gICAgICAvLyBUT0RPOiBsb2FkIHBhY2thZ2UgdmVyc2lvbi5cbiAgICAgIHJldHVybiBbXCJtZC9jcnQtYXZhaWxcIl07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gTm8gYXdzLWNydCBwYWNrYWdlIGF2YWlsYWJsZSBpbiB0aGUgcnVudGltZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcbiJdfQ==
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { Provider, UserAgent } from "@aws-sdk/types";
|
|
|
3
3
|
import { platform, release } from "os";
|
|
4
4
|
import { env, versions } from "process";
|
|
5
5
|
|
|
6
|
+
import { isCrtAvailable } from "./is-crt-available";
|
|
7
|
+
|
|
6
8
|
export const UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID";
|
|
7
9
|
export const UA_APP_ID_INI_NAME = "sdk-ua-app-id";
|
|
8
10
|
|
|
@@ -26,6 +28,11 @@ export const defaultUserAgent = ({ serviceId, clientVersion }: DefaultUserAgentO
|
|
|
26
28
|
["md/nodejs", `${versions.node}`],
|
|
27
29
|
];
|
|
28
30
|
|
|
31
|
+
const crtAvailable = isCrtAvailable();
|
|
32
|
+
if (crtAvailable) {
|
|
33
|
+
sections.push(crtAvailable);
|
|
34
|
+
}
|
|
35
|
+
|
|
29
36
|
if (serviceId) {
|
|
30
37
|
// api-metadata
|
|
31
38
|
// service Id may not appear in non-AWS clients
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UserAgentPair } from "@aws-sdk/types";
|
|
2
|
+
|
|
3
|
+
export const isCrtAvailable = (): UserAgentPair | null => {
|
|
4
|
+
try {
|
|
5
|
+
// Attempt to load ambient package aws-crt to verify if it exists.
|
|
6
|
+
// We cannot use dynamic import(https://github.com/tc39/proposal-dynamic-import) here because bundlers
|
|
7
|
+
// (WebPack, Rollup) will try to bundle this optional dependency and fail to build if not exist.
|
|
8
|
+
// Thus this user agent key will only available in Node.js runtime.
|
|
9
|
+
if (typeof require === "function" && typeof module !== "undefined" && module.require && require("aws-crt")) {
|
|
10
|
+
// Validate `module` to make sure this is not in a `require.js` scope.
|
|
11
|
+
// TODO: load package version.
|
|
12
|
+
return ["md/crt-avail"];
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
} catch (e) {
|
|
16
|
+
// No aws-crt package available in the runtime.
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
};
|