{"id":19780,"library":"eslint-plugin-hyoban","title":"eslint-plugin-hyoban","description":"Hyoban extended ESLint rules is an ESLint plugin offering custom rules for enforcing formatting and code style conventions, currently at v0.14.1. It includes rules such as `md-one-sentence-per-line` to enforce one sentence per line in markdown paragraphs, as well as other rules for code quality. The plugin is distributed as an npm package, actively maintained with frequent releases, and it ships TypeScript type definitions. It differentiates itself by providing targeted rules for markdown layout and extending ESLint's capabilities beyond standard rule sets.","status":"active","version":"0.14.1","language":"javascript","source_language":"en","source_url":"https://github.com/hyoban/eslint-plugin-hyoban","tags":["javascript","typescript"],"install":[{"cmd":"npm install eslint-plugin-hyoban","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-hyoban","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-hyoban","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required to use the plugin","package":"eslint","optional":false}],"imports":[{"note":"Plugins are loaded by name in ESLint, not imported as default.","wrong":"import hyoban from 'eslint-plugin-hyoban'","symbol":"eslint-plugin-hyoban","correct":"module.exports.plugins = ['hyoban']"},{"note":"To programmatically access rule definitions, import the module and access its .rules property.","wrong":"","symbol":"rules","correct":"import plugin from 'eslint-plugin-hyoban' // then access plugin.rules"},{"note":"The package is ESM-ready; simply import default export.","wrong":"const plugin = require('eslint-plugin-hyoban').default","symbol":"plugin","correct":"import plugin from 'eslint-plugin-hyoban'"}],"quickstart":{"code":"// .eslintrc.cjs\nmodule.exports = {\n  plugins: ['hyoban'],\n  rules: {\n    'hyoban/md-one-sentence-per-line': 'error',\n    'hyoban/other-rule': 'warn'\n  }\n};\n\n// Or flat config (eslint.config.js)\nimport hyoban from 'eslint-plugin-hyoban';\nexport default [\n  {\n    plugins: { hyoban },\n    rules: {\n      'hyoban/md-one-sentence-per-line': 'error',\n    }\n  }\n];","lang":"javascript","description":"Configures ESLint to use the hyoban plugin and enables the md-one-sentence-per-line rule."},"warnings":[{"fix":"Use the `ignorePatterns` option added in v0.14.1 to exclude specific paragraphs or elements.","message":"The `md-one-sentence-per-line` rule applies to all paragraphs in Markdown files, not just root-level ones (since v0.14.0). This may cause unintended formatting changes.","severity":"gotcha","affected_versions":">=0.14.0"},{"fix":"Always reference the latest documentation for rule names and options.","message":"Plugin does not explicitly deprecate rules but users should check for version updates as some rule names may change.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Use `import hyoban from 'eslint-plugin-hyoban';` then `plugins: { hyoban }` in flat config.","message":"To use with flat config (ESLint >=9.0.0), you must import the plugin as a default export and then destructure the plugins key.","severity":"gotcha","affected_versions":">=0.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-plugin-hyoban --save-dev`","cause":"Plugin not installed or not declared in package.json.","error":"ESLint couldn't find the plugin \"eslint-plugin-hyoban\"."},{"fix":"Upgrade to >=0.14.1: `npm install eslint-plugin-hyoban@latest --save-dev`","cause":"Using `ignorePatterns` option with plugin version <0.14.1.","error":"Configuration for rule \"hyoban/md-one-sentence-per-line\" is invalid: Unsupported option ignorePatterns."},{"fix":"Use `import hyoban from 'eslint-plugin-hyoban';`","cause":"Incorrect import syntax for flat config.","error":"Cannot find module 'eslint-plugin-hyoban' when using flat config."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}