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

42 lines (41 loc) 2.05 kB
import { __awaiter, __generator } from "tslib"; import { getDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity } from "@aws-sdk/client-sts"; import { defaultProvider as credentialProvider } from "@aws-sdk/credential-provider-node"; function createCredentialPreprocessor() { return function (content, file, done) { return __awaiter(this, void 0, void 0, function () { var fileName, region, credentials, regionCode, credentialsCode, isBrowser, contents, idx, i, line; return __generator(this, function (_a) { switch (_a.label) { case 0: fileName = file.originalPath; region = process.env.AWS_SMOKE_TEST_REGION || ""; return [4, credentialProvider({ roleAssumer: getDefaultRoleAssumer(), roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(), })()]; case 1: credentials = _a.sent(); regionCode = "var defaultRegion = '" + region + "';"; credentialsCode = "var credentials = " + JSON.stringify(credentials) + ";"; isBrowser = "var isBrowser = true;"; contents = content.split("\n"); idx = -1; for (i = 0; i < contents.length; i++) { line = contents[i]; if (line.indexOf(fileName) !== -1) { idx = i; break; } } contents.splice(idx + 1, 0, regionCode, credentialsCode, isBrowser); done(contents.join("\n")); return [2]; } }); }); }; } module.exports = { "preprocessor:credentials": ["factory", createCredentialPreprocessor], };