From 4adf48b6ccd8239d31a322db2137054a7436a174 Mon Sep 17 00:00:00 2001 From: Yuji Sugiura Date: Tue, 22 Sep 2020 01:09:14 +0900 Subject: [PATCH] Fix export-cli progress label default value (#17106) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR fixes `info - undefined (N/N)` log for `export` cli. ![image](https://user-images.githubusercontent.com/6259812/93186247-5d801500-f779-11ea-89ec-e20939d7b7c1.png) Default parameter `label` for `createProgress()` was always ignored by `${Log.prefixes.info} undefined` 😅 . --- packages/next/export/index.ts | 4 +-- .../pages/index.js | 1 + .../test/index.test.js | 36 +++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 test/integration/export-progress-status-message/pages/index.js create mode 100644 test/integration/export-progress-status-message/test/index.test.js diff --git a/packages/next/export/index.ts b/packages/next/export/index.ts index 24c69ee284..0ad9823778 100644 --- a/packages/next/export/index.ts +++ b/packages/next/export/index.ts @@ -57,7 +57,7 @@ function divideSegments(number: number, segments: number): number[] { return result } -const createProgress = (total: number, label = 'Exporting') => { +const createProgress = (total: number, label: string) => { const segments = divideSegments(total, 4) let currentSegmentTotal = segments.shift() @@ -381,7 +381,7 @@ export default async function exportApp( !options.silent && createProgress( filteredPaths.length, - `${Log.prefixes.info} ${options.statusMessage}` + `${Log.prefixes.info} ${options.statusMessage || 'Exporting'}` ) const pagesDataDir = options.buildExport ? outDir diff --git a/test/integration/export-progress-status-message/pages/index.js b/test/integration/export-progress-status-message/pages/index.js new file mode 100644 index 0000000000..5c13c39dbd --- /dev/null +++ b/test/integration/export-progress-status-message/pages/index.js @@ -0,0 +1 @@ +export default () =>

I am a home page

diff --git a/test/integration/export-progress-status-message/test/index.test.js b/test/integration/export-progress-status-message/test/index.test.js new file mode 100644 index 0000000000..249eea3034 --- /dev/null +++ b/test/integration/export-progress-status-message/test/index.test.js @@ -0,0 +1,36 @@ +/* eslint-env jest */ + +import { join } from 'path' +import { nextBuild, nextExportDefault } from 'next-test-utils' + +jest.setTimeout(1000 * 60 * 5) +const appDir = join(__dirname, '../') + +describe('Export cli prints progress info', () => { + let buildStdout + let exportStdout + beforeAll(async () => { + const buildResult = await nextBuild(appDir, [], { stdout: true }) + buildStdout = buildResult.stdout + const exportResult = await nextExportDefault(appDir, { stdout: true }) + exportStdout = exportResult.stdout + }) + + it('build: should log with internally passed statusMessage', async () => { + const lines = buildStdout.split('\n') + // Search `info - Generating static pages (n/m)` line + const found = lines.some((line) => + /Generating static pages \(\d+\/\d+\)/.test(line) + ) + + expect(found).toBeTruthy() + }) + + it('export: should log with default label', async () => { + const lines = exportStdout.split('\n') + // Search `info - Exporting (n/m)` line + const found = lines.some((line) => /Exporting \(\d+\/\d+\)/.test(line)) + + expect(found).toBeTruthy() + }) +}) -- GitLab