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 --saveMethods
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 installoption{Object}optionaloption.savedefault: true, equals to--saveoption.devdefault: false, equals to--save-devoption.globaldefault: false, equals to-goption.productiondefault: false, equals to--productionoption.registrydefault: "https://registry.npmjs.org", set npm registryoption.npmClientdefault: "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 installoption{Object}optionaloption.savedefault: true, equals to--saveoption.devdefault: false, equals to--save-devoption.globaldefault: false, equals to-goption.productiondefault: false, equals to--productionoption.registrydefault: "https://registry.npmjs.org", set npm registryoption.npmClientdefault: "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.savedefault: true, equals to--saveoption.devdefault: false, equals to--save-devoption.globaldefault: false, equals to-goption.npmClientdefault: "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.savedefault: false, equals to--saveoption.devdefault: false, equals to--save-devoption.globaldefault: false, equals to-goption.npmClientdefault: "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.