diff --git a/packages/cli/src/commands/build.js b/packages/cli/src/commands/build.js index 085309ea7b..d199e2f4d1 100644 --- a/packages/cli/src/commands/build.js +++ b/packages/cli/src/commands/build.js @@ -56,9 +56,6 @@ export default { await cmd.getNuxtConfig(argv, { dev: false }) ) - // Setup hooks - nuxt.hook('error', err => consola.fatal(err)) - let builderOrGenerator if (nuxt.options.mode !== 'spa' || argv.generate === false) { // Build only diff --git a/packages/cli/src/commands/start.js b/packages/cli/src/commands/start.js index 2423bf5bb1..44fec39bf7 100644 --- a/packages/cli/src/commands/start.js +++ b/packages/cli/src/commands/start.js @@ -30,9 +30,6 @@ export default { await cmd.getNuxtConfig(argv, { dev: false }) ) - // Setup hooks - nuxt.hook('error', err => consola.fatal(err)) - // Check if project is built for production const distDir = path.resolve( nuxt.options.rootDir, diff --git a/packages/common/src/hookable.js b/packages/common/src/hookable.js index 658f25791b..a29f33b65d 100644 --- a/packages/common/src/hookable.js +++ b/packages/common/src/hookable.js @@ -34,8 +34,8 @@ export default class Hookable { try { await sequence(this._hooks[name], fn => fn(...args)) } catch (err) { - consola.error(err) - this.callHook('error', err) + name !== 'error' && this.callHook('error', err) + consola.fatal(err) } } diff --git a/test/unit/error.test.js b/test/unit/error.test.js index 474687d689..c019a5199b 100644 --- a/test/unit/error.test.js +++ b/test/unit/error.test.js @@ -39,7 +39,7 @@ describe('error', () => { }) test('Error: callHook()', async () => { - consola.error.mockClear() + consola.fatal.mockClear() const errorHook = jest.fn() const error = new Error('test hook error') @@ -50,8 +50,8 @@ describe('error', () => { expect(errorHook).toHaveBeenCalledTimes(1) expect(errorHook).toHaveBeenCalledWith(error) - expect(consola.error).toHaveBeenCalledTimes(1) - expect(consola.error).toHaveBeenCalledWith(error) + expect(consola.fatal).toHaveBeenCalledTimes(1) + expect(consola.fatal).toHaveBeenCalledWith(error) }) // Close server and ask nuxt to stop listening to file changes