• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 21803785359

08 Feb 2026 07:13PM UTC coverage: 43.3% (-37.0%) from 80.277%
21803785359

Pull #23085

github

web-flow
Merge 7c1cd926d into 40389cc58
Pull Request #23085: A helper method for indexing paths by source root

2 of 6 new or added lines in 1 file covered. (33.33%)

17114 existing lines in 539 files now uncovered.

26075 of 60219 relevant lines covered (43.3%)

0.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/python/pants/backend/javascript/lint/prettier/subsystem.py
1
# Copyright 2022 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

UNCOV
4
from __future__ import annotations
×
5

UNCOV
6
import os
×
UNCOV
7
from collections.abc import Iterable
×
8

UNCOV
9
from pants.backend.javascript.subsystems.nodejs_tool import NodeJSToolBase
×
UNCOV
10
from pants.core.util_rules.config_files import ConfigFilesRequest
×
UNCOV
11
from pants.option.option_types import ArgsListOption, SkipOption
×
UNCOV
12
from pants.util.strutil import help_text
×
13

14

UNCOV
15
class Prettier(NodeJSToolBase):
×
UNCOV
16
    options_scope = "prettier"
×
UNCOV
17
    name = "Prettier"
×
UNCOV
18
    help = help_text(
×
19
        """
20
        The Prettier utility for formatting JS/TS (and others) code
21
        (https://prettier.io/).
22
        """
23
    )
24

UNCOV
25
    default_version = "prettier@3.6.2"
×
26

UNCOV
27
    skip = SkipOption("fmt", "lint")
×
UNCOV
28
    args = ArgsListOption(example="--version")
×
29

UNCOV
30
    def config_request(self, dirs: Iterable[str]) -> ConfigFilesRequest:
×
31
        """Prettier will use the closest configuration file to the file currently being formatted,
32
        so add all of them In the event of multiple configuration files, Prettier has an order of
33
        precedence specified here: https://prettier.io/docs/en/configuration.html."""
34

35
        config_files = (
×
36
            *[f"prettier.config{ext}" for ext in [".js", ".cjs"]],
37
            *[
38
                f".prettierrc{ext}"
39
                for ext in [
40
                    "",
41
                    ".json",
42
                    ".yml",
43
                    ".yaml",
44
                    ".json5",
45
                    ".js",
46
                    ".cjs",
47
                    ".toml",
48
                ]
49
            ],
50
        )
51
        check_existence = [os.path.join(d, file) for file in config_files for d in ("", *dirs)]
×
52
        return ConfigFilesRequest(
×
53
            discovery=True,
54
            check_existence=check_existence,
55
        )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc