Skip to content

nextjs/no-document-import-in-page Correctness

This rule is turned on by default.

What it does

Prevent importing next/document outside of pages/_document.js.

Why is this bad?

Importing next/document outside of pages/_document.js can cause unexpected issues in your Next.js application.

Examples

Examples of incorrect code for this rule:

jsx
// `components/MyDocument.jsx`
import Document from "next/document";

class MyDocument extends Document {
  // ...
}

export default MyDocument;

Examples of correct code for this rule:

jsx
// `pages/_document.jsx`
import Document from "next/document";

class MyDocument extends Document {
  // ...
}

export default MyDocument;

How to use

To enable this rule in the CLI or using the config file, you can use:

bash
oxlint --deny nextjs/no-document-import-in-page --nextjs-plugin
json
{
  "plugins": ["nextjs"],
  "rules": {
    "nextjs/no-document-import-in-page": "error"
  }
}

References

Released under the MIT License.