Detailansicht verbessert
This commit is contained in:
		
							
								
								
									
										67
									
								
								express-server/node_modules/package-json/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								express-server/node_modules/package-json/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
const url = require('url');
 | 
			
		||||
const got = require('got');
 | 
			
		||||
const registryUrl = require('registry-url');
 | 
			
		||||
const registryAuthToken = require('registry-auth-token');
 | 
			
		||||
const semver = require('semver');
 | 
			
		||||
 | 
			
		||||
module.exports = (name, opts) => {
 | 
			
		||||
	const scope = name.split('/')[0];
 | 
			
		||||
	const regUrl = registryUrl(scope);
 | 
			
		||||
	const pkgUrl = url.resolve(regUrl, encodeURIComponent(name).replace(/^%40/, '@'));
 | 
			
		||||
	const authInfo = registryAuthToken(regUrl, {recursive: true});
 | 
			
		||||
 | 
			
		||||
	opts = Object.assign({
 | 
			
		||||
		version: 'latest'
 | 
			
		||||
	}, opts);
 | 
			
		||||
 | 
			
		||||
	const headers = {
 | 
			
		||||
		accept: 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*'
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	if (opts.fullMetadata) {
 | 
			
		||||
		delete headers.accept;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (authInfo) {
 | 
			
		||||
		headers.authorization = `${authInfo.type} ${authInfo.token}`;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return got(pkgUrl, {json: true, headers})
 | 
			
		||||
		.then(res => {
 | 
			
		||||
			let data = res.body;
 | 
			
		||||
			let version = opts.version;
 | 
			
		||||
 | 
			
		||||
			if (opts.allVersions) {
 | 
			
		||||
				return data;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (data['dist-tags'][version]) {
 | 
			
		||||
				data = data.versions[data['dist-tags'][version]];
 | 
			
		||||
			} else if (version) {
 | 
			
		||||
				if (!data.versions[version]) {
 | 
			
		||||
					const versions = Object.keys(data.versions);
 | 
			
		||||
					version = semver.maxSatisfying(versions, version);
 | 
			
		||||
 | 
			
		||||
					if (!version) {
 | 
			
		||||
						throw new Error('Version doesn\'t exist');
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				data = data.versions[version];
 | 
			
		||||
 | 
			
		||||
				if (!data) {
 | 
			
		||||
					throw new Error('Version doesn\'t exist');
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return data;
 | 
			
		||||
		})
 | 
			
		||||
		.catch(err => {
 | 
			
		||||
			if (err.statusCode === 404) {
 | 
			
		||||
				throw new Error(`Package \`${name}\` doesn't exist`);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			throw err;
 | 
			
		||||
		});
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										21
									
								
								express-server/node_modules/package-json/license
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								express-server/node_modules/package-json/license
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in
 | 
			
		||||
all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
							
								
								
									
										75
									
								
								express-server/node_modules/package-json/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								express-server/node_modules/package-json/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
{
 | 
			
		||||
  "_from": "package-json@^4.0.0",
 | 
			
		||||
  "_id": "package-json@4.0.1",
 | 
			
		||||
  "_inBundle": false,
 | 
			
		||||
  "_integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
 | 
			
		||||
  "_location": "/package-json",
 | 
			
		||||
  "_phantomChildren": {},
 | 
			
		||||
  "_requested": {
 | 
			
		||||
    "type": "range",
 | 
			
		||||
    "registry": true,
 | 
			
		||||
    "raw": "package-json@^4.0.0",
 | 
			
		||||
    "name": "package-json",
 | 
			
		||||
    "escapedName": "package-json",
 | 
			
		||||
    "rawSpec": "^4.0.0",
 | 
			
		||||
    "saveSpec": null,
 | 
			
		||||
    "fetchSpec": "^4.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "_requiredBy": [
 | 
			
		||||
    "/latest-version"
 | 
			
		||||
  ],
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
 | 
			
		||||
  "_shasum": "8869a0401253661c4c4ca3da6c2121ed555f5eed",
 | 
			
		||||
  "_spec": "package-json@^4.0.0",
 | 
			
		||||
  "_where": "D:\\5CHITM\\Diplomarbeit\\SmartShopper\\SmartShopper\\express-server\\node_modules\\latest-version",
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "Sindre Sorhus",
 | 
			
		||||
    "email": "sindresorhus@gmail.com",
 | 
			
		||||
    "url": "sindresorhus.com"
 | 
			
		||||
  },
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/sindresorhus/package-json/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "bundleDependencies": false,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "got": "^6.7.1",
 | 
			
		||||
    "registry-auth-token": "^3.0.1",
 | 
			
		||||
    "registry-url": "^3.0.3",
 | 
			
		||||
    "semver": "^5.1.0"
 | 
			
		||||
  },
 | 
			
		||||
  "deprecated": false,
 | 
			
		||||
  "description": "Get metadata of a package from the npm registry",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "ava": "*",
 | 
			
		||||
    "mock-private-registry": "^1.1.0",
 | 
			
		||||
    "xo": "*"
 | 
			
		||||
  },
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": ">=4"
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "index.js"
 | 
			
		||||
  ],
 | 
			
		||||
  "homepage": "https://github.com/sindresorhus/package-json#readme",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "npm",
 | 
			
		||||
    "registry",
 | 
			
		||||
    "package",
 | 
			
		||||
    "pkg",
 | 
			
		||||
    "package.json",
 | 
			
		||||
    "json",
 | 
			
		||||
    "module",
 | 
			
		||||
    "scope",
 | 
			
		||||
    "scoped"
 | 
			
		||||
  ],
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "name": "package-json",
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/sindresorhus/package-json.git"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "xo && ava"
 | 
			
		||||
  },
 | 
			
		||||
  "version": "4.0.1"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										91
									
								
								express-server/node_modules/package-json/readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								express-server/node_modules/package-json/readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,91 @@
 | 
			
		||||
# package-json [](https://travis-ci.org/sindresorhus/package-json)
 | 
			
		||||
 | 
			
		||||
> Get metadata of a package from the npm registry
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Install
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ npm install --save package-json
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
const packageJson = require('package-json');
 | 
			
		||||
 | 
			
		||||
packageJson('ava').then(json => {
 | 
			
		||||
	console.log(json);
 | 
			
		||||
	//=> {name: 'ava', ...}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// Also works with scoped packages
 | 
			
		||||
packageJson('@sindresorhus/df').then(json => {
 | 
			
		||||
	console.log(json);
 | 
			
		||||
	//=> {name: '@sindresorhus/df', ...}
 | 
			
		||||
});
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## API
 | 
			
		||||
 | 
			
		||||
### packageJson(name, [options])
 | 
			
		||||
 | 
			
		||||
#### name
 | 
			
		||||
 | 
			
		||||
Type: `string`
 | 
			
		||||
 | 
			
		||||
Name of the package.
 | 
			
		||||
 | 
			
		||||
#### options
 | 
			
		||||
 | 
			
		||||
Type: `Object`
 | 
			
		||||
 | 
			
		||||
##### version
 | 
			
		||||
 | 
			
		||||
Type: `string`<br>
 | 
			
		||||
Default: `latest`
 | 
			
		||||
 | 
			
		||||
Package version such as `1.0.0` or a [dist tag](https://docs.npmjs.com/cli/dist-tag) such as `latest`.
 | 
			
		||||
 | 
			
		||||
The version can also be in any format supported by the [semver](https://github.com/npm/node-semver) module. For example:
 | 
			
		||||
 | 
			
		||||
- `1` - get the latest `1.x.x`
 | 
			
		||||
- `1.2` - get the latest `1.2.x`
 | 
			
		||||
- `^1.2.3` - get the latest `1.x.x` but at least `1.2.3`
 | 
			
		||||
- `~1.2.3` - get the latest `1.2.x` but at least `1.2.3`
 | 
			
		||||
 | 
			
		||||
##### fullMetadata
 | 
			
		||||
 | 
			
		||||
Type: `boolean`<br>
 | 
			
		||||
Default: `false`
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
##### allVersions
 | 
			
		||||
 | 
			
		||||
Type: `boolean`<br>
 | 
			
		||||
Default: `false`
 | 
			
		||||
 | 
			
		||||
Return the [main entry](https://registry.npmjs.org/ava) containing all versions.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Authentication
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Related
 | 
			
		||||
 | 
			
		||||
- [package-json-cli](https://github.com/sindresorhus/package-json-cli) - CLI for this module
 | 
			
		||||
- [latest-version](https://github.com/sindresorhus/latest-version) - Get the latest version of an npm package
 | 
			
		||||
- [pkg-versions](https://github.com/sindresorhus/pkg-versions) - Get the version numbers of a package from the npm registry
 | 
			
		||||
- [npm-keyword](https://github.com/sindresorhus/npm-keyword) - Get a list of npm packages with a certain keyword
 | 
			
		||||
- [npm-user](https://github.com/sindresorhus/npm-user) - Get user info of an npm user
 | 
			
		||||
- [npm-email](https://github.com/sindresorhus/npm-email) - Get the email of an npm user
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
 | 
			
		||||
		Reference in New Issue
	
	Block a user