# prettier/prettier

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/prettier-prettier).**

52,088 stars · 4,748 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/prettier/prettier
- Homepage: https://prettier.io
- awesome-repositories: https://awesome-repositories.com/repository/prettier-prettier.md

## Topics

`angular` `ast` `css` `flow` `formatter` `graphql` `html` `javascript` `json` `jsx` `less` `markdown` `prettier` `printer` `scss` `typescript` `vue` `yaml`

## Description

Prettier is an opinionated code formatter that parses source code and reprints it from scratch to enforce a consistent, project-wide visual style. By transforming code into an abstract syntax tree and applying a recursive document printing process, it eliminates manual style debates and ensures that all source files adhere to a unified appearance.

The project is distinguished by its extensible, plugin-based architecture, which decouples language-specific parsing logic from the core engine. This modular design allows for uniform style enforcement across diverse programming languages and complex, mixed-content files where code is embedded within other languages. It also provides robust support for configuration-driven workflows, allowing teams to resolve hierarchical settings across directory trees and share standardized rule sets through reusable configuration packages.

Beyond its core formatting engine, the tool integrates into the entire development lifecycle. It offers programmatic APIs and command-line utilities for file discovery, change detection, and verification, alongside native support for editor-based formatting on save. The system also facilitates integration with linting workflows and continuous integration pipelines, enabling automated style enforcement through pre-commit hooks and status checks that ensure only properly formatted code enters version control.

## Tags

### Development Tools & Productivity

