lub-npm

1.0.1-alpha.0 • Public • Published

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 directory
  • callback {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 equals npm install
  • option {Object} optional
  • option.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 registry
  • option.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 equals npm install
  • option {Object} optional
  • option.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 registry
  • option.npmClient default: "npm", support 'yarn' and you can use your custom client such as cnpm, tnpm
  • callback {function} callback with error argv

uninstallSync(pkgs,option)

uninstall specific packages

  • pkgs {string | array<string>} (required) packages to uninstall
  • option {Object} optional
  • option.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 uninstall
  • option {Object} optional
  • option.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, tnpm
  • callback {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 info
  • option {Object} optional
  • option.version {string} default: "latest" the version of the package
  • option.registry {string} default: "https://registry.npmjs.org" registry of your npm client
  • callback {function} callback with error and pkgInfo argvs

PR Welcome

PRs are welcomed if you have useful utils on npm bin when creating your boilerplate.

Dependencies (7)

Dev Dependencies (1)

Package Sidebar

Install

npm i lub-npm

Weekly Downloads

3

Version

1.0.1-alpha.0

License

MIT

Unpacked Size

18.5 kB

Total Files

6

Last publish

Collaborators

  • dxd_sjtu