🔧 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.
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'
{
"rules": {
"import/newline-after-import": ["error", { "count": 2 }]
}
}
If you like to visually group module imports with its usage, you don't want to use this rule.