diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-04-05 22:51:49 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-04-05 23:00:02 +0200 |
commit | e37effe4cec98688e75d770f4d0b7f68927e2b73 (patch) | |
tree | e7efa0fc8a2139f9aba4b66ea3f3613262f20cef /deps/npm/node_modules/tar/lib/replace.js | |
parent | 026f6b787a7a23597790f1f0b076c58a68c7c38b (diff) | |
download | android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.gz android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.bz2 android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.zip |
Revert "deps: upgrade npm to 5.8.0"
This reverts commit 25a816dcda7b1db0929501acfe13f2fe5119759b.
PR-URL: https://github.com/nodejs/node/pull/19837
Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'deps/npm/node_modules/tar/lib/replace.js')
-rw-r--r-- | deps/npm/node_modules/tar/lib/replace.js | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/deps/npm/node_modules/tar/lib/replace.js b/deps/npm/node_modules/tar/lib/replace.js index 44126d1f85..aac6b57fa8 100644 --- a/deps/npm/node_modules/tar/lib/replace.js +++ b/deps/npm/node_modules/tar/lib/replace.js @@ -5,7 +5,6 @@ const hlo = require('./high-level-opt.js') const Pack = require('./pack.js') const Parse = require('./parse.js') const fs = require('fs') -const fsm = require('fs-minipass') const t = require('./list.js') const path = require('path') @@ -40,8 +39,6 @@ const replaceSync = (opt, files) => { let threw = true let fd - let position - try { try { fd = fs.openSync(opt.file, 'r+') @@ -54,6 +51,7 @@ const replaceSync = (opt, files) => { const st = fs.fstatSync(fd) const headBuf = Buffer.alloc(512) + let position POSITION: for (position = 0; position < st.size; position += 512) { for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) { @@ -80,24 +78,21 @@ const replaceSync = (opt, files) => { if (opt.mtimeCache) opt.mtimeCache.set(h.path, h.mtime) } - threw = false - streamSync(opt, p, position, fd, files) + p.on('data', c => { + fs.writeSync(fd, c, 0, c.length, position) + position += c.length + }) + p.on('end', _ => fs.closeSync(fd)) + + addFilesSync(p, files) + threw = false } finally { if (threw) try { fs.closeSync(fd) } catch (er) {} } } -const streamSync = (opt, p, position, fd, files) => { - const stream = new fsm.WriteStreamSync(opt.file, { - fd: fd, - start: position - }) - p.pipe(stream) - addFilesSync(p, files) -} - const replace = (opt, files, cb) => { files = Array.from(files) const p = new Pack(opt) @@ -155,24 +150,21 @@ const replace = (opt, files, cb) => { const promise = new Promise((resolve, reject) => { p.on('error', reject) - let flag = 'r+' const onopen = (er, fd) => { - if (er && er.code === 'ENOENT' && flag === 'r+') { - flag = 'w+' - return fs.open(opt.file, flag, onopen) - } - - if (er) + if (er) { + if (er.code === 'ENOENT') + return fs.open(opt.file, 'w+', onopen) return reject(er) - + } fs.fstat(fd, (er, st) => { if (er) return reject(er) getPos(fd, st.size, (er, position) => { if (er) return reject(er) - const stream = new fsm.WriteStream(opt.file, { + const stream = fs.createWriteStream(opt.file, { fd: fd, + flags: 'r+', start: position }) p.pipe(stream) @@ -182,7 +174,7 @@ const replace = (opt, files, cb) => { }) }) } - fs.open(opt.file, flag, onopen) + fs.open(opt.file, 'r+', onopen) }) return cb ? promise.then(cb, cb) : promise |