gpt4 book ai didi

node.js - 如何检查 npm-shrinkwrap.json 和 package.json 的一致性

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:05 27 4
gpt4 key购买 nike

有时我的团队成员在更新 package.json 后忘记更新 npm-shrinkwrap.json。我知道this package来自 uber,但它不能与 npm v3 一起使用。所以现在这不是解决方案。

我是否可以自动检查 npm-shrinkwrap.json 和 package.json 的一致性?我想在 git-hook 或/和连续中执行此操作。

最佳答案

您可以测试 npm package git-hooks ,允许安装 pre-commit or pre-push hooks (即client-side hooks)

此类 Hook (如 pre-commit one )可用于检查源文件的一致性,如 npm-shrinkwrap.json

另请参见 turadg/npm-shrinkwrap-git-hooks

A set of scripts to automatically npm shrinkwrap and npm install as needed.

If you stage a change to package.json, the pre-commit hook will run npm shrinkwrap to update npm-shrinkwrap.json.

#!/usr/bin/env bash

# This ensures that dependencies are installed locally whenever merging a commit
# that changed the shrinkwrap.

function package_changes_staged {
! git diff --cached --quiet -- package.json
}

# update shrinkwrap when spec changes
if package_changes_staged; then
echo "Running 'npm shrinkwrap' to match new package spec..." >&2
npm shrinkwrap
git add npm-shrinkwrap.json
fi

更新由 galk-in

我选择了pre-commit在 package.json 中进行此更新

...
"scripts": {
"check-shrinkwrap": "if (! git diff --cached --quiet -- package.json); then echo 'Running `npm shrinkwrap` to match new package spec...' >&2; npm shrinkwrap; git add npm-shrinkwrap.json; fi"
},
...
"pre-commit": [
"check-shrinkwrap",
"test"
]
...

关于node.js - 如何检查 npm-shrinkwrap.json 和 package.json 的一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40355267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com