Skip to content

Commit

Permalink
Merge ab43b59 into 00e5875
Browse files Browse the repository at this point in the history
  • Loading branch information
horyd committed Oct 30, 2018
2 parents 00e5875 + ab43b59 commit b78ad1c
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions lib/symlinkHook.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,34 @@ function writeTempServerlessConfig(folder, name, service, config) {
if (index >= 0) {
plugins.splice(index, 1);
}
const tmpYamlData = _.merge({
custom: service.custom,
package: service.package,
provider: _.omit(service.provider, 'iamRoleStatements'),
service: service.serviceObject,
resources: service.resources,
const serviceClone = _.cloneDeep(service);

const tmpYamlData = _.merge({
custom: serviceClone.custom,
package: serviceClone.package,
provider: _.omit(serviceClone.provider, 'iamRoleStatements'),
service: serviceClone.serviceObject,
resources: serviceClone.resources,
functions: serviceClone.functions,
plugins,
}, config);
if (tmpYamlData.provider.iamRoleStatements) {
const roles = service.provider.iamRoleStatements;
const roles = serviceClone.provider.iamRoleStatements;
roles.forEach((role) => {
const exists = tmpYamlData.provider.iamRoleStatements.find(existingRole => _.isEqual(existingRole, role));
if (!exists) {
tmpYamlData.provider.iamRoleStatements.push(role);
}
});
} else {
tmpYamlData.provider.iamRoleStatements = service.provider.iamRoleStatements;
tmpYamlData.provider.iamRoleStatements = serviceClone.provider.iamRoleStatements;
}
// for custom domain names plugin
if (tmpYamlData.custom.customDomain && !_.get(config, 'custom.customDomain.basePath')) {
tmpYamlData.custom.customDomain.basePath = _.kebabCase(name);
}
// rename based on directory and base config
const mainServiceName = typeof service.service === 'string' ? service.service : service.service.name;
const mainServiceName = typeof serviceClone.service === 'string' ? serviceClone.service : serviceClone.serviceClone.name;
tmpYamlData.service = `${mainServiceName}-${name}`;
const tempYamlPath = path.join(folder, 'serverless.yaml');
fs.writeFileSync(tempYamlPath, yaml.safeDump(tmpYamlData, { skipInvalid: true }));
Expand Down

0 comments on commit b78ad1c

Please sign in to comment.