- [Extensible Parsers](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-tools/extensible-parsers.md) — Supports modular parsing logic, enabling the addition of new languages through pluggable architecture.
- [Parser Engines](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-tools/parser-engines.md) — Transforms source code into abstract syntax trees to facilitate uniform visual reprinting.
- [In-Place Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/in-place-formatters.md) — Overwrites source files directly to apply consistent visual styling across an entire codebase. ([source](https://prettier.io/docs/cli))
- [Pretty Printing Algorithms](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/pretty-printing-algorithms.md) — Calculates optimal line breaks and indentation by traversing syntax trees against a defined print width.
- [Multi-Language Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/multi-language-formatters.md) — Maintains a uniform appearance across diverse programming languages and embedded content within a single project.
- [Code Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-formatters.md) — Parses source code and reprints it from scratch to ensure a consistent, project-wide visual style.
- [Editor Integrations](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations.md) — Connects directly into editor workflows to perform automatic style fixes on save or via command shortcuts.
- [Editor Formatting Integrations](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/editor-formatting-integrations.md) — Integrates into development environments to trigger automatic formatting according to project rules during the daily workflow. ([source](https://prettier.io/docs/editors))
- [Formatting Automations](https://awesome-repositories.com/f/development-tools-productivity/development-workflow/automation-and-workflow-hooks/formatting-automations.md) — Automates code styling during editing, commits, or CI processes to eliminate manual formatting debates.
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/vim-plugins.md) — Enables manual formatting commands and automatic file-save triggers directly within the editor interface. ([source](https://prettier.io/docs/vim))
- [Embedded Code Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/embedded-code-formatters.md) — Handles code snippets embedded within other languages by loading specialized parser plugins for mixed content. ([source](https://prettier.io/docs/browser))
- [Cursor Position Mapping](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-experience/cursor-position-mapping.md) — Translates cursor positions from unformatted input to the corresponding location in the formatted output to preserve editing context. ([source](https://prettier.io/docs/api))
- [Incremental Build Caches](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-performance-optimization/build-optimizations/incremental-build-caches.md) — Caches formatting results based on file metadata to skip redundant processing of unchanged files during build cycles. ([source](https://prettier.io/docs/cli))
- [Formatting Rules](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/code-formatting-utilities/formatting-rules.md) — Configures trailing comma behavior in multi-line structures to enhance diff readability and simplify long-term code maintenance. ([source](https://prettier.io/docs/options))
- [Browser Formatting](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/browser-formatting.md) — Executes code formatting logic within browser environments by loading standalone libraries and language plugins. ([source](https://prettier.io/docs/browser))
- [Formatting Constraints](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/formatting-constraints.md) — Sets maximum line length constraints to balance code readability with the display limits of modern development environments. ([source](https://prettier.io/docs/options))
- [Indentation Settings](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/indentation-settings.md) — Defines specific indentation widths to maintain a uniform visual structure across all project files. ([source](https://prettier.io/docs/options))
- [Quote Style Configurations](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/quote-style-configurations.md) — Standardizes string literal quotes by automatically adjusting them to preferred styles for cleaner, more readable code. ([source](https://prettier.io/docs/options))
- [Semicolon Configuration Rules](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/semicolon-configuration-rules.md) — Regulates the inclusion of semicolons at the end of statements to ensure consistent syntax across the entire codebase. ([source](https://prettier.io/docs/options))
- [Pre-commit Hooks](https://awesome-repositories.com/f/development-tools-productivity/pre-commit-hooks.md) — Triggers automatic formatting on staged files during the commit process to ensure only clean code enters version control. ([source](https://prettier.io/docs/precommit))
- [File Pattern Resolvers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/data-io-transformation/file-pattern-resolvers.md) — Expands glob patterns and directory paths while automatically respecting exclusion rules to identify target files. ([source](https://prettier.io/docs/cli))
- [Conflict Resolution Strategies](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/system-integration-interfaces/workflow-integrations/conflict-resolution-strategies.md) — Disables conflicting linting rules to prevent overlapping behavior between formatting and static analysis tools. ([source](https://prettier.io/docs/related-projects))

### DevOps & Infrastructure

- [Formatting Rule Definitions](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/formatting-rule-definitions.md) — Enforces project-wide visual consistency by applying declarative rules to source code. ([source](https://prettier.io/docs/configuration))
- [Configuration Resolution](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-resolution.md) — Resolves project-specific formatting settings by traversing directory trees to locate configuration files. ([source](https://prettier.io/docs/api))
- [CI Formatting Checks](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/cicd-pipeline-management/ci-cd-workflows/ci-formatting-checks.md) — Automates style verification within continuous integration pipelines to detect and fix formatting violations. ([source](https://prettier.io/docs/ci))
- [Configuration Cascade Resolutions](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-cascade-resolutions.md) — Determines final formatting rules by cascading settings from multiple hierarchical sources and command-line overrides.
- [Hierarchical Configuration Resolvers](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/configuration-policy-enforcement/configuration-engines/hierarchical-configuration-resolvers.md) — Merges hierarchical settings to apply standardized formatting while respecting project-specific overrides and local adjustments.
- [Configuration Distribution Packages](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-distribution-and-sharing/configuration-distribution-packages.md) — Bundles shared formatting configurations for distribution via registries to simplify setup across multiple environments. ([source](https://prettier.io/docs/sharing-configurations))
- [Shareable Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-distribution-and-sharing/shareable-configurations.md) — Facilitates the adoption of standardized formatting rules through shareable configuration packages that allow for local project adjustments. ([source](https://prettier.io/docs/sharing-configurations))
- [Configuration Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-overrides.md) — Applies custom formatting options to specific file subsets or directories to accommodate unique requirements within larger project structures. ([source](https://prettier.io/docs/configuration))

### Software Engineering & Architecture

- [Abstract Syntax Tree Parsers](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsers.md) — Analyzes code structure via abstract syntax trees to perform automated, consistent reformatting.
- [Developer Authoring Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces.md) — Exposes a plugin interface for developers to register custom parsers and extend support for specialized file types.
- [Language Support Definitions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/domain-specific/language-support-definitions.md) — Registers new languages by mapping specific identifiers to the parsers required for correct syntax interpretation. ([source](https://prettier.io/docs/plugins))
- [Team Configuration Standards](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-governance/standards-rule-enforcement/team-configuration-standards.md) — Standardizes formatting rules across multiple independent projects to ensure consistent development patterns throughout an entire organization.

### Part of an Awesome List

- [Build Tools and Tooling](https://awesome-repositories.com/f/awesome-lists/devtools/build-tools-and-tooling.md) — Opinionated code formatter for consistent style.
- [Code Quality Tools](https://awesome-repositories.com/f/awesome-lists/devtools/code-quality-tools.md) — Opinionated multi-language code formatter.
- [Quality Assurance](https://awesome-repositories.com/f/awesome-lists/devtools/quality-assurance.md) — Prettier is an opinionated code formatter.
- [Testing and Quality Assurance](https://awesome-repositories.com/f/awesome-lists/devtools/testing-and-quality-assurance.md) — Opinionated code formatter for consistent style.

### Web Development

- [Incremental Processing Caches](https://awesome-repositories.com/f/web-development/performance-optimizations/incremental-processing-caches.md) — Improves performance by caching file hashes and configuration states to skip redundant processing.

### Operating Systems & Systems Programming

- [File Metadata Inspection](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-utilities/file-metadata-inspection.md) — Identifies appropriate parsers based on file paths and determines ignore status through metadata inspection. ([source](https://prettier.io/docs/api))

### Testing & Quality Assurance

- [Continuous Integration Quality Controls](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/continuous-integration-quality-controls.md) — Validates code style compliance within automated pipelines to prevent unformatted code from entering the version control history.
- [Formatting and Linting Pipelines](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines.md) — Chains formatting and linting operations into unified workflows to ensure both style and syntax are corrected in a single pass. ([source](https://prettier.io/docs/related-projects))
- [Formatting Checkers](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-checkers.md) — Checks source code against defined rules to programmatically report whether files require formatting without modifying them. ([source](https://prettier.io/docs/api))
