mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
const _ = require('lodash');
|
|
|
|
function getLocalEmulatorFunctionConfig(functionConfig, providerConfig, servicePath) {
|
|
const provider = functionConfig.provider || providerConfig.name;
|
|
const envVars = _.merge(providerConfig.environment, functionConfig.environment);
|
|
|
|
const localEmulatorFunctionConfig = {
|
|
provider,
|
|
handler: functionConfig.handler,
|
|
servicePath,
|
|
runtime: functionConfig.runtime || providerConfig.runtime,
|
|
};
|
|
|
|
if (provider === 'aws') {
|
|
localEmulatorFunctionConfig.lambdaName = functionConfig.name;
|
|
localEmulatorFunctionConfig.memorySize = Number(functionConfig.memorySize)
|
|
|| Number(providerConfig.memorySize)
|
|
|| 1024;
|
|
localEmulatorFunctionConfig.region = providerConfig.region;
|
|
localEmulatorFunctionConfig.envVars = envVars;
|
|
} else if (provider === 'google') {
|
|
const memorySize = Number(functionConfig.memorySize)
|
|
|| Number(providerConfig.memorySize)
|
|
|| 1024;
|
|
localEmulatorFunctionConfig.functionName = functionConfig.name;
|
|
// TODO localEmulatorFunctionConfig.eventType = ?
|
|
localEmulatorFunctionConfig.project = providerConfig.project;
|
|
localEmulatorFunctionConfig.memorySize = memorySize;
|
|
localEmulatorFunctionConfig.env = {
|
|
REGION: providerConfig.region,
|
|
FUNCTION_NAME: functionConfig.name,
|
|
MEMORY_SIZE: memorySize,
|
|
};
|
|
|
|
localEmulatorFunctionConfig.env = _.merge(localEmulatorFunctionConfig.env,
|
|
providerConfig.environment, functionConfig.environment);
|
|
}
|
|
|
|
return localEmulatorFunctionConfig;
|
|
}
|
|
|
|
module.exports = getLocalEmulatorFunctionConfig;
|