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: [ {