0.31.1 • Published 5 months ago

@kazupon/eslint-config v0.31.1

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

@kazupon/eslint-config

npm version CI

ESLint config for @kazupon

🌟 Features

  • Flat configuration via vite flavor defineConfig
  • Support built-in preset configurations
    • javascript
    • stylistic
    • comments
    • typescript
    • imports
    • jsdoc
    • regexp
    • promise
    • unicorn
    • prettier
    • vue
    • react
    • svelte
    • vitest
    • jsonc
    • yml
    • toml
    • markdown
    • css
  • Support primitive eslint flat configuration
  • Support overrides for built-in configurations
    • rules

💿 Installation

npm i -D @kazupon/eslint-config

🚀 Usage

Configurations

Add create eslint.config.mjs in your project root:

// eslint.config.mjs
import { defineConfig, javascript } from '@kazupon/eslint-config'

// You can put flat configurations (`Linter.Config | Linter.Config[]`)
export default defineConfig(
  // built-in configurations
  javascript({
    // override rules
    rules: {
      'no-console': 'error'
    }
  }),
  // You can put primitive flat configuration, and override it!
  {
    ignores: ['**/dist/**' /* something ignores ... */]
  }
)

!IMPORTANT Support flat configuration only, not supported Legacy style (.eslintrc)

Lint with npm scripts package.json

For example:

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}

Lint with VS Code settings.json

You can lint and auto fix.

Install VS Code ESLint extension.

Add the following settings to your .vscode/settings.json:

{
  // Auto fix
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  // Enable eslint for supported languages
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "vue",
    "svelte",
    "json",
    "jsonc",
    "json5",
    "markdown",
    "html",
    "yaml",
    "toml",
    "css",
    "html"
  ]
}

🔨Built-in preset configurations

The following built-in preset configurations are supported:

ConfigurationPowered by eslint plugin or packageNeed to install eslint plugin or package?
javascript@eslint/jsno (built-in)
stylistic@stylistic/eslint-pluginno (built-in)
comments@eslint-community/eslint-plugin-eslint-comments, @kazupon/eslint-plugin(comment config)no (built-in)
typescripttypescript-eslintyes
importseslint-plugin-import, eslint-plugin-unused-imports, eslint-plugin-module-interopyes
jsdoceslint-plugin-jsdocyes
regexpeslint-plugin-regexpyes
promiseeslint-plugin-promiseyes
unicorneslint-plugin-unicornyes
prettiereslint-config-prettieryes
vueeslint-plugin-vue, eslint-plugin-vue-composable, eslint-plugin-vue-scoped-css, eslint-plugin-vuejs-accessibility, @intlify/eslint-plugin-vue-i18nyes
reacteslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-refreshyes
svelteeslint-plugin-svelteyes
vitest@vitest/eslint-pluginyes
jsonceslint-plugin-jsoncyes
ymleslint-plugin-ymlyes
tomleslint-plugin-tomlyes
markdown@eslint/markdownyes
css@eslint/cssyes
html@html-eslint/eslint-pluginyes

You can use import syntax:

import { defineConfig, javascript, typescript } from '@kazupon/eslint-config'

export default defineConfig(
  javascript(/* ... */),
  typescript(/* ... */)
  // ...
)

⚖️ Comparing to @antfu/eslint-config and others

  • Respect the recommended config by the eslint plugin in built-in configurations
  • Customization is overriding it only

💖 Credit

This eslint config is inspired by:

Thank you! ❤️

©️ License

MIT

0.21.0

8 months ago

0.20.0

8 months ago

0.19.0

9 months ago

0.31.1

5 months ago

0.31.0

5 months ago

0.30.0

5 months ago

0.29.0

7 months ago

0.28.0

7 months ago

0.27.0

7 months ago

0.26.1

7 months ago

0.26.0

7 months ago

0.25.0

7 months ago

0.24.0

7 months ago

0.23.0

7 months ago

0.22.0

8 months ago

0.18.0

1 year ago

0.16.0

1 year ago

0.17.0

1 year ago

0.15.0

1 year ago

0.14.1

1 year ago

0.14.0

1 year ago

0.13.3

1 year ago

0.13.2

1 year ago

0.13.1

1 year ago

0.13.0

1 year ago

0.12.0

1 year ago

0.11.0

1 year ago

0.10.1

1 year ago

0.10.0

1 year ago

0.9.1

1 year ago

0.9.0

1 year ago

0.8.0

1 year ago

0.7.0

1 year ago

0.6.0

1 year ago

0.5.0

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago