diff --git a/scripts/serverless.js b/scripts/serverless.js index 68445387974..f9e2a2c6984 100755 --- a/scripts/serverless.js +++ b/scripts/serverless.js @@ -503,6 +503,8 @@ const processSpanPromise = (async () => { // Validate result command and options require('../lib/cli/ensure-supported-command')(); } + } else { + require('../lib/cli/ensure-supported-command')(); } const configurationFilename = configuration && configurationPath.slice(serviceDir.length + 1); @@ -510,9 +512,8 @@ const processSpanPromise = (async () => { const isStandaloneCommand = standaloneCommands.has(command); if (isInteractiveSetup || isStandaloneCommand) { + if (configuration) require('../lib/cli/ensure-supported-command')(configuration); if (isInteractiveSetup) { - require('../lib/cli/ensure-supported-command')(configuration); - if (!process.stdin.isTTY && !process.env.SLS_INTERACTIVE_SETUP_ENABLE) { throw new ServerlessError( 'Attempted to run an interactive setup in non TTY environment.\n' + @@ -531,7 +532,6 @@ const processSpanPromise = (async () => { configuration = result.configuration; } } else { - require('../lib/cli/ensure-supported-command')(configuration); await require(`../commands/${commands.join('-')}`)({ configuration, serviceDir, diff --git a/test/unit/scripts/serverless.test.js b/test/unit/scripts/serverless.test.js index f4011d7e2d6..89e711a0b73 100644 --- a/test/unit/scripts/serverless.test.js +++ b/test/unit/scripts/serverless.test.js @@ -258,7 +258,7 @@ describe('test/unit/scripts/serverless.test.js', () => { throw new Error('Unexpected'); } catch (error) { expect(error.code).to.equal(1); - expect(String(error.stdoutBuffer)).to.include('command requires the'); + expect(String(error.stdoutBuffer)).to.include('command "config credentials" requires'); } }); });