eslint-config

ESLint config for @sardor01

MIT License

Downloads
936
Stars
1
Committers
3

@sarast/eslint-config npm

A opinionated ESLint config preset for JavaScript, TypeScript, Vue 2 or Vue 3, and Prettier.

Features

  • Format with Prettier.
  • Designed to work with TypeScript, Vue 2 and 3 out-of-box.
  • Support JSON(5), YAML, Markdown...
  • Sort imports, package.json, tsconfig.json...
  • ESLint Flat config, compose easily!
  • Ignores common files like dist, node_modules, coverage, and files in .gitignore.
  • Reasonable defaults, best practices, only one-line of config
  • Reasonable strict, but with better code quality.

Install

npm i -D @sarast/eslint-config

Require Node.js >= 18.18, and ESLint >= 9.5.0.

Usage

import { sarast } from '@sarast/eslint-config';
export default sarast(
  [
    /* your custom config */
  ],
  // Features: it'll detect installed dependency and enable necessary features automatically
  {
    prettier: true,
    markdown: true,
    vue: true, // auto detection
    unocss: false, // auto detection
  },
);

Presets

// eslint.config.js
import {
  presetJavaScript, // Ignore common files and include javascript support
  presetJsonc, // Includes basic json(c) file support and sorting json keys
  presetLangsExtensions, // Includes markdown, yaml + `presetJsonc` support
  presetBasic, // Includes `presetJavaScript` and typescript support

  // Includes
  // - `presetBasic` (JS+TS) support
  // - `presetLangsExtensions` (markdown, yaml, jsonc) support
  // - Vue support
  // - Prettier support
  // - UnoCSS support (`uno.config.ts` is required)
  presetAll,
} from '@sarast/eslint-config';

export default presetAll;

See preset.ts for more details.

Comparing to @antfu/eslint-config

Most of the rules are the same, but there are some differences:

Credit

This eslint config is inspired by:

License

MIT License © 2024-PRESENT Sardor Astanov