@inca/eslint-no-blank-lines-in-blocks
v1.0.4
Published
ESLint plugin rule to disallow blank lines inside code blocks.
Maintainers
Readme
@inca/eslint-no-blank-lines-in-blocks
ESLint plugin rule that disallows blank lines inside code blocks.
Why this rule
Blank lines inside small code blocks are often a signal that logic is doing too much in one place. Among other things, this rule helps coding agents write more focused blocks and add meaningful structure instead of whitespace-based grouping.
Install
npm install --save-dev @inca/eslint-no-blank-lines-in-blocks eslintUsage (Flat Config)
import noBlankLinesInBlocks from '@inca/eslint-no-blank-lines-in-blocks';
export default [
noBlankLinesInBlocks.configs.recommended,
];Or configure manually:
import noBlankLinesInBlocks from '@inca/eslint-no-blank-lines-in-blocks';
export default [
{
plugins: {
'@inca/no-blank-lines-in-blocks': noBlankLinesInBlocks,
},
rules: {
'@inca/no-blank-lines-in-blocks/no-blank-lines-in-blocks': 'error',
},
},
];Optionally allow a single blank line before a comment block:
import noBlankLinesInBlocks from '@inca/eslint-no-blank-lines-in-blocks';
export default [
{
plugins: {
'@inca/no-blank-lines-in-blocks': noBlankLinesInBlocks,
},
rules: {
'@inca/no-blank-lines-in-blocks/no-blank-lines-in-blocks': [
'error',
{ allowSingleBlankLineBeforeComment: true },
],
},
},
];You can also disable autofix while still reporting violations:
import noBlankLinesInBlocks from '@inca/eslint-no-blank-lines-in-blocks';
export default [
{
plugins: {
'@inca/no-blank-lines-in-blocks': noBlankLinesInBlocks,
},
rules: {
'@inca/no-blank-lines-in-blocks/no-blank-lines-in-blocks': [
'error',
{ enableFix: false },
],
},
},
];Examples
Method
Invalid:
class Service {
run(): void {
const value = 1;
console.log(value);
}
}Valid:
class Service {
run(): void {
const value = 1;
console.log(value);
}
}Function
Invalid:
function process(input: string): string {
const normalized = input.trim();
return normalized.toUpperCase();
}Valid:
function process(input: string): string {
const normalized = input.trim();
return normalized.toUpperCase();
}If block
Invalid:
if (isReady) {
initialize();
run();
}Valid:
if (isReady) {
initialize();
run();
}For loop
Invalid:
for (const item of items) {
const normalized = normalize(item);
output.push(normalized);
}Valid:
for (const item of items) {
const normalized = normalize(item);
output.push(normalized);
}