lub-npm v1.0.1-alpha.0
lub-npm
This package provides you with several useful utils to help operate npm bin.
Install
npm install lub-npm --save
Methods
Sync vs Async vs Async/Await
Most methods are async by default. All async methods will return a promise if the callback isn't passed.
Sync methods on the other hand will throw if an error occurs.
Also Async/Await will throw an error if one occurs.
Sync
Async
API
findPackageJsonSync(startDir) => string
Find the closest package.json file, starting at process.cwd (by default) and working up to root.
startDir
{string}
Starting directory- return
{string}
Absolute path to closest package.json file
findPackageJson(startDir,callback)
(Async) Find the closest package.json file, starting at process.cwd (by default) and working up to root.
startDir
{string}
Starting directorycallback
{function}
callback with (error, package.json's path)
installSync(pkgs,option)
install specific packages to pkg.json or install all dependencies from pkg.json
pkgs
{string | array<string>}
(optional) packages to install , if null will equalsnpm install
option
{Object}
optionaloption.save
default: true, equals to--save
option.dev
default: false, equals to--save-dev
option.global
default: false, equals to-g
option.production
default: false, equals to--production
option.registry
default: "https://registry.npmjs.org", set npm registryoption.npmClient
default: "npm", support 'yarn' and you can use your custom client such as cnpm, tnpm
install(pkgs,option,callback)
(async) install specific packages to pkg.json or install all dependencies from pkg.json
pkgs
{string | array<string>}
(optional) packages to install , if null will equalsnpm install
option
{Object}
optionaloption.save
default: true, equals to--save
option.dev
default: false, equals to--save-dev
option.global
default: false, equals to-g
option.production
default: false, equals to--production
option.registry
default: "https://registry.npmjs.org", set npm registryoption.npmClient
default: "npm", support 'yarn' and you can use your custom client such as cnpm, tnpmcallback
{function} callback with error argv
uninstallSync(pkgs,option)
uninstall specific packages
pkgs
{string | array<string>}
(required) packages to uninstalloption
{Object}
optionaloption.save
default: true, equals to--save
option.dev
default: false, equals to--save-dev
option.global
default: false, equals to-g
option.npmClient
default: "npm", support 'yarn' and you can use your custom client such as cnpm, tnpm
uninstall(pkgs,option,callback)
(async) uninstall specific packages
pkgs
{string | array<string>}
(required) packages to uninstalloption
{Object}
optionaloption.save
default: false, equals to--save
option.dev
default: false, equals to--save-dev
option.global
default: false, equals to-g
option.npmClient
default: "npm", support 'yarn' and you can use your custom client such as cnpm, tnpmcallback
{function} callback with error argv
latest(pkg,option)
get the specific (default: latest) version pkg.json info of the package
pkgs
{string}
(required) the package to fetch latest infooption
{Object}
optionaloption.version
{string} default: "latest" the version of the packageoption.registry
{string} default: "https://registry.npmjs.org" registry of your npm clientcallback
{function} callback with error and pkgInfo argvs
PR Welcome
PRs are welcomed if you have useful utils on npm bin when creating your boilerplate.