mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-05 03:21:16 +08:00
This also adds CC-BY-4.0 to the list of accepted licenses. DISABLE_THIRD_PARTY_CHECK=update dependencies Bug: chromium:1083142 Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097 Reviewed-by: Paul Lewis <aerotwist@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org>
2.6 KiB
2.6 KiB
Writing formatters
A formatter is a function with the following signature:
function formatter(results, returnValue) {
return "a string of formatted results";
}
Where the first argument (results) is an array of stylelint result objects in the form:
// A stylelint result object
{
"source": "path/to/file.css", // The filepath or PostCSS identifier like <input css 1>
"errored": true, // This is `true` if at least one rule with an "error"-level severity triggered a warning
"warnings": [
// Array of rule violation warning objects, each like the following ...
{
"line": 3,
"column": 12,
"rule": "block-no-empty",
"severity": "error",
"text": "You should not have an empty block (block-no-empty)"
}
],
"deprecations": [
// Array of deprecation warning objects, each like the following ...
{
"text": "Feature X has been deprecated and will be removed in the next major version.",
"reference": "https://stylelint.io/docs/feature-x.md"
}
],
"invalidOptionWarnings": [
// Array of invalid option warning objects, each like the following ...
{
"text": "Invalid option X for rule Y"
}
],
"ignored": false // This is `true` if the file's path matches a provided ignore pattern
}
And the second argument (returnValue) is an object with one or more of the following keys:
{
"errored": false, // `true` if there were any warnings with "error" severity
"needlessDisables": [
// Present if stylelint was configured with `reportNeedlessDisables: true`
{
"source": "path/to/file.css",
"ranges": [
{
"start": 10,
"unusedRule": "indentation"
}
]
}
],
"invalidScopeDisables": [
// Present if stylelint was configured with `reportInvalidScopeDisables: true`
{
"source": "path/to/file.css",
"ranges": [
{
"start": 1,
"unusedRule": "color-named"
}
]
}
],
"maxWarningsExceeded": {
// Present if stylelint was configured with a `maxWarnings` count
"maxWarnings": 10,
"foundWarnings": 15
}
}
Passing arguments
You can use environmental variables in your formatter. For example, pass SKIP_WARNINGS:
SKIP_WARNINGS=true stylelint "*.css" --custom-formatter ./my-formatter.js
Alternatively, you can create a separate formatting program and pipe the output from the built-in JSON formatter into it:
stylelint -f json "*.css" | my-program-that-reads-JSON --option
stylelint.formatters
stylelint's internal formatters are exposed publicly in stylelint.formatters.