fmt
rs fmt 命令底层基于 Prettier。它默认并行处理文件,并使用高性能的 Yuku 解析器处理 JavaScript 和 TypeScript,相比于直接使用 Prettier 具有更好的性能。
用法
可以传入文件、目录或 glob 模式来指定格式化范围。未传入目标时,rs fmt 会格式化当前目录。rs format 是 rs fmt 的别名。
选项
--write、--check 和 --list-different 不能同时使用。
示例:
文件发现
扫描目录或 glob 时,rs fmt 会遵循 .gitignore、跳过二进制文件,并且不会遍历版本控制目录或 node_modules。Prettier 无法推断 parser 的文件也会被跳过。
如需添加项目专属的排除规则,请使用 ignorePatterns。传入的正向和反向 glob 都基于当前工作目录解析。
配置
在 Rstack 配置文件中通过 define.fmt() 配置格式化:
rstack.config.ts
define.fmt() 支持标准的 Prettier 选项和 overrides 字段,并额外提供以下 Rstack 选项:
ignorePatterns:相对于rstack.config.ts所在目录的 Gitignore 兼容模式。sortPackageJson:格式化前对package.json字段排序,默认值为false。
配置来源
rs fmt 不会加载 Prettier 配置文件、.prettierignore 或 .editorconfig。请将其中的配置和忽略规则迁移到 define.fmt()。
使用 Prettier 插件时,需要将插件指定为包名、文件路径或 URL。由于格式化在 worker 中运行,因此不支持传入已导入的插件对象。包名和相对路径会基于 Rstack 配置文件所在目录解析。