UNPKG

707 BJavaScriptView Raw
1import getRegistryUrl from 'registry-url';
2import getAuthToken from 'registry-auth-token';
3import npa from 'npm-package-arg';
4import getPackage from 'get-package-json-from-registry';
5import downloadTarball from 'download-package-tarball';
6
7const inject = getPackage => async ({arg, dir}) => {
8 const {scope} = npa(arg);
9 const registryUrl = getRegistryUrl(scope);
10 const authToken = getAuthToken(registryUrl);
11 const headers = authToken ? {
12 authorization: `Bearer ${authToken}`
13 } : {};
14
15 const pkg = await getPackage(arg);
16 const {dist: {tarball}} = pkg;
17
18 await downloadTarball({url: tarball, gotOpts: {headers}, dir});
19};
20
21module.exports = inject(getPackage);
22module.exports.inject = inject;