{"id":25203,"library":"elint","title":"elint","description":"elint is a unified linting orchestrator that wraps ESLint, Stylelint, and Commitlint, providing a single command (elint) to run all three tools with minimal configuration. Version 2.0.1 (latest) supports Node >=10.12.0 and is maintained by x-orpheus. It differentiates by offering a zero-config setup for static analysis of JavaScript/TypeScript, CSS, and commit messages, while also allowing custom presets via .elintrc. Compared to alternatives like standard or Husky, elint bundles multiple linters into one dependency, simplifying CI and pre-commit hooks integration. It supports .eslintignore, .stylelintignore, and caching for performance. However, note that version 2.x introduces breaking changes in configuration structure versus 1.x.","status":"active","version":"2.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/x-orpheus/elint","tags":["javascript","eslint","eslintplugin","eslintconfig","stylelint","commitlint","standard","jshint","lint"],"install":[{"cmd":"npm install elint","lang":"bash","label":"npm"},{"cmd":"yarn add elint","lang":"bash","label":"yarn"},{"cmd":"pnpm add elint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for JavaScript/TypeScript linting","package":"eslint","optional":false},{"reason":"Peer dependency for CSS/SCSS linting","package":"stylelint","optional":true},{"reason":"Peer dependency for commit message linting","package":"@commitlint/cli","optional":true}],"imports":[{"note":"ESM-only since v2; CJS require is not supported.","wrong":"const elint = require('elint')","symbol":"default (elint function)","correct":"import elint from 'elint'"},{"note":"Named export for programmatic use, available since v2.","symbol":"runLint","correct":"import { runLint } from 'elint'"},{"note":"TypeScript users should import type for config interface.","symbol":"Config type","correct":"import type { ElintConfig } from 'elint'"},{"note":"createConfig is a named export, not default.","wrong":"import createConfig from 'elint'","symbol":"createConfig","correct":"import { createConfig } from 'elint'"}],"quickstart":{"code":"// Install elint and peer dependencies\n// npm install --save-dev elint eslint stylelint @commitlint/cli\n\n// .elintrc (optional override)\n{\n  \"eslint\": {\n    \"config\": {\n      \"extends\": [\"eslint:recommended\"]\n    }\n  },\n  \"stylelint\": {\n    \"config\": {\n      \"extends\": [\"stylelint-config-standard\"]\n    }\n  },\n  \"commitlint\": {\n    \"config\": {\n      \"extends\": [\"@commitlint/config-conventional\"]\n    }\n  }\n}\n\n// Run all linters\n// npx elint --fix\n\n// Programmatic usage\nimport elint from 'elint';\nconst result = elint.lint(['src/**/*.{js,css}'], { fix: true });\nconsole.log(result.results);","lang":"typescript","description":"Shows zero-config setup with optional .elintrc override, CLI command, and programmatic linting."},"warnings":[{"fix":"Update .elintrc to use nested keys per linter (eslint, stylelint, commitlint) instead of flat options.","message":"v2.0.0 changed configuration structure; .elintrc format is different from v1.x","severity":"breaking","affected_versions":">=2.0.0 <2.0.1"},{"fix":"Use import statements or dynamic import() in CommonJS contexts.","message":"v2 switches to ESM-only exports; CJS require() throws error","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Replace elint.lintFiles(args) with elint.lint(args).","message":"elint.lintFiles() is deprecated in v2.0.1; use elint.lint() instead","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Install peer dependencies explicitly: npm install --save-dev eslint stylelint @commitlint/cli","message":"elint does not install peer dependencies automatically; missing eslint, stylelint, or commitlint causes silent failures","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Either remove .elintrc or include all rules within it; see docs for resolution strategy.","message":"elint ignores .eslintrc if .elintrc is present with eslint config; merging is not automatic","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'npm install --save-dev eslint' in your project directory.","cause":"ESLint peer dependency not installed","error":"Error: Cannot find module 'eslint'"},{"fix":"Replace elint.lintFiles() with elint.lint().","cause":"Using deprecated API from v2","error":"TypeError: elint.lintFiles is not a function"},{"fix":"Use import syntax or set \"type\": \"module\" in package.json, or use dynamic import().","cause":"CJS require() used with ESM-only package","error":"SyntaxError: Unexpected token 'export'"},{"fix":"Run 'npx elint install-peers' or manually npm install the missing package.","cause":"One or more peer dependencies not installed","error":"ERR_PEER_DEPENDENCY_MISSING"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}