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

pantsbuild / pants / 19015773527

02 Nov 2025 05:33PM UTC coverage: 17.872% (-62.4%) from 80.3%
19015773527

Pull #22816

github

web-flow
Merge a12d75757 into 6c024e162
Pull Request #22816: Update Pants internal Python to 3.14

4 of 5 new or added lines in 3 files covered. (80.0%)

28452 existing lines in 683 files now uncovered.

9831 of 55007 relevant lines covered (17.87%)

0.18 hits per line

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

0.0
/src/python/pants/backend/jsx/target_types.py
1
# Copyright 2024 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
from pants.backend.javascript.target_types import (
×
7
    JS_FILE_EXTENSIONS,
8
    JSRuntimeDependenciesField,
9
    JSRuntimeSourceField,
10
    JSTestRuntimeSourceField,
11
)
UNCOV
12
from pants.core.goals.test import (
×
13
    TestExtraEnvVarsField,
14
    TestsBatchCompatibilityTagField,
15
    TestTimeoutField,
16
)
UNCOV
17
from pants.engine.target import (
×
18
    COMMON_TARGET_FIELDS,
19
    MultipleSourcesField,
20
    OverridesField,
21
    Target,
22
    TargetFilesGenerator,
23
    generate_file_based_overrides_field_help_message,
24
    generate_multiple_sources_field_help_message,
25
)
UNCOV
26
from pants.util.strutil import help_text
×
27

UNCOV
28
JSX_FILE_EXTENSIONS = tuple(f"{ext}x" for ext in JS_FILE_EXTENSIONS)
×
29

30

UNCOV
31
class JSXDependenciesField(JSRuntimeDependenciesField):
×
UNCOV
32
    pass
×
33

34

UNCOV
35
class JSXSourceField(JSRuntimeSourceField):
×
UNCOV
36
    expected_file_extensions = JSX_FILE_EXTENSIONS
×
37

38

UNCOV
39
class JSXGeneratorSourcesField(MultipleSourcesField):
×
UNCOV
40
    expected_file_extensions = JSX_FILE_EXTENSIONS
×
41

42

UNCOV
43
class JSXSourceTarget(Target):
×
UNCOV
44
    alias = "jsx_source"
×
UNCOV
45
    core_fields = (
×
46
        *COMMON_TARGET_FIELDS,
47
        JSXDependenciesField,
48
        JSXSourceField,
49
    )
UNCOV
50
    help = "A single JSX source file."
×
51

52

UNCOV
53
class JSXSourcesOverridesField(OverridesField):
×
UNCOV
54
    help = generate_file_based_overrides_field_help_message(
×
55
        JSXSourceTarget.alias,
56
        """
57
        overrides={
58
            "foo.jsx": {"skip_prettier": True},
59
            "bar.jsx": {"skip_prettier": True},
60
            ("foo.jsx", "bar.jsx"): {"tags": ["no_lint"]},
61
        }
62
        """,
63
    )
64

65

UNCOV
66
class JSXSourcesGeneratorSourcesField(JSXGeneratorSourcesField):
×
UNCOV
67
    default = tuple(f"*{ext}" for ext in JSX_FILE_EXTENSIONS)
×
UNCOV
68
    help = generate_multiple_sources_field_help_message(
×
69
        "Example: `sources=['utils.jsx', 'subdir/*.jsx', '!ignore_me.jsx']`"
70
    )
71

72

UNCOV
73
class JSXSourcesGeneratorTarget(TargetFilesGenerator):
×
UNCOV
74
    alias = "jsx_sources"
×
UNCOV
75
    core_fields = (
×
76
        *COMMON_TARGET_FIELDS,
77
        JSXSourcesGeneratorSourcesField,
78
        JSXSourcesOverridesField,
79
    )
UNCOV
80
    generated_target_cls = JSXSourceTarget
×
UNCOV
81
    copied_fields = COMMON_TARGET_FIELDS
×
UNCOV
82
    moved_fields = (JSXDependenciesField,)
×
UNCOV
83
    help = "Generate a `jsx_source` target for each file in the `sources` field."
×
84

85

UNCOV
86
class JSXTestDependenciesField(JSXDependenciesField):
×
UNCOV
87
    pass
×
88

89

UNCOV
90
class JSXTestSourceField(JSXSourceField, JSTestRuntimeSourceField):
×
UNCOV
91
    expected_file_extensions = JSX_FILE_EXTENSIONS
×
92

93

UNCOV
94
class JSXTestTimeoutField(TestTimeoutField):
×
UNCOV
95
    pass
×
96

97

UNCOV
98
class JSXTestExtraEnvVarsField(TestExtraEnvVarsField):
×
UNCOV
99
    pass
×
100

101

UNCOV
102
class JSXTestBatchCompatibilityTagField(TestsBatchCompatibilityTagField):
×
UNCOV
103
    help = help_text(TestsBatchCompatibilityTagField.format_help("jsx_test", "nodejs test runner"))
×
104

105

UNCOV
106
class JSXTestTarget(Target):
×
UNCOV
107
    alias = "jsx_test"
×
UNCOV
108
    core_fields = (
×
109
        *COMMON_TARGET_FIELDS,
110
        JSXTestDependenciesField,
111
        JSXTestSourceField,
112
        JSXTestTimeoutField,
113
        JSXTestExtraEnvVarsField,
114
        JSXTestBatchCompatibilityTagField,
115
    )
UNCOV
116
    help = "A single JSX test file."
×
117

118

UNCOV
119
class JSXTestsOverridesField(OverridesField):
×
UNCOV
120
    help = generate_file_based_overrides_field_help_message(
×
121
        JSXTestTarget.alias,
122
        """
123
        overrides={
124
            "foo.test.jsx": {"timeout": 120},
125
            "bar.test.jsx": {"timeout": 200},
126
            ("foo.test.jsx", "bar.test.jsx"): {"tags": ["slow_tests"]},
127
        }
128
        """,
129
    )
130

131

UNCOV
132
class JSXTestsGeneratorSourcesField(JSXGeneratorSourcesField):
×
UNCOV
133
    default = tuple(f"*.test{ext}" for ext in JSX_FILE_EXTENSIONS)
×
UNCOV
134
    help = generate_multiple_sources_field_help_message(
×
135
        "Example: `sources=['utils.test.jsx', 'subdir/*.test.jsx', '!ignore_me.test.jsx']`"
136
    )
137

138

UNCOV
139
class JSXTestsGeneratorTarget(TargetFilesGenerator):
×
UNCOV
140
    alias = "jsx_tests"
×
UNCOV
141
    core_fields = (
×
142
        *COMMON_TARGET_FIELDS,
143
        JSXTestsGeneratorSourcesField,
144
        JSXTestsOverridesField,
145
    )
UNCOV
146
    generated_target_cls = JSXTestTarget
×
UNCOV
147
    copied_fields = COMMON_TARGET_FIELDS
×
UNCOV
148
    moved_fields = (
×
149
        JSXTestDependenciesField,
150
        JSXTestTimeoutField,
151
        JSXTestExtraEnvVarsField,
152
        JSXTestBatchCompatibilityTagField,
153
    )
UNCOV
154
    help = "Generate a `jsx_test` target for each file in the `sources` field."
×
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