diff --git a/packages/eslint-plugin-next/lib/rules/no-server-import-in-page.js b/packages/eslint-plugin-next/lib/rules/no-server-import-in-page.js index da3f59eeec134..4bc873952246e 100644 --- a/packages/eslint-plugin-next/lib/rules/no-server-import-in-page.js +++ b/packages/eslint-plugin-next/lib/rules/no-server-import-in-page.js @@ -21,8 +21,8 @@ module.exports = { if ( !page || - page.startsWith(`${path.sep}_middleware`) || - page.startsWith(`${path.posix.sep}_middleware`) + page.includes(`${path.sep}_middleware`) || + page.includes(`${path.posix.sep}_middleware`) ) { return } diff --git a/test/unit/eslint-plugin-next/no-server-import-in-page.test.ts b/test/unit/eslint-plugin-next/no-server-import-in-page.test.ts index 0945da3850848..156aabd09fbe4 100644 --- a/test/unit/eslint-plugin-next/no-server-import-in-page.test.ts +++ b/test/unit/eslint-plugin-next/no-server-import-in-page.test.ts @@ -78,6 +78,15 @@ ruleTester.run('no-server-import-in-page', rule, { `, filename: 'pagesapp/src/pages/_middleware.js', }, + { + code: `import { NextFetchEvent, NextRequest } from "next/server" + + export function middleware(req, ev) { + return new Response('Hello, world!') + } + `, + filename: 'src/pages/subFolder/_middleware.js', + }, ], invalid: [ {