@goldstack/utils-aws-lambda
Version:
Utilities for deploying AWS Lambda functions
34 lines • 1.82 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.deployFunctions = void 0;
const infra_aws_1 = require("@goldstack/infra-aws");
const deployFunction_1 = require("./deployFunction");
const generateFunctionName_1 = require("./generate/generateFunctionName");
const utils_sh_1 = require("@goldstack/utils-sh");
const buildFunctions_1 = require("./buildFunctions");
const utils_log_1 = require("@goldstack/utils-log");
const path_1 = __importDefault(require("path"));
const deployFunctions = async (params) => {
const lambdaConfig = params.config; //readLambdaConfig(params.routesPath);
const operations = lambdaConfig.map(async (config) => {
const functionName = (0, generateFunctionName_1.generateFunctionName)(params.configuration.lambdaNamePrefix, config);
(0, utils_log_1.info)(`[${functionName}]: Starting deployment`);
const functionDir = (0, buildFunctions_1.getOutDirForLambda)(params.packageRootFolder, config);
(0, utils_sh_1.mkdir)('-p', functionDir);
const targetArchive = path_1.default.join(params.packageRootFolder, `distLambda/zips/${functionName}.zip`);
await (0, deployFunction_1.deployFunction)({
targetArchiveName: targetArchive,
lambdaPackageDir: functionDir,
awsCredentials: await (0, infra_aws_1.getAWSUser)(params.deployment.awsUser),
region: params.deployment.awsRegion,
functionName,
});
(0, utils_log_1.info)(`[${functionName}]: Deployment completed`);
});
await Promise.all(operations);
};
exports.deployFunctions = deployFunctions;
//# sourceMappingURL=deployFunctions.js.map