{"id":19529,"library":"eslint-config-hyoban","title":"Hyoban's ESLint Config","description":"A personal ESLint configuration preset based on @antfu/eslint-config, extended with import-sort for import ordering, extra Markdown linting rules via eslint-plugin-markdown and markdown-preferences, optional Tailwind CSS support, and over 30 integrated plugins for JavaScript, TypeScript, React, JSON, YAML, and more. Currently at v7.0.3, it requires ESLint v9+ and flat config. It ships TypeScript types and provides a single `defineConfig` export. Breaking changes include removal of the `hyoban` option in v7.0.0 and migration to the antfu-based config in v6.0.0.","status":"active","version":"7.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/hyoban/eslint-config-hyoban","tags":["javascript","eslint-config","typescript"],"install":[{"cmd":"npm install eslint-config-hyoban","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-hyoban","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-hyoban","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - ESLint config is intended for use with ESLint v9+","package":"eslint","optional":false},{"reason":"base config that all rules are built upon","package":"@antfu/eslint-config","optional":false},{"reason":"extra markdown linting rules","package":"eslint-plugin-markdown-preferences","optional":true}],"imports":[{"note":"Main entry point. ESM-only. For CommonJS use dynamic import or set type: module.","wrong":"import { defineConfig } from 'eslint-config-hyoban/defineConfig'","symbol":"defineConfig","correct":"import { defineConfig } from 'eslint-config-hyoban'"},{"note":"Default export is not available; use named export `defineConfig`.","wrong":"const hyobanConfig = require('eslint-config-hyoban')","symbol":"default","correct":"import hyobanConfig from 'eslint-config-hyoban'"},{"note":"Type exports are separated. `ConfigItem` is only available as a type import (TS 5+).","wrong":"import { ConfigItem } from 'eslint-config-hyoban'","symbol":"defineConfig types","correct":"import type { ConfigItem } from 'eslint-config-hyoban'"}],"quickstart":{"code":"// eslint.config.mjs\nimport { defineConfig } from 'eslint-config-hyoban'\nimport { process } from 'node:process'\n\nexport default defineConfig({\n  tailwindcss: {\n    settings: {\n      tailwindConfig: process.env.TAILWIND_CONFIG ?? './tailwind.config.ts',\n    },\n  },\n  react: true,\n  jsdoc: {\n    override: {\n      'jsdoc/require-description': 'warn',\n    },\n  },\n})","lang":"typescript","description":"Shows basic usage of defineConfig with optional Tailwind CSS and React support. The config file is ESM and uses named export."},"warnings":[{"fix":"Remove any references to the hyoban option from your config. Use antfu-based options or override rules directly.","message":"Removal of hyoban option in v7.0.0: The 'hyoban' config option has been removed. Users must rely solely on antfu-based options.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Migrate your config to the flat config format and use 'defineConfig' from eslint-config-hyoban as shown in the docs.","message":"Migration to antfu-based config in v6.0.0: The entire config structure changed. Previous v5 configs are not compatible.","severity":"breaking","affected_versions":">=6.0.0 <6.0.0"},{"fix":"Enable perfectionist manually if needed: defineConfig({ perfectionist: true }).","message":"The 'perfectionist' sorting plugin is replaced by 'import-sort' as the default sorting plugin.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Use dynamic import: const { defineConfig } = await import('eslint-config-hyoban'); or set 'type': 'module' in package.json.","message":"ESM-only package: This package exports only ES modules. CommonJS require() will fail.","severity":"gotcha","affected_versions":">=6.0.0"},{"fix":"Use eslint.config.mjs or eslint.config.js with 'type': 'module'.","message":"Flat config only: ESLint v9 flat config (.mjs or .js with type: module) is required. Legacy .eslintrc is not supported.","severity":"gotcha","affected_versions":">=6.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install eslint-config-hyoban --save-dev' (or 'yarn add -D eslint-config-hyoban' / 'pnpm add -D eslint-config-hyoban').","cause":"Package has not been installed or is installed globally instead of locally.","error":"Error: Cannot find module 'eslint-config-hyoban'"},{"fix":"Change your config file to .mjs or set type: module in package.json and use import { defineConfig } from 'eslint-config-hyoban'.","cause":"CommonJS require() used on an ESM-only package.","error":"TypeError: defineConfig is not a function"},{"fix":"Add 'tailwindcss: { settings: { tailwindConfig: './tailwind.config.ts' } }' to defineConfig options.","cause":"Tailwind CSS preset requires explicit enablement via 'tailwindcss: true' or settings object.","error":"Could not find 'tailwindcss' settings in defineConfig"},{"fix":"Ensure the package is installed as a dev dependency and that you are using eslint.config.mjs with proper resolution.","cause":"The package is not installed or ESLint cannot resolve it due to flat config migration issues.","error":"ESLint couldn't find the config 'eslint-config-hyoban'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}