UNPKG

2.06 kBJavaScriptView Raw
1'use strict';
2
3var _registryUrl = require('registry-url');
4
5var _registryUrl2 = _interopRequireDefault(_registryUrl);
6
7var _registryAuthToken = require('registry-auth-token');
8
9var _registryAuthToken2 = _interopRequireDefault(_registryAuthToken);
10
11var _npmPackageArg = require('npm-package-arg');
12
13var _npmPackageArg2 = _interopRequireDefault(_npmPackageArg);
14
15var _getPackageJsonFromRegistry = require('get-package-json-from-registry');
16
17var _getPackageJsonFromRegistry2 = _interopRequireDefault(_getPackageJsonFromRegistry);
18
19var _downloadPackageTarball = require('download-package-tarball');
20
21var _downloadPackageTarball2 = _interopRequireDefault(_downloadPackageTarball);
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
26
27const inject = getPackage => (() => {
28 var _ref = _asyncToGenerator(function* (_ref2) {
29 let arg = _ref2.arg;
30 let dir = _ref2.dir;
31
32 var _npa = (0, _npmPackageArg2.default)(arg);
33
34 const scope = _npa.scope;
35
36 const registryUrl = (0, _registryUrl2.default)(scope);
37 const authToken = (0, _registryAuthToken2.default)(registryUrl);
38 const headers = authToken ? {
39 authorization: `Bearer ${ authToken }`
40 } : {};
41
42 const pkg = yield getPackage(arg);
43 const tarball = pkg.dist.tarball;
44
45
46 yield (0, _downloadPackageTarball2.default)({ url: tarball, gotOpts: { headers: headers }, dir: dir });
47 });
48
49 return function (_x) {
50 return _ref.apply(this, arguments);
51 };
52})();
53
54module.exports = inject(_getPackageJsonFromRegistry2.default);
55module.exports.inject = inject;
\No newline at end of file