aboutsummaryrefslogtreecommitdiffstats
path: root/servo-tidy.toml
blob: f9df10a16c36afc7398710f8721781f2f1d467db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[configs]
skip-check-length = false
skip-check-licenses = false
check-alphabetical-order = true
check-ordered-json-keys = ["./resources/prefs.json"]

# Packages which we avoid using in Servo.
# For each blocked package, we can list the exceptions,
# which are packages allowed to use the blocked package.
[blocked-packages]
num = []
rand = [
    "ipc-channel",
    "phf_generator",
    "quickcheck", # Only used in tests
    "servo_rand",
    "tungstenite",
    "tracing-perfetto",
]

[ignore]
# Ignored packages with duplicated versions
packages = [
    "bitflags",
    "cfg_aliases",
    "cookie",
    "futures",
    "hermit-abi",
    "libredox",
    "miniz_oxide",
    "redox_syscall",
    "time",
    "wasi",
    "wayland-sys",

    # New versions of these dependencies is pulled in by GStreamer / GLib.
    "itertools",
    "toml",

    # Duplicated by winit.
    "windows-sys",
    "windows-targets",
    "windows_aarch64_gnullvm",
    "windows_aarch64_msvc",
    "windows_i686_gnu",
    "windows_i686_msvc",
    "windows_x86_64_gnu",
    "windows_x86_64_gnullvm",
    "windows_x86_64_msvc",

    # wgpu has the latest and greatest.
    "foreign-types",
    "foreign-types-shared",
    "metal",
    "glow",
    "windows-core",

    # quickcheck (required by layout_2020 for tests) is
    # stuck on 0.8.4 with no new releases.
    "env_logger",

    # Required until a new version of string-cache is released.
    "phf_generator",
    "phf_shared",

    # petgraph uses old version
    "fixedbitset",

    # servo-media-audio uses old version
    "petgraph",

    # icu (from mozjs) uses old version
    # tracing-subscriber (tokio-rs/tracing#3033) uses old version
    # regex -> regex-automata 0.4.7
    # icu_list -> regex-automata 0.2.0
    # tracing-subscriber -> matchers -> regex-automata 0.1.0
    "regex-automata",

    # gilrs is on 0.10.0, but Servo is still on 0.9.4
    "core-foundation",
]
# Files that are ignored for all tidy and lint checks.
files = [
    "./components/net/tests/parsable_mime/text",
    "./resources/hsts_preload.json",
    "./tests/wpt/meta/MANIFEST.json",
    "./tests/wpt/meta-legacy-layout/MANIFEST.json",
    "./tests/wpt/mozilla/meta/MANIFEST.json",
    "./tests/wpt/mozilla/meta-legacy-layout/MANIFEST.json",
    # Long encoded string
    "./tests/wpt/mozilla/tests/mozilla/resources/brotli.py",
    "./tests/wpt/webgl/meta/MANIFEST.json",
    # Upstream code from Khronos/WebGL uses tabs for indentation
    "./tests/wpt/webgl/tests",
    # Vendored from upstream
    "./tests/wpt/webgpu/tests",
    # Our import script is not currently respecting the lint.
    "./tests/wpt/webgl/tools/import-conformance-tests.py",
    # Ignore those files since the issues reported are on purpose
    "./tests/html/bad-line-ends.html",
    "./tests/wpt/mozilla/tests/css/fonts",
    "./tests/wpt/mozilla/tests/css/pre_with_tab.html",
    "./tests/wpt/mozilla/tests/mozilla/textarea_placeholder.html",
    # The tidy tests currently don't pass tidy.
    "./python/tidy/test.py",
]
# Directories that are ignored for the non-WPT tidy check.
directories = [
    # Test have expectations in them, causing tidy to fail.
    "./support/crown/tests",
    # Upstream
    "./support/android/apk",
    "./tests/wpt/harness",
    "./tests/wpt/tests",
    "./tests/wpt/mozilla/tests/mozilla/referrer-policy",
    "./tests/wpt/mozilla/tests/webgl",
    "./python/tidy/tests",
    "./python/_v*",
    "./python/mach",
    # Generated and upstream code combined with our own. Could use cleanup
    "./target",
    "./third_party",
]

# Directories that are checked for correct file extension
[check_ext]
# directory, list of expected file extensions
"./components/script/dom/webidls" = [".webidl", "noidl"]