Code :arrow_right: `prettier` :arrow_right: `eslint --fix` :arrow_right: Formatted Code :sparkles:
4.1k
Stars
173
Forks
3
Open issues
30
Contributors
AI Analysis
prettier-eslint runs code through Prettier followed by ESLint --fix, combining Prettier's formatting power with ESLint's configuration flexibility. It is purpose-built for JavaScript/TypeScript projects that want both tools' benefits without conflicts. Best suited for teams already using both Prettier and ESLint who need seamless integration; not a general-purpose formatter for other languages or standalone use cases.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Prettier-ESLint: a bridge tool that sequences Prettier then ESLint to reconcile formatter and linter opinions
prettier-eslint applies Prettier's formatting followed by ESLint's autofix to resolve conflicts between the two tools' style rules. Built for teams wanting Prettier's opinionated formatting while retaining ESLint rule customization, it occupies a narrower niche post-2020 as eslint-config-prettier became the recommended integration pattern. The project remains maintained but shows modest adoption signals relative to its 4k+ stars.
Created in January 2017 to solve a real friction point: Prettier's strong opinions often conflicted with existing ESLint configurations. At the time, no standard reconciliation layer existed. The project gained traction as both tools matured, peaking around 2018–2019 before the ecosystem standardized on eslint-config-prettier as the cleaner, more maintainable approach.
Early growth driven by tool adoption friction in 2017–2018. Growth plateaued after eslint-config-prettier (sister project, 5.8k stars) emerged as the recommended pattern—turning off conflicting ESLint rules rather than post-processing. Stars plateaued around 4k by 2020–2021. Recent activity (last push 19 June 2026, 8 days ago) shows ongoing maintenance but no significant growth: 0 stars gained in the last 7 days.
Adoption not verified from README or metadata. 4,104 stars and 173 forks suggest historical interest, but no explicit mention of production users, company adoption, or downstream dependents. Open Collective model shows funding interest but not usage scale. Downloads badge referenced but count not visible in truncated README.
Based on README, the tool exports a `format()` function that sequentially pipes source code through Prettier, then ESLint --fix, with optional rule reversal (eslint first, then prettier via `prettierLast` flag). Accepts config objects for both formatters or derives ESLint config from `filePath`. Appears to handle non-JS files (CSS, JSON, LESS, SCSS) by skipping ESLint. Likely uses programmatic APIs of both tools rather than CLI invocation, though not confirmed in README.
README includes a badge reference [![Code Coverage][coverage-badge]][coverage] but actual coverage percentage not stated in provided text. Build status badge present but specific CI/CD details not documented.
Last push 2026-06-19, 12 days before analysis date (2026-07-01), indicates active, recent maintenance. Metadata shows MIT license, 59 contributors, Open Collective funding model. No deprecation notice or sunset warning in README. TypeScript codebase suggests modern tooling. Regular maintenance pattern evident but growth stalled long ago.
ADOPT IF: your team is already committed to both Prettier and ESLint, wants Prettier's formatting power but needs to override specific rules without maintaining a full eslint-config, and prefers sequential processing over config-based suppression. AVOID IF: you are starting a new project—use eslint-config-prettier (standard, simpler, no double-pass); or if your team uses only Prettier without linting; or if you prefer separate tools for separate concerns (lint for bugs, Prettier for style). MONITOR IF: your codebase has deep prettier-eslint integration and you are evaluating long-term maintenance risk—the tool is maintained but ecosystem preference has shifted away from it.
Independent dimensions
Mainstream potential
3/10
Technical importance
6/10
Adoption evidence
4/10
- Double-pass formatting overhead: running both tools sequentially is slower than a single formatting pass; can be problematic in large codebases or CI pipelines.
- Fragile reconciliation logic: if Prettier and ESLint rules are fundamentally at odds, sequential application may not guarantee stable output; risk of ping-pong formatting.
- Ecosystem drift: ESLint and Prettier evolve independently; new rule additions in either tool may break assumptions baked into prettier-eslint's rule-to-option mapping.
- Reduced adoption signal: most new projects use eslint-config-prettier instead, meaning prettier-eslint expertise and community support may be harder to find.
- Config complexity: managing both eslintConfig and prettierOptions in one tool adds configuration surface; easier to split concerns using standard tooling.
Likely to remain a maintained but slowly-adopted legacy project. No deprecation expected; it solves a real (if now-niche) problem. However, ecosystem will continue to favor eslint-config-prettier for new projects. May see occasional bug fixes and dependency updates but unlikely to drive significant new feature work or resume growth.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- TypeScript
- License
- MIT
- Last updated
- 1w ago
- Created
- 116mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Top contributors
Similar repos
prettier/eslint-plugin-prettier
eslint-plugin-prettier integrates Prettier code formatting into ESLint by...
prettier/prettier-vscode
A Visual Studio Code extension that integrates Prettier, the opinionated code...
prettier/eslint-config-prettier
eslint-config-prettier is a specialized ESLint configuration that disables...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
4.1k | — | TypeScript | 8/10 | 1w ago |
|
|
3.6k | — | JavaScript | 8/10 | 1w ago |
|
|
52.1k | — | JavaScript | 9/10 | 21h ago |
|
|
5.5k | — | TypeScript | 8/10 | 1mo ago |
|
|
5.9k | — | JavaScript | 8/10 | 4mo ago |
|
|
1.9k | — | TypeScript | 8/10 | 1w ago |
Sibling Prettier ecosystem project (5.8k stars). Takes opposite approach: turns off conflicting ESLint rules instead of post-processing. Now the recommended standard integration path. Simpler, avoids double-pass overhead.
The upstream dependency (52k stars). Provides raw formatting; prettier-eslint adds ESLint reconciliation layer on top. Most users now use Prettier alone with eslint-config-prettier rather than this bridge.
ESLint's native autofix. Less sophisticated formatting than Prettier but fully configurable. Some teams never adopted Prettier and remain on ESLint-only workflows, bypassing prettier-eslint entirely.
VSCode extension for Prettier (5.5k stars). Handles formatting at editor level rather than build/CLI level. Different use case but overlaps in developer workflows.