88 个版本
0.18.1 | 2024年2月25日 |
---|---|
0.17.0 | 2022年10月20日 |
0.13.0 | 2022年5月21日 |
0.11.0 | 2021年9月9日 |
0.3.7 | 2020年6月1日 |
#539 在 命令行工具 中
每月下载 72 次
52KB
1K SLoC
sanefmt
为 TypeScript 和 JavaScript 提供有观点的代码格式化工具。
规则
- 优先使用单引号。
- 不使用分号。
- 多行使用尾随逗号。
- 单参数箭头函数不使用函数括号。
- 多行联合和交集使用一致的引导分隔符。
预览.
阅读 exports/sane-fmt.typescript.json、src/rules.rs 和 tests/rules.rs 获取更多信息。
安装
下载预构建的二进制文件
访问 发布页面。
从 crates.io
cargo install sane-fmt
链接
- https://crates.io/crates/sane-fmt/
- https://docs.rs/crate/sane-fmt/
- https://crates.org.cn/crates/sane-fmt/
从 NPM
WASM(所有平台)
npm i -g @sane-fmt/wasm32-wasi
链接
本地二进制文件
虽然 WASM 包适用于所有平台,但启动速度较慢。为了更好的速度,请安装以下包之一
对于 Linux
对于 macOS
对于 Windows
从 Deno 注册表
链接
- https://docs.deno.org.cn/x/sane_fmt/
- https://github.com/sane-fmt/deno/
- https://sane-fmt.github.io/deno/
从 Arch 用户仓库
下载源代码并编译
paru -S sane-fmt
链接
下载预构建的二进制文件
paru -S sane-fmt-bin
链接
与 Dprint 一起使用
如果您已经安装了 Dprint,则可以跳过安装 sanefmt
二进制文件。创建一个包含以下内容的 dprint.json
文件
{
"$schema": "https://dprint.dev/schemas/v0.json",
"projectType": "openSource",
"extends": "https://github.com/sane-fmt/sane-fmt/raw/master/exports/sane-fmt.dprint.json",
"includes": [
"**/*.js",
"**/*.ts"
],
"excludes": [
".git",
"node_modules"
],
"plugins": [
"https://plugins.dprint.dev/typescript-${DPRINT_TYPESCRIPT_VERSION}.wasm"
]
}
注意
- 将上述代码中的
master
替换为合适的 sane-fmt 版本。 - 将上述代码中的
${DPRINT_TYPESCRIPT_VERSION}
替换为合适的 dprint-plugin-typescript 版本。
参见
- sane-fmt.dprint.json:包含 sane-fmt 规则的 Dprint 配置。
- sane-fmt.typescript.json:包含 sane-fmt 规则的 dprint-plugin-typescript 配置。
用法
格式化所有 TypeScript 和 JavaScript 文件
sane-fmt --write
此命令将重新格式化所有 TypeScript 和 JavaScript 文件。
检查所有 TypeScript 和 JavaScript 文件
sane-fmt
此命令将检查所有 TypeScript 和 JavaScript 文件。
仅格式化一些文件
sane-fmt --write foo.ts bar.js
此命令将仅重新格式化 foo.ts
和 bar.js
。
格式化目录中的所有 TypeScript 和 JavaScript 文件
sane-fmt --write src/
此命令将重新格式化 src/
目录中的所有 TypeScript 和 JavaScript 文件。
检查列表中的所有 TypeScript 和 JavaScript 文件
list.txt
的每一行都是一个 TypeScript/JavaScript 文件的路径。
sane-fmt --include=list.txt
从 Git 仓库检查所有 TypeScript 和 JavaScript 文件
git ls-files | grep -Ei '\.(js|ts)$' | sane-fmt --include=-
GitHub Actions
sane-fmt
还提供了一个方便的方式与 GitHub Actions 集成。要使用它,只需添加 --log-format=github-actions
,如下所示
sane-fmt --log-format=github-actions --details=diff
当在 GitHub Actions 运行器中执行此命令时,它将
- 为未格式化的文件添加注释。
- 按文件名分组差异(如果
--details=diff
)。 - 将
total
、changed
和unchanged
作为输出。
建议:此 操作 将安装 sane-fmt
并为您执行它。
打印帮助信息
sane-fmt --help
Shell 完整性
如果您通过 AUR 安装了 sane-fmt,bash、fish 和 zsh 的完整性已经为您安装。
Shell 完整性文件位于此存储库的 ./exports 目录 或 发布页面 上,文件名为 completion.<extension>
,其中 <extension>
是目标语言的相应文件扩展名。将它们安装到您的文件系统中适当的位置以使用它们。
成为赞助者
常见问题解答
这个程序是什么?
sane-fmt
是一个基于 dprint 的 TypeScript 和 JavaScript 代码格式化程序。您可以将其视为一个始终更新的可移植 Dprint 配置文件。
这个程序的意义是什么?
我想在不使用复杂工具的情况下,为所有代码应用单一、一致的格式。
我已经考虑过使用 Prettier 或 Dprint,但这意味着即使在非 Node.js 环境中也要设置 Node.js。我也不喜欢反复复制配置文件来更新它们。
另一方面,设置sane-fmt
很简单:只需下载二进制文件。
如何自定义规则?
自定义与本项目目的相反,因此sane-fmt
命令没有自定义功能。
然而,如果您仍然希望使用自定义规则的sane-fmt
版本,请执行以下操作之一
- 将
sane-fmt
用作库crate。 - Fork此项目。
- 仅使用dprint。
许可证
依赖关系
~13MB
~283K SLoC