You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成Prettier命令行调用会处理的所有文件列表?

获取Prettier待处理文件列表的更优方案

你可以通过以下两种方式替代虚拟插件方案,直接获取和Prettier标准调用完全一致的文件列表:

方案1:复用Prettier内部API编写脚本

直接调用Prettier CLI的核心文件匹配逻辑,无需维护虚拟插件。创建一个名为list-prettier-files.js的脚本:

const { expandPatterns } = require("prettier/src/cli/expand-patterns");
const { loadOptions } = require("prettier/src/cli/options");

async function listFiles() {
  const options = await loadOptions({ cwd: process.cwd() });
  const files = await expandPatterns(["."], options);
  files.forEach(file => console.log(file));
}

listFiles().catch(err => {
  console.error(err);
  process.exit(1);
});

运行脚本即可输出所有待处理文件:

node list-prettier-files.js

这个脚本会自动读取项目中的.prettierrc、.prettierignore、已配置的解析器/插件等,生成的文件列表和prettier .完全一致,是最可靠的方案。

方案2:利用CLI参数组合快速实现

如果不想编写脚本,可以通过Prettier的日志输出提取文件名:

npx prettier --check --loglevel debug . 2>&1 | grep "Checking" | sed 's/Checking //'

该命令通过开启debug日志,过滤出Prettier检查文件的日志行,再移除前缀得到文件名。虽然依赖Prettier的日志格式,但无需额外代码,适合临时场景或简单CI流程。

对比原方案的优势

  • 无需维护虚拟插件和解析警告信息,减少额外代码维护成本;
  • 直接复用Prettier内部逻辑,避免因版本更新导致的兼容性问题;
  • 脚本方案可集成到CI流水线中,输出稳定可靠。

内容的提问来源于stack exchange,提问作者Glen Whitney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 14:13:11