From 7e17d303b577f8bf6541149e84f2eb119795f753 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Mon, 16 Aug 2021 15:51:21 +0800 Subject: [PATCH] Fix crash of lint rule no-document-import-in-page --- .../lib/rules/no-document-import-in-page.js | 4 +++- .../no-document-import-in-page.unit.test.js | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin-next/lib/rules/no-document-import-in-page.js b/packages/eslint-plugin-next/lib/rules/no-document-import-in-page.js index 325974a93c47d04..093a64190aa580b 100644 --- a/packages/eslint-plugin-next/lib/rules/no-document-import-in-page.js +++ b/packages/eslint-plugin-next/lib/rules/no-document-import-in-page.js @@ -16,9 +16,11 @@ module.exports = { } const page = context.getFilename().split('pages')[1] + if (!page) { + return + } const { name, dir } = path.parse(page) if ( - !page || name.startsWith('_document') || (dir === '/_document' && name === 'index') ) { diff --git a/test/eslint-plugin-next/no-document-import-in-page.unit.test.js b/test/eslint-plugin-next/no-document-import-in-page.unit.test.js index dfab540a783ad79..fc8a28ca5c12e85 100644 --- a/test/eslint-plugin-next/no-document-import-in-page.unit.test.js +++ b/test/eslint-plugin-next/no-document-import-in-page.unit.test.js @@ -86,6 +86,13 @@ ruleTester.run('no-document-import-in-page', rule, { `, filename: 'pages/_document/index.tsx', }, + { + code: `import Document from "next/document" + + export const Test = () =>

Test

+ `, + filename: 'components/test.js', + }, ], invalid: [ {