0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 15:30:56 +01:00
nodejs/deps/npm/lib/fetch-package-metadata.md
Kat Marchán e1834ff5da deps: upgrade npm to 4.2.0
PR-URL: https://github.com/nodejs/node/pull/11389
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2017-03-22 18:27:31 -04:00

38 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

fetch-package-metadata
----------------------
var fetchPackageMetadata = require("npm/lib/fetch-package-metadata")
fetchPackageMetadata(spec, contextdir, callback)
This will get package metadata (and if possible, ONLY package metadata) for
a specifier as passed to `npm install` et al, eg `npm@next` or `npm@^2.0.3`
## fetchPackageMetadata(*spec*, *contextdir*, *tracker*, *callback*)
* *spec* **string** | **object** -- The package specifier, can be anything npm can
understand (see [realize-package-specifier]), or it can be the result from
realize-package-specifier or npm-package-arg (for non-local deps).
* *contextdir* **string** -- The directory from which relative paths to
local packages should be resolved.
* *tracker* **object** -- **(optional)** An are-we-there-yet tracker group as
provided by `npm.log.newGroup()`.
* *callback* **function (er, package)** -- Called when the package information
has been loaded. `package` is the object for of the `package.json`
matching the requested spec. In the case of named packages, it comes from
the registry and thus may not exactly match what's found in the associated
tarball.
[realize-package-specifier]: (https://github.com/npm/realize-package-specifier)
In the case of tarballs and git repos, it will use the cache to download
them in order to get the package metadata. For named packages, only the
metadata is downloaded (eg https://registry.npmjs.org/package). For local
directories, the package.json is read directly. For local tarballs, the
tarball is streamed in memory and just the package.json is extracted from
it. (Due to the nature of tars, having the package.json early in the file
will result in it being loaded faster the extractor short-circuits the
uncompress/untar streams as best as it can.)