跳至主要内容

选项

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 两种或多种不同的语言,可以将 customSyntaxoverrides 配置属性结合使用。

使用 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

传递给 globby 的选项。 更多信息

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

要分配给输入的文件名。

如果使用 codestdin 直接传递源字符串,则可以使用 codeFilename 将该代码与特定文件名关联起来。

quiet

CLI 标志:--quiet

仅注册具有 "error" 级别的严重性的规则的问题(忽略 "warning" 级别的规则)。

quietDeprecationWarnings

CLI 标志:--quiet-deprecation-warnings

忽略弃用警告。