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:

Valid:

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

```js import defaultExport from './foo'; import { bar } from 'bar-lib';

const FOO = 'BAR'; ```

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

const BAZ = 1; ```

Invalid:

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

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

import { bar } from 'bar-lib'; ```

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

With count set to 2 this will be considered valid:

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

With count set to 2 these will be considered invalid:

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

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

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

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

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

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

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

```js import defaultExport from './foo';

const FOO = 'BAR'; ```

With considerComments set to false this will be considered valid:

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

With considerComments set to true this will be considered valid:

```js import defaultExport from './foo'

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

With considerComments set to true this will be considered invalid:

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

Example options usage

json { "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.