npmpkgx
Version:
Automatically add project dependencies to npm's package.json
101 lines (69 loc) • 2.84 kB
Markdown
# npmpkgx

[](https://www.npmjs.org/package/npmpkgx)


为你的项目自动添加依赖模块
使用其他语言阅读:[English](./README.md) | 简体中文
### 它能干什么?
在python中有pip+pipreqs打包依赖的方式, 在nodejs中有npm+npmpkgx
如果你fork了他人项目, 发现缺失模块无法运行, 那么在线模式将为你补全
如果你的项目需要移植到其它环境, 那么本地模式会适合你
### 它是如何工作的?
它有两种工作模式
1. 本地模式, 扫描代码中引入模块->匹配全局模块->添加到项目的package.json
2. 在线模式, 扫描代码中引入模块->匹配registry模块->添加到项目的package.json
### 安装
从npm全局安装npmpkgx
```shell
$ npm install npmpkgx -g
```
### 用法
```shell
$ npmpkgx -h
npmpkgx - Automatically add project dependencies to npm's package.json
Usage:
npmpkgx [options] [<path>]
Arguments:
<path> The path to the directory containing the application files for the package.json file
generated by npm
Options:
-s, --save Add package to dependencies(default)
-d, --save-dev Add package to devDependencies
-o, --save-optional Add package to optionalDependencies
-p, --save-prefix <prefix> Customize the prefix(^|~|<|>|=) for package version
--encoding <charset> Use encoding parameter for package.json write. The default value of charset is utf-8
if not specified
--registry <url?> Switch online mode, it will search the nodejs registry. The default value of url is
'https://registry.npmjs.org' if not specified
```
### 示例
```shell
$ npmpkgx ./ --registry
The following packages have been added to the dependencies
{ 'npm-pkgs': '^2.0.1' }
The following packages are not added to the dependencies
{
fs: '*',
path: '*',
https: '*',
'./cmd/command': '*',
'npm-pkgxxx': '*'
}
$ npm install
...
```
### 注意
1. 目前仅支持 `require()` 方式引入的模块, 未来可能支持import
2. 添加方式为追加, 已有包不会被添加, nodejs原生模块不会被添加, 自定义模块不会被添加
3. 命令行参数不支持`=`
### 版权
MIT © [bitjerry](https://github.com/bitjerry/npmpkgx/blob/main/LICENSE)