serverless-leo
Advanced tools
Comparing version 1.1.3 to 1.1.4
@@ -5,2 +5,3 @@ 'use strict' | ||
const ignore = require('ignore') | ||
const merge = require('lodash/merge') | ||
@@ -24,3 +25,3 @@ function getContentFactory (serverless) { | ||
const findResourceInDirectoryInfosFactory = (matchPatterns, ignorePatterns, getContent) => { | ||
const findResourceInDirectoryInfosFactory = (matchPatterns, ignorePatterns, getContent, serverless) => { | ||
const ig = ignore().add(ignorePatterns) | ||
@@ -34,3 +35,3 @@ const ig2 = ignore().add(matchPatterns) | ||
const subDirResources = findResourceInDirectoryInfos(subDirInfos) | ||
Object.assign(resources, subDirResources) | ||
merge(resources, subDirResources) | ||
} else if (dirInfo.isFile && !ig.ignores(dirInfo.path) && ig2.ignores(dirInfo.path)) { | ||
@@ -43,9 +44,8 @@ var absolutePath = path.resolve(dirInfo.path) | ||
const existingResourceDefinition = contentKeys.some(k => resources.hasOwnProperty(k)) | ||
if (!existingResourceDefinition) { | ||
console.log(`Including resource definition: ${dirInfo.path}`) | ||
Object.assign(resources, resourceContent) | ||
} else { | ||
if (existingResourceDefinition) { | ||
const duplicateResourceDefinition = contentKeys.find(k => resources.hasOwnProperty(k)) | ||
console.log(`WARNING: Resource ${duplicateResourceDefinition} already defined!!! (Have you defined ${duplicateResourceDefinition} multiple times?)`) | ||
serverless.cli.log(`WARNING: Resource ${duplicateResourceDefinition} has multiple definitions. They will be merged.)`) | ||
} | ||
serverless.cli.log(`Including resource definition: ${dirInfo.path}`) | ||
merge(resources, resourceContent) | ||
} | ||
@@ -64,3 +64,3 @@ } | ||
// TODO: check for duplicate keys and WARN | ||
return Object.assign(resource, folderResource) | ||
return merge(resource, folderResource) | ||
} | ||
@@ -67,0 +67,0 @@ } |
@@ -16,4 +16,4 @@ 'use strict' | ||
const getContent = getContentFactory(serverless) | ||
const findResourcesInDirInfos = findResourceInDirectoryInfosFactory(matchFunctionPatterns, ignoreResourcePatterns, getContent) | ||
const findResourcesInDirInfos = findResourceInDirectoryInfosFactory(matchFunctionPatterns, ignoreResourcePatterns, getContent, serverless) | ||
return functionFolders.reduce(folderResourceReducer(findResourcesInDirInfos), {}) | ||
} |
@@ -16,4 +16,4 @@ 'use strict' | ||
const getContent = getContentFactory(serverless) | ||
const findResourcesInDirInfos = findResourceInDirectoryInfosFactory(matchResourcePatterns, ignoreResourcePatterns, getContent) | ||
const findResourcesInDirInfos = findResourceInDirectoryInfosFactory(matchResourcePatterns, ignoreResourcePatterns, getContent, serverless) | ||
return resourceFolders.reduce(folderResourceReducer(findResourcesInDirInfos), {}) | ||
} |
'use strict' | ||
const { cloneDeep, times } = require('lodash') | ||
const cloneDeep = require('lodash/cloneDeep') | ||
const times = require('lodash/times') | ||
const BbPromise = require('bluebird') | ||
@@ -5,0 +6,0 @@ |
'use strict' | ||
const { forEach } = require('lodash') | ||
const forEach = require('lodash/forEach') | ||
@@ -5,0 +5,0 @@ module.exports = { |
{ | ||
"name": "serverless-leo", | ||
"version": "1.1.3", | ||
"version": "1.1.4", | ||
"description": "Serverless plugin for leo microservices", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
'use strict' | ||
const expect = require('chai').expect | ||
const { cloneDeep } = require('lodash') | ||
const cloneDeep = require('lodash/cloneDeep') | ||
const testServerless = require('./testServerless') | ||
@@ -6,0 +6,0 @@ |
'use strict' | ||
const { cloneDeep } = require('lodash') | ||
const cloneDeep = require('lodash/cloneDeep') | ||
const naming = require('../../node_modules/serverless/lib/plugins/aws/lib/naming') | ||
@@ -5,0 +5,0 @@ const srcLeo = require('../../lib/leo') |
36078
786