@aws-sdk/karma-credential-loader
Version:
[](https://www.npmjs.com/package/@aws-sdk/karma-credential-loader) [](https://www.n
32 lines (31 loc) • 1.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const client_sts_1 = require("@aws-sdk/client-sts");
const credential_provider_node_1 = require("@aws-sdk/credential-provider-node");
function createCredentialPreprocessor() {
return async function (content, file, done) {
const fileName = file.originalPath;
const region = process.env.AWS_SMOKE_TEST_REGION || "";
const credentials = await credential_provider_node_1.defaultProvider({
roleAssumer: client_sts_1.getDefaultRoleAssumer(),
roleAssumerWithWebIdentity: client_sts_1.getDefaultRoleAssumerWithWebIdentity(),
})();
const regionCode = `var defaultRegion = '${region}';`;
const credentialsCode = `var credentials = ${JSON.stringify(credentials)};`;
const isBrowser = `var isBrowser = true;`;
const contents = content.split("\n");
let idx = -1;
for (let i = 0; i < contents.length; i++) {
const line = contents[i];
if (line.indexOf(fileName) !== -1) {
idx = i;
break;
}
}
contents.splice(idx + 1, 0, regionCode, credentialsCode, isBrowser);
done(contents.join("\n"));
};
}
module.exports = {
"preprocessor:credentials": ["factory", createCredentialPreprocessor],
};
;