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 在 命令行工具 中排名
426 每月下载量
170KB
4.5K SLoC
⚡️针对 .env
文件的闪电般快速代码检查器。使用 Rust 🦀 编写
dotenv-linter
可以 检查 / 修复 / 比较 .env
文件中可能导致应用程序出现问题的错误。
可用的检查:
✅ 重复键
✅ 文件结尾空行
✅ 额外空行
✅ 不正确的分隔符
✅ 无值的键
✅ 首字符
✅ 小写键
✅ 引号字符
✅ 空格字符
✅ 替换键
✅ 尾随空白字符
✅ 无序键
什么是 .env
文件?
💡 .env
文件或 dotenv
文件是一个包含项目所有环境变量的简单文本文件。
将 配置存储在环境变量中 是 十二要素应用程序宣言 的一个基本原则。
`.env` 文件采用简单的键值格式,例如:FOO=BAR
。
更多信息可以在以下英文和俄文文章中找到:英文 和 俄文。
主要特性:
⚡️ 速度极快,因为它是用 Rust 编写的 🦀
💣 可以用于任何项目,无论编程语言是什么 💥
🚀 可以与 reviewdog 和其他 CI 服务(包括 GitHub Actions 和 Super-Linter)集成 🔥
关于 dotenv-linter 的文章:
- [EN] Dotenv-linter: looking after the environment for you
- [EN] What's new in dotenv-linter v2.2.0?
- [EN] What are the key changes in dotenv-linter v3.0.0 release?
- [RU] Dotenv-linter: линтер .env файлов
- [RU] Что нового в dotenv-linter v2.2.1?
- [RU] Что нового в dotenv-linter v3.0.0?
👨💻 安装
预编译的二进制文件
# 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-linter 和 wemake-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 编写的开源项目做出贡献。❤️
我们在本项目内担任导师,帮助开发者从新手贡献者一步步成长为顶尖贡献者。🤗
🤝 贡献
如果您曾想为开源项目做出贡献,现在您有一个绝佳的机会
👍 相似项目
- wemake-services/dotenv-linter (Python)
✨ 贡献者
本项目能得以存在,离不开所有贡献者的付出。[贡献]。
♥️ 赞助商
dotenv-linter 由 Evrone 创建并支持。我们还用 Rust 开发其他产品。
成为财务贡献者,帮助我们维持社区。
📃 许可证
依赖
~4–15MB
~175K SLoC