From 3cff4952176c5a5e833a419d6dccfccd08578a37 Mon Sep 17 00:00:00 2001 From: mrazauskas <72159681+mrazauskas@users.noreply.github.com> Date: Thu, 12 Aug 2021 11:09:55 +0300 Subject: [PATCH 1/2] fix(generator): throw when Builder is missing --- packages/generator/src/generator.js | 6 ++++++ packages/generator/test/generator.init.test.js | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/packages/generator/src/generator.js b/packages/generator/src/generator.js index 7147e7713b21..9d0318789f59 100644 --- a/packages/generator/src/generator.js +++ b/packages/generator/src/generator.js @@ -84,6 +84,12 @@ export default class Generator { await this.nuxt.callHook('export:before', this) if (build) { + if (!this.builder) { + throw new Error( + `Could not generate. Make sure a Builder instance is pass to the constructor of Generator class \ +or disable the build step: \`generate({ build: false })\``) + } + // Add flag to set process.static this.builder.forGenerate() diff --git a/packages/generator/test/generator.init.test.js b/packages/generator/test/generator.init.test.js index e2c977f61612..8768633f6e4c 100644 --- a/packages/generator/test/generator.init.test.js +++ b/packages/generator/test/generator.init.test.js @@ -98,6 +98,13 @@ describe('generator: initialize', () => { expect(generator.initDist).not.toBeCalled() }) + test('should throw error when build is not disabled, but Builder instance is omitted', async () => { + const nuxt = createNuxt() + const generator = new Generator(nuxt) + + await expect(generator.initiate()).rejects.toThrow('Could not generate') + }) + test('should init routes with generate.routes and routes.json', async () => { const nuxt = createNuxt() nuxt.options = { From a9c90e7f30edfe74cb05fb0ab5a27034fee3c5c8 Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Thu, 12 Aug 2021 10:48:55 +0200 Subject: [PATCH 2/2] Update packages/generator/src/generator.js --- packages/generator/src/generator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/generator/src/generator.js b/packages/generator/src/generator.js index 9d0318789f59..caf459f12493 100644 --- a/packages/generator/src/generator.js +++ b/packages/generator/src/generator.js @@ -86,7 +86,7 @@ export default class Generator { if (build) { if (!this.builder) { throw new Error( - `Could not generate. Make sure a Builder instance is pass to the constructor of Generator class \ + `Could not generate. Make sure a Builder instance is passed to the constructor of Generator class or `getGenerator` function \ or disable the build step: \`generate({ build: false })\``) }