UNPKG

@alexlit/lint-kit

Version:

Preset of configuration files and dependencies for linting web applications (designed for Vue.js with TypeScript)

96 lines (93 loc) 4.25 kB
import plugin from '@stylistic/eslint-plugin'; import { FILES } from '../presets/base.js'; /** @see [@stylistic/eslint-plugin](https://eslint.style/) */ export const stylistic = [ { files: FILES, plugins: { '@stylistic': plugin }, rules: { '@stylistic/lines-around-comment': [ 'warn', { afterBlockComment: false, afterHashbangComment: true, afterLineComment: false, allowArrayEnd: true, allowArrayStart: true, allowBlockEnd: true, allowBlockStart: true, allowClassEnd: true, allowClassStart: true, allowEnumEnd: true, allowEnumStart: true, allowInterfaceEnd: true, allowInterfaceStart: true, allowModuleEnd: true, allowModuleStart: true, allowObjectEnd: true, allowObjectStart: true, allowTypeEnd: true, allowTypeStart: true, applyDefaultIgnorePatterns: true, beforeBlockComment: false, beforeLineComment: false, }, ], '@stylistic/padding-line-between-statements': [ 'warn', // always { blankLine: 'always', next: '*', prev: 'block-like' }, { blankLine: 'always', next: '*', prev: 'case' }, { blankLine: 'always', next: '*', prev: 'cjs-export' }, { blankLine: 'always', next: '*', prev: 'cjs-import' }, { blankLine: 'always', next: '*', prev: 'class' }, { blankLine: 'always', next: '*', prev: 'default' }, { blankLine: 'always', next: '*', prev: 'directive' }, { blankLine: 'always', next: '*', prev: 'expression' }, { blankLine: 'always', next: '*', prev: 'iife' }, { blankLine: 'always', next: '*', prev: 'multiline-block-like' }, { blankLine: 'always', next: '*', prev: 'multiline-const' }, { blankLine: 'always', next: '*', prev: 'multiline-expression' }, { blankLine: 'always', next: '*', prev: 'multiline-let' }, { blankLine: 'always', next: '*', prev: 'multiline-var' }, { blankLine: 'always', next: '*', prev: 'singleline-const' }, { blankLine: 'always', next: '*', prev: 'singleline-let' }, { blankLine: 'always', next: '*', prev: 'singleline-var' }, { blankLine: 'always', next: 'block-like', prev: '*' }, { blankLine: 'always', next: 'cjs-export', prev: '*' }, { blankLine: 'always', next: 'cjs-import', prev: '*' }, { blankLine: 'always', next: 'class', prev: '*' }, { blankLine: 'always', next: 'enum', prev: '*' }, { blankLine: 'always', next: 'expression', prev: '*' }, { blankLine: 'always', next: 'function', prev: '*' }, { blankLine: 'always', next: 'iife', prev: '*' }, { blankLine: 'always', next: 'interface', prev: '*' }, { blankLine: 'always', next: 'multiline-block-like', prev: '*' }, { blankLine: 'always', next: 'multiline-const', prev: '*' }, { blankLine: 'always', next: 'multiline-expression', prev: '*' }, { blankLine: 'always', next: 'multiline-let', prev: '*' }, { blankLine: 'always', next: 'multiline-var', prev: '*' }, { blankLine: 'always', next: 'return', prev: '*' }, { blankLine: 'always', next: 'switch', prev: '*' }, { blankLine: 'always', next: 'type', prev: '*' }, { blankLine: 'always', next: '*', prev: 'enum' }, { blankLine: 'always', next: '*', prev: 'interface' }, { blankLine: 'always', next: '*', prev: 'type' }, // any { blankLine: 'any', next: 'expression', prev: 'expression' }, { blankLine: 'any', next: 'singleline-const', prev: 'singleline-const', }, { blankLine: 'any', next: 'singleline-let', prev: 'singleline-let' }, { blankLine: 'any', next: 'singleline-var', prev: 'singleline-var' }, // never { blankLine: 'never', next: 'cjs-export', prev: 'cjs-export' }, { blankLine: 'never', next: 'cjs-import', prev: 'cjs-import' }, { blankLine: 'never', next: 'directive', prev: 'directive' }, { blankLine: 'never', next: 'function', prev: 'function-overload' }, ], }, }, ];