Files
pnpm/docs/api.md
Zoltan Kochan 2c46333107 fix: global installation always works now (#713)
* fix: global installation always works now

Close #711

* refactor: avoid using `read-pkg-up`

BREAKING CHANGE:

API should be called in the folder that has a package.json file.
pnpm won't search up for a package.json file.

Close #67

* docs(API): update

* refactor: write-pkg created dir on its own

* refactor: rename `globalDir` to `globalPrefix`

* feat: saving the global package in <global prefix>/pnpm-global
2017-04-22 23:11:25 +03:00

3.8 KiB

API

pnpm.installPkgs(pkgsToInstall, [options])

Install packages.

Arguments:

  • pkgsToInstall - Object | String[] - either an object that maps package names to version ranges or inputs usually passed to npm install (e.g., foo@1.0.0, foo).
  • options.save - Boolean - package will appear in dependencies.
  • options.saveDev - Boolean - package will appear in devDependencies.
  • options.saveOptional - Boolean - package will appear in optionalDependencies.
  • options.saveExact - Boolean - saved dependencies will be configured with an exact version rather than using npm's default semver range operator.
  • options.global - Boolean - the packages will be installed globally rather than locally.
  • options.prefix - String - the directory in which the installation will be performed. By default the process.cwd() value is used.
  • options.quiet - Boolean - false by default. No output to the console.
  • options.metaCache - Map - a cache for package meta info.
  • options.networkConcurrency - Number - 16 by default. Max amount of network requests to perform concurrently.
  • options.offline - Boolean - false by default. Install packages using only the local registry mirror, w/o doing any network requests.

Returns: a Promise

Example:

const pnpm = require('pnpm')

pnpm.install({
  'is-positive': '1.0.0',
  'hello-world': '^2.3.1'
}, { save: true, quiet: true })

pnpm.install([options])

Install all modules listed as dependencies in package.json.

Arguments: (same as in named install and additionally)

  • options.production - Boolean - false by default or true when the NODE_ENV environment variable is set to production. Modules listed in devDependencies will not be installed.

pnpm.uninstall(pkgsToUninstall, [options])

Uninstalls a package, completely removing everything pnpm installed on its behalf.

Arguments:

  • pkgsToUninstall - String[] - the package names to be uninstalled.
  • options.save - Boolean - the package will be removed from dependencies.
  • options.saveDev - Boolean - the package will be removed from devDependencies.
  • options.saveOptional - Boolean - the package will be removed from optionalDependencies.
  • options.global - Boolean - the packages will be uninstalled globally.

pnpm.link(linkFrom, lintTo, [options])

Create a symbolic link from the linked package to the target package's node_modules (and its node_modules/.bin).

Arguments:

  • linkFrom - String - path to the package that should be linked.
  • lintTo - String - path to the dependent package.

pnpm.linkToGlobal(linkFrom, options)

Create a symbolic link from the specified package to the global node_modules.

Arguments:

  • linkFrom - String - path to the package that should be linked.
  • globalPrefix - String - path to the global directory.

pnpm.linkFromGlobal(pkgName, linkTo, options)

Create a symbolic link from the global pkgName to the linkTo/node_modules folder.

Arguments:

  • pkgName - String - package to link.
  • linkTo - String - package to link to.
  • globalPrefix - String - path to the global directory.

pnpm.prune([options])

Remove extraneous packages. Extraneous packages are packages that are not listed on the parent package's dependencies list.

Arguments:

  • options.production - Boolean - by default false. If this property is true, prune will remove the packages specified in devDependencies.
  • options.prefix - String - by default process.cwd().

pnpm.storeStatus([options])

Return the list of modified dependencies.

Returns: Promise<string[]> - the paths to the modified packages of the current project. The paths contain the location of packages in the store, not in the projects node_modules folder.