hatch-surf/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md
Riley Zhang df378d33ef
Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Merge GitHub main into Gitea repo (allow unrelated histories)
Resolved conflicts by taking GitHub versions for:
- .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml

Kept deploy.sh updated to:
- Pull from GitHub (primary source)
- Push to Gitea (push-mirror)
- Build from site/ directory (GitHub structure)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-25 05:20:46 +02:00

2.8 KiB

import/newline-after-import

🔧 This rule is automatically fixable by the --fix CLI option.

Enforces having one or more empty lines after the last top-level import statement or require call.

Rule Details

This rule supports the following options:

  • count which sets the number of newlines that are enforced after the last top-level import statement or require call. This option defaults to 1.

  • exactCount which enforce the exact numbers of newlines that is mentioned in count. This option defaults to false.

  • considerComments which enforces the rule on comments after the last import-statement as well when set to true. This option defaults to false.

Valid:

import defaultExport from './foo';

const FOO = 'BAR';
import defaultExport from './foo';
import { bar }  from 'bar-lib';

const FOO = 'BAR';
const FOO = require('./foo');
const BAR = require('./bar');

const BAZ = 1;

Invalid:

import * as foo from 'foo'
const FOO = 'BAR';
import * as foo from 'foo';
const FOO = 'BAR';

import { bar }  from 'bar-lib';
const FOO = require('./foo');
const BAZ = 1;
const BAR = require('./bar');

With count set to 2 this will be considered valid:

import defaultExport from './foo';


const FOO = 'BAR';
import defaultExport from './foo';



const FOO = 'BAR';

With count set to 2 these will be considered invalid:

import defaultExport from './foo';
const FOO = 'BAR';
import defaultExport from './foo';

const FOO = 'BAR';

With count set to 2 and exactCount set to true this will be considered valid:

import defaultExport from './foo';


const FOO = 'BAR';

With count set to 2 and exactCount set to true these will be considered invalid:

import defaultExport from './foo';
const FOO = 'BAR';
import defaultExport from './foo';

const FOO = 'BAR';
import defaultExport from './foo';



const FOO = 'BAR';
import defaultExport from './foo';




const FOO = 'BAR';

With considerComments set to false this will be considered valid:

import defaultExport from './foo'
// some comment here.
const FOO = 'BAR'

With considerComments set to true this will be considered valid:

import defaultExport from './foo'

// some comment here.
const FOO = 'BAR'

With considerComments set to true this will be considered invalid:

import defaultExport from './foo'
// some comment here.
const FOO = 'BAR'

Example options usage

{
  "rules": {
    "import/newline-after-import": ["error", { "count": 2 }]
  }
}

When Not To Use It

If you like to visually group module imports with its usage, you don't want to use this rule.