{"id":19415,"library":"conventional-changelog-eslint","title":"conventional-changelog-eslint","description":"ESLint preset for conventional-changelog. Generates changelogs from Git commits following the ESLint convention (Fix, Update, New, Breaking, Docs, Build, Upgrade, Chore). Current stable version 6.1.0, released as part of the conventional-changelog monorepo. ESM-only, requires Node >=18. Compared to other presets (e.g., angular, conventionalcommits), this preset enforces ESLint-specific tags and format.","status":"active","version":"6.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/conventional-changelog/conventional-changelog","tags":["javascript","conventional-changelog","eslint","preset"],"install":[{"cmd":"npm install conventional-changelog-eslint","lang":"bash","label":"npm"},{"cmd":"yarn add conventional-changelog-eslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add conventional-changelog-eslint","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only since v6; CommonJS require() will throw ERR_REQUIRE_ESM.","wrong":"const createPreset = require('conventional-changelog-eslint')","symbol":"createPreset","correct":"import { createPreset } from 'conventional-changelog-eslint'"},{"note":"Named export for configuring git raw commits parsing.","wrong":"const { gitRawCommitsOpts } = require('conventional-changelog-eslint')","symbol":"gitRawCommitsOpts","correct":"import { gitRawCommitsOpts } from 'conventional-changelog-eslint'"},{"note":"Function to determine the next semver bump based on commits.","symbol":"whatBump","correct":"import { whatBump } from 'conventional-changelog-eslint'"}],"quickstart":{"code":"import { createPreset } from 'conventional-changelog-eslint';\nimport conventionalChangelog from 'conventional-changelog';\n\nconst preset = await createPreset();\nconst changelogStream = conventionalChangelog({\n  preset,\n  releaseCount: 1,\n});\nchangelogStream.pipe(process.stdout);","lang":"typescript","description":"Generate a changelog using the ESLint preset with conventional-changelog."},"warnings":[{"fix":"Use import syntax and Node >=18. Convert CJS project or use dynamic import().","message":"v6.x dropped CommonJS support, switched to ESM-only.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Upgrade Node.js to >=18.","message":"Node.js <18 no longer supported.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Import and call `createPreset()` to get the preset object.","message":"Direct use of `conventional-changelog-eslint` as a string preset name is deprecated; use `createPreset()` function instead.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Ensure commits use one of: Fix, Update, New, Breaking, Docs, Build, Upgrade, Chore.","message":"Commit messages must follow the exact ESLint tag format (e.g., 'Fix: '). Non-conforming commits may be parsed incorrectly.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import instead: `import { createPreset } from 'conventional-changelog-eslint'`","cause":"Trying to require() an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/conventional-changelog-eslint/index.js from /path/project.js not supported."},{"fix":"Use `const preset = await createPreset();` and pass the returned object.","cause":"Passing the string 'eslint' as preset to conventional-changelog instead of using createPreset().","error":"TypeError: preset is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}