选项
CLI 共享的选项
您可以在 配置对象 中使用其中一些选项。
allowEmptyInput
CLI 标志:--allow-empty-input, --aei
当 glob 模式没有匹配到任何文件时,Stylelint 不会抛出错误。
configFile
CLI 标志:--config, -c
包含您 配置对象 的 JSON、YAML 或 JS 文件的路径。
如果您不想让 Stylelint 搜索配置文件,请使用此选项。
该路径应为绝对路径或相对于您的进程运行的目录 (process.cwd()
) 的相对路径。
configBasedir
CLI 标志:--config-basedir
定义 "extends"、"plugins" 和 "customSyntax" 的相对路径所相对于的目录的绝对路径。仅当这些值是相对路径时才需要。
fix
CLI 标志:--fix
在可能的情况下,自动修复规则报告的问题。
对于使用标准语法的 CSS,Stylelint 使用 postcss-safe-parser 来修复语法错误。
使用 Node.js API 时,自动修复后的代码作为返回对象中 code
属性的值提供。
如果源代码包含
- 作用域禁用注释,例如
/* stylelint-disable color-named */
,则作用域规则报告的任何问题都不会在源代码中的任何位置自动修复 - 非作用域禁用注释,即
/* stylelint-disable */
,则整个源代码将不会自动修复
此限制在 问题 #2643 中跟踪。
customSyntax
CLI 标志:--custom-syntax
指定要对您的代码使用的自定义语法。
有许多样式语言,从 CSS 语言扩展(如 SCSS)到完全不同的表示法(例如 CSS-in-JS 对象)。
这些样式语言也可以嵌入到其他语言中。例如
- HTML
<style>
标签 - markdown 围栏
- JavaScript 模板字面量
此选项允许 Stylelint 将这些转换为类似于 CSS 的东西,CSS 是
- 所有其他样式语言的基础
- Stylelint 内置规则最容易理解的语言
此选项应为一个字符串,该字符串解析为一个 JS 模块,该模块导出一个 与 PostCSS 兼容的语法。该字符串可以是模块名称(如 my-module
)或 JS 文件的路径(如 path/to/my-module.js
)。
如果您想 lint 两种或多种不同的语言,可以将 customSyntax
与 overrides
配置属性结合使用。
使用 Node.js API 时,customSyntax
选项还可以接受一个 语法对象。Stylelint 将 parse
属性视为必需值。此外,Stylelint 支持用 ESM 编写的语法模块。
Stylelint 无法保证核心规则与自定义语法一起使用。
formatter
CLI 标志:--formatter, -f
| --custom-formatter
指定格式化程序来格式化您的结果。
选项是
compact
- 生成类似于 ESLint 的紧凑格式化程序的输出github
- 通过 GitHub Actions 的工作流命令 生成消息json
(Node API 的默认值) - 生成 JSON,可供其他工具使用string
(CLI 的默认值) - 生成人类可读的字符串tap
- 生成 Test Anything Protocol 输出unix
- 生成类似于 C 编译器的消息,以便像 Emacs 的编译模式这样的工具可以将它们链接起来verbose
- 扩展string
以包括已检查文件的列表以及每个规则的计数
formatter
Node.js API 选项还可以接受一个函数或一个 Promise
函数,而 --custom-formatter
CLI 标志接受一个导出一个的 JS 文件的路径(文件系统路径或依赖项)。这两种情况下的函数都必须符合 开发者指南 中描述的签名。
cache
CLI 标志:--cache
存储已处理文件的結果,以便 Stylelint 仅对已更改的文件进行操作。默认情况下,缓存存储在 process.cwd()
中的 ./.stylelintcache
中。
启用此选项可以显着提高 Stylelint 的速度,因为只有已更改的文件才会被 lint。
如果您使用 cache
运行 Stylelint,然后在没有 cache
的情况下运行 Stylelint,Stylelint 会删除 .stylelintcache
,因为我们必须假设第二个命令使 .stylelintcache
无效。
cacheLocation
CLI 标志:--cache-location
缓存位置的文件或目录的路径。
如果指定了目录,Stylelint 会在指定文件夹中创建一个缓存文件。该文件的文件名基于 process.cwd()
的哈希值(例如 .cache_hashOfCWD
),以便 Stylelint 可以为来自不同项目的各种缓存重用单个位置。
如果 cacheLocation
的目录不存在,请确保在 *nix 系统上添加尾随 /
或在 Windows 上添加 \
。否则,Stylelint 会将该路径视为文件。
cacheStrategy
CLI 标志:--cache-strategy
缓存用于检测已更改文件的策略。可以是 "metadata" 或 "content"。
"content" 策略在您的文件修改时间发生变化但内容未发生变化的情况下很有用。例如,这可能在像 "git clone" 这样的 git 操作期间发生,因为 git 不会跟踪文件修改时间。
maxWarnings
CLI 标志:--max-warnings, --mw
设置可接受的警告数量限制。
当将 defaultSeverity
设置为 "warning"
并期望进程在警告时失败(例如 CI 构建)时,它很有用。
如果警告数量超过此值,则
- CLI 进程以代码
2
退出 - Node.js API 将
maxWarningsExceeded
属性添加到返回的数据中
disableDefaultIgnores
CLI 标志:--disable-default-ignores, --di
禁用默认忽略。Stylelint 不会自动忽略 node_modules
的内容。
globbyOptions
CLI 标志:--globby-options, --go
ignorePath
CLI 标志:--ignore-path, -i
包含描述要忽略的文件的模式的文件的路径。该路径可以是绝对路径或相对于 process.cwd()
的相对路径。您可以重复该选项以提供多个路径。默认情况下,Stylelint 在 process.cwd()
中查找 .stylelintignore
。
ignoreDisables
CLI 标志:--ignore-disables, --id
忽略 stylelint-disable
(例如 /* stylelint-disable block-no-empty */
)注释。
您可以使用此选项查看在没有这些异常的情况下您的 lint 结果会是什么样子。
reportDescriptionlessDisables
CLI 标志:--report-descriptionless-disables, --rdd
报告没有描述的 stylelint-disable
注释。
以下模式将被报告
/* stylelint-disable */
a {}
/* stylelint-disable-next-line block-no-empty */
a {}
但是,以下模式(stylelint-disable -- <description>
)不会被报告
/* stylelint-disable -- This problem is ignorable. */
a {}
/* stylelint-disable-next-line block-no-empty -- This problem is ignorable. */
a {}
reportInvalidScopeDisables
CLI 标志:--report-invalid-scope-disables, --risd
报告与配置对象中指定的规则不匹配的 stylelint-disable
注释。
reportNeedlessDisables
CLI 标志:--report-needless-disables, --rd
报告实际上不匹配任何需要禁用的 lint 的 stylelint-disable
注释。
codeFilename
CLI 标志:--stdin-filename
要分配给输入的文件名。
如果使用 code
或 stdin
直接传递源字符串,则可以使用 codeFilename
将该代码与特定文件名关联起来。
quiet
CLI 标志:--quiet
仅注册具有 "error" 级别的严重性的规则的问题(忽略 "warning" 级别的规则)。
quietDeprecationWarnings
CLI 标志:--quiet-deprecation-warnings
忽略弃用警告。