tar.extract('./', { ignore: (name, header) => { fileNames.push(name);
https.get(DOWNLOAD_URL, (res) => { if (res.statusCode !== 200) { throw new Error(DOWNLOAD_URL + ' ' + res.statusMessage); } else { console.log(DOWNLOAD_URL + ' is finished downloaded.'); } if (EXT_NAME === '.zip') { res.pipe(unzip.Extract({ path: './tensorflow' })); } { res.pipe(gunzip()).pipe(tar.extract('./tensorflow')); } });
// go process.nextTick(function () { fs.createReadStream(opts.src) .on('error', error) .pipe(zlib.createGunzip(opts.gz) .on('error', error)) .pipe(tar.extract(opts.dest, opts.tar) .on('error', error) .on('finish', callback)); });
function copyRecursive (src, dst, cb) { pump(tar.pack(src), tar.extract(dst), cb) }
const extractTar = (parts, outdir) => { return new Promise((resolve, reject) => { const unpack = merge2(...parts.map(part => fs.createReadStream(part))) .pipe(zlib.createGunzip()) .pipe(tar.extract(outdir)); unpack.on('finish', () => resolve()); unpack.on('error', e => reject(e)); }); }
downloadExpandNodeSource() { const url = `https://nodejs.org/dist/v${this.version}/node-v${this.version}.tar.gz`; if(fs.existsSync(this.nodePath('configure'))) { log(`node version=${this.version} already downloaded and expanded, using it`); return Promise.resolve(); } return download(url, this.nodeSrcFile) .then(() => new Promise((resolve, reject) => { log(`expanding node source, file=${this.nodeSrcFile} ...`); fs.createReadStream(this.nodeSrcFile) .pipe(createGunzip()) .pipe(tar.extract(dirname(this.nodeSrcFile))) .on('error', reject) .on('finish', resolve) }) ); }
/** * Unpack the tarball into given directory. * * Used from https://github.com/ywangii/await-targz under MIT. * * @param {String} tarball Path for tarball to be extracted * @param {String} dir Path for the file to be extracted * @returns {Promise} A promise represents if unpack tarball succeeds or fails * @public */ async unpack(tarball, dir) { return { then: (fulfill, reject) => { const logOpts = { tarball, dir }; const readableStream = fs.createReadStream(tarball).once('error', this._logError(`fs.createReadStream`, logOpts)); const unzip = zlib.createUnzip().once('error', this._logError(`zlib.createUnzip`, logOpts)); const extract = tar.extract(dir).once('error', this._logError(`tar.extract`, logOpts)); pump(readableStream, unzip, extract, err => { if (err) return reject(err); fulfill(); }); } }; }
.pipe(tar.extract(prebuilds), { dmode: 0o755, fmode: 0o644 }) .on('finish', loop) .on('error', callback)
pump( hyperquest(downloadurl), gunzip(), tar.extract(__dirname), function (err) { if (err) {
/** * Unpack the tarball into given directory. * * Used from https://github.com/ywangii/await-targz under MIT. * * @param {String} tarball Path for tarball to be extracted * @param {String} dir Path for the file to be extracted * @returns {Promise} A promise represents if unpack tarball succeeds or fails * @public */ async unpack(tarball, dir) { return { then: (fulfill, reject) => { const logOpts = { tarball, dir }; const readableStream = fs.createReadStream(tarball).once('error', this._logError(`fs.createReadStream`, logOpts)); const unzip = zlib.createUnzip().once('error', this._logError(`zlib.createUnzip`, logOpts)); const extract = tar.extract(dir).once('error', this._logError(`tar.extract`, logOpts)); pump(readableStream, unzip, extract, err => { if (err) return reject(err); fulfill(); }); } }; }
pump( hyperquest(downloadurl), gunzip(), tar.extract(__dirname), function (err) { if (err) {