UNPKG

1.36 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_sts_1 = require("@aws-sdk/client-sts");
4const credential_provider_node_1 = require("@aws-sdk/credential-provider-node");
5function createCredentialPreprocessor() {
6 return async function (content, file, done) {
7 const fileName = file.originalPath;
8 const region = process.env.AWS_SMOKE_TEST_REGION || "";
9 const credentials = await credential_provider_node_1.defaultProvider({
10 roleAssumer: client_sts_1.getDefaultRoleAssumer(),
11 roleAssumerWithWebIdentity: client_sts_1.getDefaultRoleAssumerWithWebIdentity(),
12 })();
13 const regionCode = `var defaultRegion = '${region}';`;
14 const credentialsCode = `var credentials = ${JSON.stringify(credentials)};`;
15 const isBrowser = `var isBrowser = true;`;
16 const contents = content.split("\n");
17 let idx = -1;
18 for (let i = 0; i < contents.length; i++) {
19 const line = contents[i];
20 if (line.indexOf(fileName) !== -1) {
21 idx = i;
22 break;
23 }
24 }
25 contents.splice(idx + 1, 0, regionCode, credentialsCode, isBrowser);
26 done(contents.join("\n"));
27 };
28}
29module.exports = {
30 "preprocessor:credentials": ["factory", createCredentialPreprocessor],
31};