UNPKG

@aws-sdk/karma-credential-loader

Version:

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/karma-credential-loader/latest.svg)](https://www.npmjs.com/package/@aws-sdk/karma-credential-loader) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/karma-credential-loader.svg)](https://www.n

32 lines (31 loc) 1.36 kB
"use strict"; 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], };