mlshv/exactify
GitHub: mlshv/exactify
一款用于移除 package.json 版本范围符号并替换为精确版本的 CLI 工具,提升依赖安全性。
Stars: 13 | Forks: 0
# Exactify.js
CLI 工具,用于移除 package.json 依赖项中的 ^ 前缀,并用锁文件中的具体版本替换它们。
支持 `package-lock.json`(npm)和 `bun.lock`(bun)。
## 用法
```
npx exactify
```
或使用 bun:
```
bunx exactify
```
## 动机
TL;DR:在 `package.json` 中使用不精确的依赖版本是不安全的,因为它会让你的包暴露于安全与兼容风险。
了解更多:[你的 package.json 安全吗?](https://dev.to/mishgun/is-your-packagejson-safe-20c1)
## 示例
```
$ npx exactify
Exactify will pin all ^ versions in package.json to exact versions from package-lock.json
Example: "react": "^17.0.3" -> "react": "17.0.15"
? Do you want to procceed? Yes
? Do you also want to add save-exact=true in your .npmrc? (recommended) Yes
Packages with updated minor versions:
axios: ^0.19.0 -> 0.19.2
classnames: ^2.2.6 -> 2.3.2
moment: ^2.24.0 -> 2.29.4
react-router-dom: ^5.1.2 -> 5.3.4
typescript: ^4.3.4 -> 4.8.4
...
Removed 111 carets from package versions
77 minor versions were updated with actual versions from package-lock.json
```
标签:bun, JavaScript工具, LNA, MITM代理, npm, package.json, SEO工具, SOC Prime, TypeScript工具, 依赖优化, 依赖升级, 依赖管理, 前端工程化, 包管理, 安全可观测性, 开发工具, 数据可视化, 文档结构分析, 版本控制, 精确版本, 网络调试, 自动化, 自定义脚本, 锁定版本