diff --git a/lib/plugins/plugin/install/install.test.js b/lib/plugins/plugin/install/install.test.js index 8c96653e0..5ca812555 100644 --- a/lib/plugins/plugin/install/install.test.js +++ b/lib/plugins/plugin/install/install.test.js @@ -49,6 +49,7 @@ describe('PluginInstall', () => { beforeEach(() => { serverless = new Serverless(); serverless.cli = new CLI(serverless); + serverless.processedInput = serverless.cli.processInput(); const options = {}; pluginInstall = new PluginInstall(serverless, options); consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns(); diff --git a/lib/plugins/plugin/lib/utils.js b/lib/plugins/plugin/lib/utils.js index 4558925c1..b9daa2d4c 100644 --- a/lib/plugins/plugin/lib/utils.js +++ b/lib/plugins/plugin/lib/utils.js @@ -4,10 +4,9 @@ const fetch = require('node-fetch'); const BbPromise = require('bluebird'); const HttpsProxyAgent = require('https-proxy-agent'); const url = require('url'); -const path = require('path'); const chalk = require('chalk'); const _ = require('lodash'); -const fileExists = require('../../../utils/fs/fileExists'); +const { getServerlessConfigFilePath } = require('../../../utils/getServerlessConfigFile'); module.exports = { validate() { @@ -21,29 +20,10 @@ module.exports = { }, getServerlessFilePath() { - const servicePath = this.serverless.config.servicePath; - const ymlFilePath = path.join(servicePath, 'serverless.yml'); - const yamlFilePath = path.join(servicePath, 'serverless.yaml'); - const jsonFilePath = path.join(servicePath, 'serverless.json'); - const jsFilePath = path.join(servicePath, 'serverless.js'); - - return BbPromise.props({ - json: fileExists(jsonFilePath), - yml: fileExists(ymlFilePath), - yaml: fileExists(yamlFilePath), - js: fileExists(jsFilePath), - }).then(exists => { - if (exists.yml) { - return ymlFilePath; - } else if (exists.yaml) { - return yamlFilePath; - } else if (exists.json) { - return jsonFilePath; - } else if (exists.js) { - return jsFilePath; - } - return BbPromise.reject( - new this.serverless.classes.Error('Could not find any serverless service definition file.') + return getServerlessConfigFilePath(this.serverless).then(filePath => { + if (filePath) return filePath; + throw new this.serverless.classes.Error( + 'Could not find any serverless service definition file.' ); }); }, diff --git a/lib/plugins/plugin/lib/utils.test.js b/lib/plugins/plugin/lib/utils.test.js index 055ef876b..dd3415b81 100644 --- a/lib/plugins/plugin/lib/utils.test.js +++ b/lib/plugins/plugin/lib/utils.test.js @@ -40,6 +40,7 @@ describe('PluginUtils', () => { beforeEach(() => { serverless = new Serverless(); serverless.cli = new CLI(serverless); + serverless.processedInput = serverless.cli.processInput(); const options = {}; pluginUtils = new PluginInstall(serverless, options); consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns(); diff --git a/lib/plugins/plugin/uninstall/uninstall.test.js b/lib/plugins/plugin/uninstall/uninstall.test.js index a88cb9c87..f3299addf 100644 --- a/lib/plugins/plugin/uninstall/uninstall.test.js +++ b/lib/plugins/plugin/uninstall/uninstall.test.js @@ -43,6 +43,7 @@ describe('PluginUninstall', () => { beforeEach(() => { serverless = new Serverless(); serverless.cli = new CLI(serverless); + serverless.processedInput = serverless.cli.processInput(); const options = {}; pluginUninstall = new PluginUninstall(serverless, options); consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns();