kesla / download-package-tarball

Download a node package as a tarball, for example from github or npm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

download-package-tarball

Download a node package as a tarball, for example from github or npm

Installation

Download node at nodejs.org and install it, if you haven't already.

npm install download-package-tarball --save

Usage

/* eslint-disable import/no-extraneous-dependencies */

import download from 'download-package-tarball';

download({
  // a npm tarball url will work
  url: 'https://registry.npmjs.org/snappy/-/snappy-5.0.5.tgz',
  dir: '/dir/where/file/will/be/downloaded'
}).then(() => {
  console.log('file is now downloaded!');
}).catch(err => {
  console.log('oh crap the file could not be downloaded properly');
  console.log(err);
});

download({
  // ... but also a github tarball url
  url: 'https://api.github.com/repos/kesla/node-snappy/tarball/master',
  dir: '/dir/where/file/will/be/downloaded',
  // custom options that will be forwarded to got.stream(..., opts) can also be set
  gotOpts: {
    headers: {
      beep: 'boop'
    }
  }
}).then(() => {
  console.log('file is now downloaded!');
}).catch(err => {
  console.log('oh crap the file could not be downloaded properly');
  console.log(err);
});

download({
  // or a tar file somewhere
  url: 'http://link-to-tarball/file.tar',
  dir: '/dir/where/file/will/be/downloaded'
}).then(() => {
  console.log('file is now downloaded!');
}).catch(err => {
  console.log('oh crap the file could not be downloaded properly');
  console.log(err);
});

Tests

npm install
npm test

Dependencies

  • download-tarball: Download a tarball (optionally gzipped) to a folder & extract it in the process. Uses the wonderful & super quick tar-fs & gunzip-maybe libraries.
  • fs-extra: fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.
  • mkdirp-then: mkdirp as promised
  • npm-package-arg: Parse the things that can be arguments to npm install
  • rimraf-then: rimraf as promised
  • then-read-json: Read JSON file using promises
  • then-tmp: Promised version of the node.js tmp module.

Dev Dependencies

License

MIT

Generated by package-json-to-readme

About

Download a node package as a tarball, for example from github or npm

License:Other


Languages

Language:JavaScript 100.0%