#typescript #format #javascript #nodejs #json-file #config-file

bin+lib sanefmt

为 TypeScript 和 JavaScript 提供有观点的代码格式化工具

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命令行工具

Download history 17/week @ 2024-04-02 72/week @ 2024-07-02

每月下载 72 次

MIT 许可证

52KB
1K SLoC

sanefmt

GitHub Actions Status Travis Build Status

为 TypeScript 和 JavaScript 提供有观点的代码格式化工具。

规则

  • 优先使用单引号。
  • 不使用分号。
  • 多行使用尾随逗号。
  • 单参数箭头函数不使用函数括号。
  • 多行联合和交集使用一致的引导分隔符。

预览.

阅读 exports/sane-fmt.typescript.jsonsrc/rules.rstests/rules.rs 获取更多信息。

安装

下载预构建的二进制文件

访问 发布页面

crates.io

cargo install sane-fmt

链接

NPM

WASM(所有平台)

npm i -g @sane-fmt/wasm32-wasi

链接

本地二进制文件

虽然 WASM 包适用于所有平台,但启动速度较慢。为了更好的速度,请安装以下包之一

对于 Linux

对于 macOS

对于 Windows

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 版本。

参见

用法

格式化所有 TypeScript 和 JavaScript 文件

sane-fmt --write

此命令将重新格式化所有 TypeScript 和 JavaScript 文件。

检查所有 TypeScript 和 JavaScript 文件

sane-fmt

此命令将检查所有 TypeScript 和 JavaScript 文件。

仅格式化一些文件

sane-fmt --write foo.ts bar.js

此命令将仅重新格式化 foo.tsbar.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)。
  • totalchangedunchanged 作为输出。

建议:操作 将安装 sane-fmt 并为您执行它。

打印帮助信息

sane-fmt --help

Shell 完整性

如果您通过 AUR 安装了 sane-fmt,bash、fish 和 zsh 的完整性已经为您安装。

Shell 完整性文件位于此存储库的 ./exports 目录发布页面 上,文件名为 completion.<extension>,其中 <extension> 是目标语言的相应文件扩展名。将它们安装到您的文件系统中适当的位置以使用它们。

成为赞助者

我的 Patreon 页面.

常见问题解答

这个程序是什么?

sane-fmt 是一个基于 dprint 的 TypeScript 和 JavaScript 代码格式化程序。您可以将其视为一个始终更新的可移植 Dprint 配置文件。

这个程序的意义是什么?

我想在不使用复杂工具的情况下,为所有代码应用单一、一致的格式。

我已经考虑过使用 Prettier 或 Dprint,但这意味着即使在非 Node.js 环境中也要设置 Node.js。我也不喜欢反复复制配置文件来更新它们。

另一方面,设置sane-fmt很简单:只需下载二进制文件。

如何自定义规则?

自定义与本项目目的相反,因此sane-fmt命令没有自定义功能。

然而,如果您仍然希望使用自定义规则的sane-fmt版本,请执行以下操作之一

  • sane-fmt用作库crate。
  • Fork此项目。
  • 仅使用dprint

许可证

MIT © 黄文凯

依赖关系

~13MB
~283K SLoC