gpt4 book ai didi

node.js - 有没有办法从 package-lock.json 中提取 package.json ?

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:43 24 4
gpt4 key购买 nike

我正在开发一个缺少 package.json 文件的项目。开发者推送了package-lock.json文件,但没有package.json文件。

如果可能的话,如何从 package-lock.json 文件创建一个干净的 package.json?

最佳答案

无法从 package-lock.json 生成完整的 package.json,因为后者不包含所有必要的数据。它仅包含具有特定版本的依赖项列表,没有原始 semvers。生产和开发依赖关系与嵌套依赖关系混合在一起。

可以生成新的package.json,然后用这些依赖项进行增强,例如:

const fs = require('fs');
const packageLock = require('./package-lock.json');
const package = require('./package.json');

package.dependencies = Object.entries(packageLock.dependencies)
.reduce((deps, [dep, { version }]) => Object.assign(deps, { [dep]: version }), {});

fs.writeFileSync('./package-new.json', JSON.stringify(package, null, 2));

可以通过检查 requires 键来过滤掉嵌套依赖项,但这可能会影响项目自身的依赖项。

关于node.js - 有没有办法从 package-lock.json 中提取 package.json ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54167989/

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