diff --git a/lib/plugins/package/lib/packageService.js b/lib/plugins/package/lib/packageService.js index f5514c70f094..eadc2c03c01d 100644 --- a/lib/plugins/package/lib/packageService.js +++ b/lib/plugins/package/lib/packageService.js @@ -4,7 +4,7 @@ const BbPromise = require('bluebird'); const path = require('path'); const globby = require('globby'); const _ = require('lodash'); -const nanomatch = require('nanomatch'); +const micromatch = require('micromatch'); const serverlessConfigFileUtils = require('../../../../lib/utils/getServerlessConfigFile'); module.exports = { @@ -247,7 +247,7 @@ module.exports = { // NOTE: please keep this order of concatenating the include params // rather than doing it the other way round! // see https://github.com/serverless/serverless/pull/5825 for more information - return globby(['**/*'].concat(params.include), { + return globby(['**'].concat(params.include), { cwd: path.join(this.serverless.config.servicePath, prefix || ''), dot: true, silent: true, @@ -257,14 +257,14 @@ module.exports = { }).then(allFilePaths => { const filePathStates = allFilePaths.reduce((p, c) => Object.assign(p, { [c]: true }), {}); patterns - // nanomatch only does / style path delimiters, so convert them if on windows + // micromatch only does / style path delimiters, so convert them if on windows .map(p => { return process.platform === 'win32' ? p.replace(/\\/g, '/') : p; }) .forEach(p => { const exclude = p.startsWith('!'); const pattern = exclude ? p.slice(1) : p; - nanomatch(allFilePaths, [pattern], { dot: true }).forEach(key => { + micromatch(allFilePaths, [pattern], { dot: true }).forEach(key => { filePathStates[key] = !exclude; }); }); diff --git a/lib/plugins/package/lib/packageService.test.js b/lib/plugins/package/lib/packageService.test.js index 4eae1a58aa85..ad5991ede0ee 100644 --- a/lib/plugins/package/lib/packageService.test.js +++ b/lib/plugins/package/lib/packageService.test.js @@ -624,7 +624,7 @@ describe('#packageService()', () => { it('should exclude all and include function/handler.js', () => { const params = { - exclude: ['**/*'], + exclude: ['**'], include: [handlerFile], }; serverless.config.servicePath = servicePath; @@ -644,7 +644,7 @@ describe('#packageService()', () => { return expect( packagePlugin.resolveFilePathsFromPatterns(params) ).to.be.fulfilled.then(actual => - expect(actual.sort()).to.deep.equal([dotsFile, handlerFile, utilsFile].sort()) + expect(actual.sort()).to.deep.equal([handlerFile, utilsFile].sort()) ); }); diff --git a/package.json b/package.json index 5597c6c0eb41..5f91e7970429 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "filesize": "^3.6.1", "fs-extra": "^8.1.0", "get-stdin": "^6.0.0", - "globby": "^9.2.0", + "globby": "^11.0.1", "graceful-fs": "^4.2.4", "https-proxy-agent": "^5.0.0", "is-docker": "^1.1.0", @@ -57,8 +57,8 @@ "jwt-decode": "^2.2.0", "lodash": "^4.17.20", "memoizee": "^0.4.14", + "micromatch": "^4.0.2", "mkdirp": "^0.5.4", - "nanomatch": "^1.2.13", "ncjsm": "^4.1.0", "node-fetch": "^2.6.0", "object-hash": "^2.0.3",