1 | # package-json [![Build Status](https://travis-ci.org/sindresorhus/package-json.svg?branch=master)](https://travis-ci.org/sindresorhus/package-json)
|
2 |
|
3 | > Get metadata of a package from the npm registry
|
4 |
|
5 |
|
6 | ## Install
|
7 |
|
8 | ```
|
9 | $ npm install --save package-json
|
10 | ```
|
11 |
|
12 |
|
13 | ## Usage
|
14 |
|
15 | ```js
|
16 | const packageJson = require('package-json');
|
17 |
|
18 | packageJson('ava').then(json => {
|
19 | console.log(json);
|
20 | //=> {name: 'ava', ...}
|
21 | });
|
22 |
|
23 | // Also works with scoped packages
|
24 | packageJson('@sindresorhus/df').then(json => {
|
25 | console.log(json);
|
26 | //=> {name: '@sindresorhus/df', ...}
|
27 | });
|
28 | ```
|
29 |
|
30 |
|
31 | ## API
|
32 |
|
33 | ### packageJson(name, [options])
|
34 |
|
35 | #### name
|
36 |
|
37 | Type: `string`
|
38 |
|
39 | Name of the package.
|
40 |
|
41 | #### options
|
42 |
|
43 | Type: `Object`
|
44 |
|
45 | ##### version
|
46 |
|
47 | Type: `string`<br>
|
48 | Default: `latest`
|
49 |
|
50 | Package version such as `1.0.0` or a [dist tag](https://docs.npmjs.com/cli/dist-tag) such as `latest`.
|
51 |
|
52 | The version can also be in any format supported by the [semver](https://github.com/npm/node-semver) module. For example:
|
53 |
|
54 | - `1` - get the latest `1.x.x`
|
55 | - `1.2` - get the latest `1.2.x`
|
56 | - `^1.2.3` - get the latest `1.x.x` but at least `1.2.3`
|
57 | - `~1.2.3` - get the latest `1.2.x` but at least `1.2.3`
|
58 |
|
59 | ##### fullMetadata
|
60 |
|
61 | Type: `boolean`<br>
|
62 | Default: `false`
|
63 |
|
64 | By default, only an abbreviated metadata object is returned for performance reasons. [Read more.](https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md)
|
65 |
|
66 | ##### allVersions
|
67 |
|
68 | Type: `boolean`<br>
|
69 | Default: `false`
|
70 |
|
71 | Return the [main entry](https://registry.npmjs.org/ava) containing all versions.
|
72 |
|
73 |
|
74 | ## Authentication
|
75 |
|
76 | Both public and private registries are supported, for both scoped and unscoped packages, as long as the registry uses either bearer tokens or basic authentication.
|
77 |
|
78 |
|
79 | ## Related
|
80 |
|
81 | - [package-json-cli](https://github.com/sindresorhus/package-json-cli) - CLI for this module
|
82 | - [latest-version](https://github.com/sindresorhus/latest-version) - Get the latest version of an npm package
|
83 | - [pkg-versions](https://github.com/sindresorhus/pkg-versions) - Get the version numbers of a package from the npm registry
|
84 | - [npm-keyword](https://github.com/sindresorhus/npm-keyword) - Get a list of npm packages with a certain keyword
|
85 | - [npm-user](https://github.com/sindresorhus/npm-user) - Get user info of an npm user
|
86 | - [npm-email](https://github.com/sindresorhus/npm-email) - Get the email of an npm user
|
87 |
|
88 |
|
89 | ## License
|
90 |
|
91 | MIT © [Sindre Sorhus](https://sindresorhus.com)
|