13 个稳定版本

3.3.0 2022 年 12 月 20 日
3.2.0 2022 年 1 月 24 日
3.1.1 2021 年 8 月 24 日
3.1.0 2021 年 6 月 9 日
1.1.2 2020 年 3 月 13 日

474命令行工具 中排名

Download history 133/week @ 2024-03-13 144/week @ 2024-03-20 113/week @ 2024-03-27 131/week @ 2024-04-03 94/week @ 2024-04-10 246/week @ 2024-04-17 246/week @ 2024-04-24 221/week @ 2024-05-01 152/week @ 2024-05-08 128/week @ 2024-05-15 131/week @ 2024-05-22 199/week @ 2024-05-29 102/week @ 2024-06-05 112/week @ 2024-06-12 110/week @ 2024-06-19 76/week @ 2024-06-26

426 每月下载量

MIT 许可证

170KB
4.5K SLoC

dotenv-linter

⚡️针对 .env 文件的闪电般快速代码检查器。使用 Rust 🦀 编写

GitHub Actions Coverage Status License Releases

dotenv-linter 可以 检查 / 修复 / 比较 .env 文件中可能导致应用程序出现问题的错误。

可用的检查:

    ✅ 重复键
    ✅ 文件结尾空行
    ✅ 额外空行
    ✅ 不正确的分隔符
    ✅ 无值的键
    ✅ 首字符
    ✅ 小写键
    ✅ 引号字符
    ✅ 空格字符
    ✅ 替换键
    ✅ 尾随空白字符
    ✅ 无序键

什么是 .env 文件?

    💡 .env 文件或 dotenv 文件是一个包含项目所有环境变量的简单文本文件。
    将 配置存储在环境变量中十二要素应用程序宣言 的一个基本原则。
    `.env` 文件采用简单的键值格式,例如:FOO=BAR
    更多信息可以在以下英文和俄文文章中找到:英文俄文

主要特性:

    ⚡️ 速度极快,因为它是用 Rust 编写的 🦀
    💣 可以用于任何项目,无论编程语言是什么 💥
    🚀 可以与 reviewdog 和其他 CI 服务(包括 GitHub ActionsSuper-Linter)集成 🔥

关于 dotenv-linter 的文章:

👨‍💻 安装

预编译的二进制文件

# Linux / macOS / Windows (MINGW and etc). Installs it into ./bin/ by default
$ curl -sSfL https://raw.githubusercontent.com/dotenv-linter/dotenv-linter/master/install.sh | sh -s

# Or a shorter way
$ curl -sSfL https://git.io/JLbXn | sh -s

# Specify installation directory and version
$ curl -sSfL https://git.io/JLbXn | sh -s -- -b usr/local/bin v2.0.0

# Alpine Linux (using wget)
$ wget -q -O - https://git.io/JLbXn | sh -s

您可以在以下位置找到其他安装方法:[链接](https://dotenv-linter.github.io/#/installation)

🚀 使用

✅ 检查

默认情况下,`dotenv-linter` 会检查当前目录下的所有 `.env` 文件

$ dotenv-linter
Checking .env
.env:2 DuplicatedKey: The FOO key is duplicated
.env:3 UnorderedKey: The BAR key should go before the FOO key

Checking .env.test
.env.test:1 LeadingCharacter: Invalid leading character detected

Found 3 problems

🛠 修复

它还可以使用 `fix` 命令修复发现的警告

$ dotenv-linter fix
Fixing .env
Original file was backed up to: ".env_1601378896"

.env:2 DuplicatedKey: The BAR key is duplicated
.env:3 LowercaseKey: The foo key should be in uppercase

All warnings are fixed. Total: 2

🤲 比较

此外,`dotenv-linter` 还可以比较 `.env` 文件,并输出它们之间的差异

$ dotenv-linter compare .env .env.example
Comparing .env
Comparing .env.example
.env is missing keys: BAR
.env.example is missing keys: FOO

您可以在文档网站上找到其他用例([链接](https://dotenv-linter.github.io))

🚦 持续集成

`dotenv-linter` 也可以与 GitHub Actions 和 Circle CI 等CI服务一起使用。[链接](https://dotenv-linter.github.io/#/integrations/github_actions)

🚧 基准测试

使用 hyperfine 工具对 dotenv-linter/dotenv-linterwemake-services/dotenv-linter 进行了基准测试。

命令 平均值 [ms] 最小值 [ms] 最大值 [ms] 相对
dotenv-linter/dotenv-linter.env 2.7 ± 0.4 2.0 4.3 1.00
wemake-services/dotenv-linter.env 162.6 ± 12.1 153.0 201.3 60.83 ± 10.20
用于基准测试的 `.env` 文件内容
 SPACED=

KEY = VALUE

SECRET="my value"

SECRET=Already defined

kebab-case-name=1
snake_case_name=2

✌️ 指导

`dotenv-linter` 不仅是一个 `.env` 文件的检查器,它还是一个 对贡献者友好的开源项目,旨在通过一个简单但有用的工具帮助他人学习 Rust。😊

除了学习 Rust,此项目还有一个目标——推广对开源的热爱,帮助您迈出第一步,并有机会为用 Rust 编写的开源项目做出贡献。❤️

我们在本项目内担任导师,帮助开发者从新手贡献者一步步成长为顶尖贡献者。🤗

🤝 贡献

如果您曾想为开源项目做出贡献,现在您有一个绝佳的机会

👍 相似项目

✨ 贡献者

本项目能得以存在,离不开所有贡献者的付出。[贡献]。

♥️ 赞助商

dotenv-linterEvrone 创建并支持。我们还用 Rust 开发其他产品。

Sponsored by Evrone

成为财务贡献者,帮助我们维持社区。

📃 许可证

MIT

依赖

~4–15MB
~175K SLoC