1.0.2 • Published 5 months ago

@zaptun/eslint-config v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

Introduce

@zaptun/eslint-config sets eslint and prettier configurations, referencing a package does not require each project to write a separate file configuration.

Installation

pnpm add -D @zaptun/eslint-config

Usage

Create eslint.config.js in your project root:

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
import prettier from 'eslint-plugin-prettier';
import eslintConfigPrettier from 'eslint-config-prettier';
import zaptunEslint from '@zaptun/eslint-config';

export default [
  {
    ignores: [
      '**/dist/**',
      '**/node_modules/**',
      '**/*.min.js',
      'build/**',
    ],
  },
  {
    files: ['**/*.{js,mjs,cjs,ts,vue}'],
    languageOptions: {
      globals: globals.browser,
    },
  },
  pluginJs.configs.recommended,
  ...tseslint.configs.recommended,
  ...pluginVue.configs['flat/recommended'],
  eslintConfigPrettier,
  {
    plugins: {
      prettier: prettier,
    },
    rules: {
      'prettier/prettier': [
        'error',
        {
          ...zaptunEslint.prettier.config,
        },
      ],
    },
    ignores: [...zaptunEslint.prettier.ignores],
  },
  ...zaptunEslint.eslint.config,
];

Version 2.0.0 (Current)

Support for ESLint 9.x with flat config system.

Version 1.x.x (Legacy)

For ESLint 8.x and below.

Installation

pnpm add -D @zaptun/eslint-config@1.x.x

Usage

Add to your package.json:

{
    "eslintConfig": { 
        "extends": "@zaptun/eslint-config",
        "ignorePatterns": [
            "**/*.md",
            "dist/",
            "node_modules/",
            "build/",
            "pnpm-lock.yaml",
            "*.md/"
        ],
        "overrides": [
            {
                "files": [
                    "*.json"
                ],
                "rules": {
                    "semi": "off",
                    "no-unused-expressions": "off"
                }
            }
        ]
    },
    "prettier": "@zaptun/eslint-config/dist/prettier.js",
    "prettierIgnore": [
        ".DS_Store",
        ".idea",
        ".editorconfig",
        "pnpm-lock.yaml",
        ".npmrc",
        "*.log",
        "*.md",
        "*.svg",
        "*.png",
        "*.ico",
        "*ignore",
        ".husky",
        ".cache",
        "dist"
    ]
}

Supported Languages

  • JavaScript (ES6+)
  • TypeScript
  • Vue
  • JSON

License

MIT