diff --git a/.travis.yml b/.travis.yml index 85318e47..18681b43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,14 @@ language: node_js sudo: false + node_js: + - 10 - 8 - 6 - - 4 -notifications: - email: false + cache: directories: - $HOME/.npm + +notifications: + email: false diff --git a/README.md b/README.md index ea98e0b2..034e4865 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ tar.c( // or tar.create gzip: }, ['some', 'files', 'and', 'folders'] -).pipe(fs.createWriteStream('my-tarball.tgz') +).pipe(fs.createWriteStream('my-tarball.tgz')) ``` To replicate `tar xf my-tarball.tgz` you'd do: @@ -230,6 +230,9 @@ The following options are supported: Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. [Alias: `m`, `no-mtime`] +- `mtime` Set to a `Date` object to force a specific `mtime` for + everything added to the archive. Overridden by `noMtime`. + The following options are mostly internal, but can be modified in some advanced use cases, such as re-using caches between runs. @@ -534,7 +537,6 @@ The following options are supported: - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. - #### add(path) Adds an entry to the archive. Returns the Pack stream. @@ -784,6 +786,9 @@ The following options are supported: - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. +- `umask` Set to restrict the modes on the entries in the archive, + somewhat like how umask works on file creation. Defaults to + `process.umask()` on unix systems, or `0o22` on Windows. #### warn(message, data) diff --git a/lib/header.js b/lib/header.js index 31cde8b5..d29c3b99 100644 --- a/lib/header.js +++ b/lib/header.js @@ -6,13 +6,14 @@ const Buffer = require('./buffer.js') const types = require('./types.js') -const pathModule = require('path') +const pathModule = require('path').posix const large = require('./large-numbers.js') +const SLURP = Symbol('slurp') const TYPE = Symbol('type') class Header { - constructor (data, off) { + constructor (data, off, ex, gex) { this.cksumValid = false this.needPax = false this.nullBlock = false @@ -35,12 +36,12 @@ class Header { this.ctime = null if (Buffer.isBuffer(data)) - this.decode(data, off || 0) + this.decode(data, off || 0, ex, gex) else if (data) this.set(data) } - decode (buf, off) { + decode (buf, off, ex, gex) { if (!off) off = 0 @@ -55,6 +56,11 @@ class Header { this.mtime = decDate(buf, off + 136, 12) this.cksum = decNumber(buf, off + 148, 12) + // if we have extended or global extended headers, apply them now + // See https://github.com/npm/node-tar/pull/187 + this[SLURP](ex) + this[SLURP](gex, true) + // old tar versions marked dirs as a file with a trailing / this[TYPE] = decString(buf, off + 156, 1) if (this[TYPE] === '') @@ -101,6 +107,16 @@ class Header { this.nullBlock = true } + [SLURP] (ex, global) { + for (let k in ex) { + // we slurp in everything except for the path attribute in + // a global extended header, because that's weird. + if (ex[k] !== null && ex[k] !== undefined && + !(global && k === 'path')) + this[k] = ex[k] + } + } + encode (buf, off) { if (!buf) { buf = this.block = Buffer.alloc(512) diff --git a/lib/mode-fix.js b/lib/mode-fix.js new file mode 100644 index 00000000..3363a3b1 --- /dev/null +++ b/lib/mode-fix.js @@ -0,0 +1,14 @@ +'use strict' +module.exports = (mode, isDir) => { + mode &= 0o7777 + // if dirs are readable, then they should be listable + if (isDir) { + if (mode & 0o400) + mode |= 0o100 + if (mode & 0o40) + mode |= 0o10 + if (mode & 0o4) + mode |= 0o1 + } + return mode +} diff --git a/lib/pack.js b/lib/pack.js index 180e332e..857cea91 100644 --- a/lib/pack.js +++ b/lib/pack.js @@ -71,6 +71,7 @@ const Pack = warner(class Pack extends MiniPass { this.linkCache = opt.linkCache || new Map() this.statCache = opt.statCache || new Map() this.readdirCache = opt.readdirCache || new Map() + this[WRITEENTRYCLASS] = WriteEntry if (typeof opt.onwarn === 'function') this.on('warn', opt.onwarn) diff --git a/lib/parse.js b/lib/parse.js index 2a73b2bb..34e3cd70 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -29,6 +29,7 @@ const maxMetaEntrySize = 1024 * 1024 const Entry = require('./read-entry.js') const Pax = require('./pax.js') const zlib = require('minizlib') +const Buffer = require('./buffer.js') const gzipHeader = Buffer.from([0x1f, 0x8b]) const STATE = Symbol('state') @@ -101,7 +102,7 @@ module.exports = warner(class Parser extends EE { } [CONSUMEHEADER] (chunk, position) { - const header = new Header(chunk, position) + const header = new Header(chunk, position, this[EX], this[GEX]) if (header.nullBlock) this[EMIT]('nullBlock') diff --git a/lib/unpack.js b/lib/unpack.js index 3e1c527b..fc765096 100644 --- a/lib/unpack.js +++ b/lib/unpack.js @@ -12,6 +12,7 @@ const wc = require('./winchars.js') const ONENTRY = Symbol('onEntry') const CHECKFS = Symbol('checkFs') +const ISREUSABLE = Symbol('isReusable') const MAKEFS = Symbol('makeFs') const FILE = Symbol('file') const DIRECTORY = Symbol('directory') @@ -32,6 +33,45 @@ const SKIP = Symbol('skip') const DOCHOWN = Symbol('doChown') const UID = Symbol('uid') const GID = Symbol('gid') +const crypto = require('crypto') + +// Unlinks on Windows are not atomic. +// +// This means that if you have a file entry, followed by another +// file entry with an identical name, and you cannot re-use the file +// (because it's a hardlink, or because unlink:true is set, or it's +// Windows, which does not have useful nlink values), then the unlink +// will be committed to the disk AFTER the new file has been written +// over the old one, deleting the new file. +// +// To work around this, on Windows systems, we rename the file and then +// delete the renamed file. It's a sloppy kludge, but frankly, I do not +// know of a better way to do this, given windows' non-atomic unlink +// semantics. +// +// See: https://github.com/npm/node-tar/issues/183 +/* istanbul ignore next */ +const unlinkFile = (path, cb) => { + if (process.platform !== 'win32') + return fs.unlink(path, cb) + + const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex') + fs.rename(path, name, er => { + if (er) + return cb(er) + fs.unlink(name, cb) + }) +} + +/* istanbul ignore next */ +const unlinkFileSync = path => { + if (process.platform !== 'win32') + return fs.unlinkSync(path) + + const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex') + fs.renameSync(path, name) + fs.unlinkSync(name) +} // this.gid, entry.gid, this.processUid const uint32 = (a, b, c) => @@ -138,6 +178,12 @@ class Unpack extends Parser { if (parts.length < this.strip) return false entry.path = parts.slice(this.strip).join('/') + + if (entry.type === 'Link') { + const linkparts = entry.linkpath.split(/\/|\\/) + if (linkparts.length >= this.strip) + entry.linkpath = linkparts.slice(this.strip).join('/') + } } if (!this.preservePaths) { @@ -291,8 +337,10 @@ class Unpack extends Parser { }) const tx = this.transform ? this.transform(entry) || entry : entry - if (tx !== entry) + if (tx !== entry) { + tx.on('error', er => this[ONERROR](er, entry)) entry.pipe(tx) + } tx.pipe(stream) } @@ -351,6 +399,17 @@ class Unpack extends Parser { entry.resume() } + // Check if we can reuse an existing filesystem entry safely and + // overwrite it, rather than unlinking and recreating + // Windows doesn't report a useful nlink, so we just never reuse entries + [ISREUSABLE] (entry, st) { + return entry.type === 'File' && + !this.unlink && + st.isFile() && + st.nlink <= 1 && + process.platform !== 'win32' + } + // check if a thing is there, and if so, try to clobber it [CHECKFS] (entry) { this[PEND]() @@ -360,7 +419,7 @@ class Unpack extends Parser { fs.lstat(entry.absolute, (er, st) => { if (st && (this.keep || this.newer && st.mtime > entry.mtime)) this[SKIP](entry) - else if (er || (entry.type === 'File' && !this.unlink && st.isFile())) + else if (er || this[ISREUSABLE](entry, st)) this[MAKEFS](null, entry) else if (st.isDirectory()) { if (entry.type === 'Directory') { @@ -371,7 +430,7 @@ class Unpack extends Parser { } else fs.rmdir(entry.absolute, er => this[MAKEFS](er, entry)) } else - fs.unlink(entry.absolute, er => this[MAKEFS](er, entry)) + unlinkFile(entry.absolute, er => this[MAKEFS](er, entry)) }) }) } @@ -422,7 +481,7 @@ class UnpackSync extends Unpack { const st = fs.lstatSync(entry.absolute) if (this.keep || this.newer && st.mtime > entry.mtime) return this[SKIP](entry) - else if (entry.type === 'File' && !this.unlink && st.isFile()) + else if (this[ISREUSABLE](entry, st)) return this[MAKEFS](null, entry) else { try { @@ -433,7 +492,7 @@ class UnpackSync extends Unpack { } else fs.rmdirSync(entry.absolute) } else - fs.unlinkSync(entry.absolute) + unlinkFileSync(entry.absolute) return this[MAKEFS](null, entry) } catch (er) { return this[ONERROR](er, entry) @@ -461,8 +520,10 @@ class UnpackSync extends Unpack { return oner(er) } const tx = this.transform ? this.transform(entry) || entry : entry - if (tx !== entry) + if (tx !== entry) { + tx.on('error', er => this[ONERROR](er, entry)) entry.pipe(tx) + } tx.on('data', chunk => { try { diff --git a/lib/write-entry.js b/lib/write-entry.js index 7b43ebcd..63f74948 100644 --- a/lib/write-entry.js +++ b/lib/write-entry.js @@ -23,9 +23,12 @@ const ONREADLINK = Symbol('onreadlink') const OPENFILE = Symbol('openfile') const ONOPENFILE = Symbol('onopenfile') const CLOSE = Symbol('close') +const MODE = Symbol('mode') const warner = require('./warn-mixin.js') const winchars = require('./winchars.js') +const modeFix = require('./mode-fix.js') + const WriteEntry = warner(class WriteEntry extends MiniPass { constructor (p, opt) { opt = opt || {} @@ -104,6 +107,10 @@ const WriteEntry = warner(class WriteEntry extends MiniPass { } } + [MODE] (mode) { + return modeFix(mode, this.type === 'Directory') + } + [HEADER] () { if (this.type === 'Directory' && this.portable) this.noMtime = true @@ -113,7 +120,7 @@ const WriteEntry = warner(class WriteEntry extends MiniPass { linkpath: this.linkpath, // only the permissions and setuid/setgid/sticky bitflags // not the higher-order bits that specify file type - mode: this.stat.mode & 0o7777, + mode: this[MODE](this.stat.mode), uid: this.portable ? null : this.stat.uid, gid: this.portable ? null : this.stat.gid, size: this.stat.size, @@ -220,11 +227,21 @@ const WriteEntry = warner(class WriteEntry extends MiniPass { [ONREAD] (fd, buf, offset, length, pos, remain, blockRemain, bytesRead) { if (bytesRead <= 0 && remain > 0) { - const er = new Error('unexpected EOF') + const er = new Error('encountered unexpected EOF') + er.path = this.absolute + er.syscall = 'read' + er.code = 'EOF' + this[CLOSE](fd) + return this.emit('error', er) + } + + if (bytesRead > remain) { + const er = new Error('did not encounter expected EOF') er.path = this.absolute er.syscall = 'read' er.code = 'EOF' - this.emit('error', er) + this[CLOSE](fd) + return this.emit('error', er) } // null out the rest of the buffer, if we could fit the block padding @@ -312,9 +329,7 @@ const WriteEntryTar = warner(class WriteEntryTar extends MiniPass { this.noMtime = true this.path = readEntry.path - this.mode = readEntry.mode - if (this.mode) - this.mode = this.mode & 0o7777 + this.mode = this[MODE](readEntry.mode) this.uid = this.portable ? null : readEntry.uid this.gid = this.portable ? null : readEntry.gid this.uname = this.portable ? null : readEntry.uname @@ -376,6 +391,10 @@ const WriteEntryTar = warner(class WriteEntryTar extends MiniPass { readEntry.pipe(this) } + [MODE] (mode) { + return modeFix(mode, this.type === 'Directory') + } + write (data) { const writeLen = data.length if (writeLen > this.blockRemain) diff --git a/package-lock.json b/package-lock.json index db9766dd..2c50d03d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "tar", - "version": "4.4.1", + "version": "4.4.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -10,10 +10,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ansi-regex": { @@ -28,7 +28,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "asn1": { @@ -56,9 +56,9 @@ "dev": true }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", "dev": true }, "balanced-match": { @@ -74,7 +74,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "bind-obj-methods": { @@ -84,12 +84,13 @@ "dev": true }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "bluebird": { @@ -98,25 +99,44 @@ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "dev": true, - "requires": { - "hoek": "4.2.1" - } - }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -124,15 +144,15 @@ "dev": true }, "chmodr": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.0.2.tgz", - "integrity": "sha1-BGYrky0PAuxm3qorDqQoEZaOPrk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.2.0.tgz", + "integrity": "sha512-Y5uI7Iq/Az6HgJEL6pdw7THVd7jbVOTPwsmcPOBjQL8e3N+pz872kzK5QxYGEy21iRys+iHWV0UZQXDFJo1hyA==", "dev": true }, "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, "clean-yaml-object": { "version": "0.1.0", @@ -158,7 +178,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "concat-map": { @@ -174,16 +194,16 @@ "dev": true }, "coveralls": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.0.tgz", - "integrity": "sha512-ZppXR9y5PraUOrf/DzHJY6gzNUhXYE3b9D43xEXs4QYZ7/Oe0Gy0CS+IPKWFfvQFXB3RG9QduaQUFehzSpGAFw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.1.tgz", + "integrity": "sha512-FAzXwiDOYLGDWH+zgoIA+8GbWv50hlx+kpEJyvzLKOdnIBv9uWoVl4DhqGgyUHpiRjAlF8KYZSipWXYtllWH6Q==", "dev": true, "requires": { - "js-yaml": "3.11.0", - "lcov-parse": "0.0.10", - "log-driver": "1.2.7", - "minimist": "1.2.0", - "request": "2.85.0" + "js-yaml": "^3.6.1", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.5", + "minimist": "^1.2.0", + "request": "^2.79.0" }, "dependencies": { "minimist": { @@ -200,28 +220,8 @@ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "4.1.2", - "which": "1.3.0" - } - }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "dev": true, - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.2.1" - } - } + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "dashdash": { @@ -230,7 +230,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "debug": { @@ -261,7 +261,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "end-of-stream": { @@ -270,7 +270,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "escape-string-regexp": { @@ -321,8 +321,8 @@ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "forever-agent": { @@ -337,11 +337,17 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", @@ -353,7 +359,7 @@ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -374,7 +380,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -383,12 +389,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -409,37 +415,19 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "dev": true, - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "imurmurhash": { @@ -454,8 +442,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -494,8 +482,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -548,13 +536,13 @@ "dev": true }, "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" }, "dependencies": { "yallist": { @@ -577,7 +565,7 @@ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "minimatch": { @@ -586,7 +574,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -595,20 +583,20 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz", + "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==", "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz", + "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==", "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -632,38 +620,38 @@ "dev": true }, "nyc": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.6.0.tgz", - "integrity": "sha512-ZaXCh0wmbk2aSBH2B5hZGGvK2s9aM8DIm2rVY+BG3Fx8tUS+bpJSswUVZqOD1YfCmnYRFSqgYJSr7UeeUcW0jg==", + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.8.0.tgz", + "integrity": "sha512-PUFq1PSsx5OinSk5g5aaZygcDdI3QQT5XUlbR9QRMihtMS6w0Gm8xj4BxmKeeAlpQXC5M2DIhH16Y+KejceivQ==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.3.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -671,9 +659,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -696,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -705,12 +693,9 @@ "dev": true }, "arr-diff": { - "version": "2.0.0", + "version": "4.0.0", "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } + "dev": true }, "arr-flatten": { "version": "1.1.0", @@ -723,7 +708,7 @@ "dev": true }, "array-unique": { - "version": "0.2.1", + "version": "0.3.2", "bundled": true, "dev": true }, @@ -743,7 +728,7 @@ "dev": true }, "atob": { - "version": "2.0.3", + "version": "2.1.1", "bundled": true, "dev": true }, @@ -752,9 +737,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -762,14 +747,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -777,7 +762,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -785,8 +770,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -794,11 +779,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -806,15 +791,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.3", - "lodash": "4.17.5" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -822,10 +807,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -843,13 +828,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -857,13 +842,44 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true } } }, @@ -872,18 +888,35 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { - "version": "1.8.5", + "version": "2.3.2", "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "builtin-modules": { @@ -896,15 +929,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "dependencies": { "isobject": { @@ -919,9 +952,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -936,8 +969,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -945,11 +978,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "class-utils": { @@ -957,10 +990,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -968,64 +1001,13 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true - }, - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true } } }, @@ -1035,8 +1017,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -1058,8 +1040,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -1088,7 +1070,7 @@ "dev": true }, "core-js": { - "version": "2.5.3", + "version": "2.5.6", "bundled": true, "dev": true }, @@ -1097,8 +1079,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.2", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -1129,7 +1111,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -1137,14 +1119,45 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true } } }, @@ -1153,7 +1166,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -1161,7 +1174,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -1179,13 +1192,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -1193,27 +1206,43 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.2", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, "expand-brackets": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", + "version": "2.1.4", "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "extend-shallow": { @@ -1221,8 +1250,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -1230,34 +1259,94 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "extglob": { - "version": "0.3.2", + "version": "2.0.4", "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, - "filename-regex": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, "fill-range": { - "version": "2.2.3", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "find-cache-dir": { @@ -1265,9 +1354,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -1275,7 +1364,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -1283,21 +1372,13 @@ "bundled": true, "dev": true }, - "for-own": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, "foreground-child": { "version": "1.5.6", "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -1305,7 +1386,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -1333,29 +1414,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-glob": "2.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "globals": { @@ -1373,10 +1437,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -1384,7 +1448,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -1394,7 +1458,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -1407,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -1424,8 +1488,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -1433,7 +1497,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1441,7 +1505,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1451,7 +1515,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1471,8 +1535,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1481,11 +1545,11 @@ "dev": true }, "invariant": { - "version": "2.2.3", + "version": "2.2.4", "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -1494,18 +1558,11 @@ "dev": true }, "is-accessor-descriptor": { - "version": "1.0.0", + "version": "0.1.6", "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -1523,70 +1580,45 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { - "version": "1.0.0", + "version": "0.1.4", "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } + "kind-of": "^3.0.2" } }, "is-descriptor": { - "version": "1.0.2", + "version": "0.1.6", "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { - "version": "6.0.2", + "version": "5.1.0", "bundled": true, "dev": true } } }, - "is-dotfile": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "bundled": true, "dev": true }, - "is-extglob": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "is-finite": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -1594,20 +1626,12 @@ "bundled": true, "dev": true }, - "is-glob": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, "is-number": { - "version": "2.1.0", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -1615,7 +1639,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -1630,7 +1654,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -1640,16 +1664,6 @@ } } }, - "is-posix-bracket": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, "is-stream": { "version": "1.1.0", "bundled": true, @@ -1676,12 +1690,9 @@ "dev": true }, "isobject": { - "version": "2.1.0", + "version": "3.0.1", "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", @@ -1693,7 +1704,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -1701,13 +1712,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -1715,10 +1726,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -1726,7 +1737,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1736,11 +1747,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -1754,11 +1765,11 @@ } }, "istanbul-reports": { - "version": "1.3.0", + "version": "1.4.0", "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -1776,7 +1787,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -1790,7 +1801,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1798,11 +1809,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -1810,8 +1821,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1822,7 +1833,7 @@ } }, "lodash": { - "version": "4.17.5", + "version": "4.17.10", "bundled": true, "dev": true }, @@ -1836,16 +1847,16 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { - "version": "4.1.2", + "version": "4.1.3", "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -1858,7 +1869,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -1866,7 +1877,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1879,7 +1890,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1887,7 +1898,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -1898,23 +1909,30 @@ } }, "micromatch": { - "version": "2.3.11", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, "mimic-fn": { @@ -1927,7 +1945,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1940,8 +1958,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -1949,7 +1967,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -1972,18 +1990,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { @@ -2003,23 +2021,15 @@ } } }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "normalize-path": { - "version": "2.1.1", + "normalize-package-data": { + "version": "2.4.0", "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -2027,7 +2037,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -2045,9 +2055,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -2055,40 +2065,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } + "is-descriptor": "^0.1.0" } } } @@ -2098,7 +2075,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -2108,21 +2085,12 @@ } } }, - "object.omit": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, "object.pick": { "version": "1.3.0", "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -2137,7 +2105,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -2145,8 +2113,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -2159,9 +2127,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -2174,7 +2142,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -2182,7 +2150,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -2190,23 +2158,12 @@ "bundled": true, "dev": true }, - "parse-glob": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, "parse-json": { "version": "2.2.0", "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -2219,7 +2176,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -2242,9 +2199,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2262,7 +2219,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -2270,7 +2227,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -2278,8 +2235,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -2289,61 +2246,19 @@ "bundled": true, "dev": true }, - "preserve": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, "pseudomap": { "version": "1.0.2", "bundled": true, "dev": true }, - "randomatic": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, "read-pkg": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -2351,8 +2266,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -2360,8 +2275,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -2371,28 +2286,15 @@ "bundled": true, "dev": true }, - "regex-cache": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, "regex-not": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, "repeat-element": { "version": "1.1.2", "bundled": true, @@ -2408,7 +2310,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -2442,7 +2344,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -2450,7 +2352,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -2458,7 +2360,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -2476,10 +2378,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -2487,7 +2389,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2497,7 +2399,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -2520,14 +2422,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -2535,7 +2437,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2543,84 +2445,64 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } - }, - "is-accessor-descriptor": { - "version": "0.1.6", + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "is-descriptor": "^1.0.0" } }, - "is-data-descriptor": { - "version": "0.1.4", + "is-accessor-descriptor": { + "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "kind-of": "^6.0.0" } }, - "is-descriptor": { - "version": "0.1.6", + "is-data-descriptor": { + "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "kind-of": "^6.0.0" } }, - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", + "is-descriptor": { + "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true } } }, @@ -2629,7 +2511,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -2642,11 +2524,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -2659,12 +2541,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -2672,8 +2554,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -2686,8 +2568,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -2700,7 +2582,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -2708,8 +2590,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -2717,59 +2599,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } - }, - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true } } }, @@ -2778,8 +2609,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -2792,7 +2623,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2802,7 +2633,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -2810,7 +2641,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -2828,11 +2659,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.9", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -2846,38 +2677,28 @@ "dev": true }, "braces": { - "version": "2.3.1", + "version": "2.3.2", "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "kind-of": "6.0.2", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2887,13 +2708,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -2901,7 +2722,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2909,7 +2730,43 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-descriptor": { @@ -2917,9 +2774,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -2934,14 +2791,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -2949,7 +2806,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -2957,7 +2814,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2967,10 +2824,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -2978,45 +2835,35 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "is-accessor-descriptor": { - "version": "0.1.6", + "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "kind-of": "^6.0.0" } }, "is-data-descriptor": { - "version": "0.1.4", + "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -3024,7 +2871,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -3032,7 +2879,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -3048,23 +2895,23 @@ "dev": true }, "micromatch": { - "version": "3.1.9", + "version": "3.1.10", "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.1", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } @@ -3079,7 +2926,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -3087,10 +2934,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -3098,8 +2945,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -3107,7 +2954,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -3123,9 +2970,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -3134,9 +2981,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -3153,10 +3000,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -3164,7 +3011,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -3172,10 +3019,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -3185,8 +3032,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -3194,9 +3041,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -3231,7 +3078,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -3246,8 +3093,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -3255,7 +3102,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -3279,8 +3126,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -3288,7 +3135,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -3296,9 +3143,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -3313,9 +3160,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -3333,18 +3180,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.0.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -3358,13 +3205,13 @@ "dev": true }, "cliui": { - "version": "4.0.0", + "version": "4.1.0", "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "strip-ansi": { @@ -3372,7 +3219,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs-parser": { @@ -3380,7 +3227,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -3390,7 +3237,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -3414,7 +3261,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "opener": { @@ -3441,7 +3288,7 @@ "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", "dev": true, "requires": { - "own-or": "1.0.0" + "own-or": "^1.0.0" } }, "path-is-absolute": { @@ -3457,9 +3304,9 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "pseudomap": { @@ -3469,13 +3316,13 @@ "dev": true }, "pump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "punycode": { @@ -3485,54 +3332,52 @@ "dev": true }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "request": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", - "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "rimraf": { @@ -3541,13 +3386,13 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "signal-exit": { "version": "3.0.2", @@ -3555,15 +3400,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "dev": true, - "requires": { - "hoek": "4.2.1" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -3571,12 +3407,13 @@ "dev": true }, "source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { @@ -3591,14 +3428,14 @@ "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "dev": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -3608,64 +3445,58 @@ "dev": true }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "tap": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/tap/-/tap-11.1.3.tgz", - "integrity": "sha512-DwiAZiQWzALkGEbhhbdi+DqT2nqmqFAJZRvVSnHBpA8khjf7+6kcO76Bx39JA7kclIfQ9Uro1rO4dgP1AWUovw==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", + "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", "dev": true, "requires": { - "bind-obj-methods": "2.0.0", - "bluebird": "3.5.1", - "clean-yaml-object": "0.1.0", - "color-support": "1.1.3", - "coveralls": "3.0.0", - "foreground-child": "1.5.6", - "fs-exists-cached": "1.0.0", - "function-loop": "1.0.1", - "glob": "7.1.2", - "isexe": "2.0.0", - "js-yaml": "3.11.0", - "minipass": "2.2.4", - "mkdirp": "0.5.1", - "nyc": "11.6.0", - "opener": "1.4.3", - "os-homedir": "1.0.2", - "own-or": "1.0.0", - "own-or-env": "1.0.1", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "source-map-support": "0.5.4", - "stack-utils": "1.0.1", - "tap-mocha-reporter": "3.0.7", - "tap-parser": "7.0.0", - "tmatch": "3.1.0", - "trivial-deferred": "1.0.1", - "tsame": "1.1.2", - "write-file-atomic": "2.3.0", - "yapool": "1.0.0" + "bind-obj-methods": "^2.0.0", + "bluebird": "^3.5.1", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.1", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.0.0", + "isexe": "^2.0.0", + "js-yaml": "^3.11.0", + "minipass": "^2.3.0", + "mkdirp": "^0.5.1", + "nyc": "^11.8.0", + "opener": "^1.4.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.6", + "stack-utils": "^1.0.0", + "tap-mocha-reporter": "^3.0.7", + "tap-parser": "^7.0.0", + "tmatch": "^4.0.0", + "trivial-deferred": "^1.0.1", + "tsame": "^2.0.0", + "write-file-atomic": "^2.3.0", + "yapool": "^1.0.0" } }, "tap-mocha-reporter": { @@ -3674,15 +3505,15 @@ "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", "dev": true, "requires": { - "color-support": "1.1.3", - "debug": "2.6.9", - "diff": "1.4.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "js-yaml": "3.11.0", - "readable-stream": "2.3.3", - "tap-parser": "5.4.0", - "unicode-length": "1.0.3" + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "readable-stream": "^2.1.5", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" }, "dependencies": { "tap-parser": { @@ -3691,9 +3522,9 @@ "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", "dev": true, "requires": { - "events-to-array": "1.1.2", - "js-yaml": "3.11.0", - "readable-stream": "2.3.3" + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "readable-stream": "^2" } } } @@ -3704,39 +3535,48 @@ "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", "dev": true, "requires": { - "events-to-array": "1.1.2", - "js-yaml": "3.11.0", - "minipass": "2.2.4" + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" } }, "tar-fs": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", - "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", "dev": true, "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.2", - "tar-stream": "1.5.5" + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" } }, "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.1", - "readable-stream": "2.3.3", - "xtend": "4.0.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } }, "tmatch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-3.1.0.tgz", - "integrity": "sha512-W3MSATOCN4pVu2qFxmJLIArSifeSOFqnfx9hiUaVgOmeRoI2NbU7RNga+6G+L8ojlFeQge+ZPCclWyUpQ8UeNQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", + "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", + "dev": true + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "tough-cookie": { @@ -3745,7 +3585,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "trivial-deferred": { @@ -3755,9 +3595,9 @@ "dev": true }, "tsame": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/tsame/-/tsame-1.1.2.tgz", - "integrity": "sha512-ovCs24PGjmByVPr9tSIOs/yjUX9sJl0grEmOsj9dZA/UknQkgPOKcUqM84aSCvt9awHuhc/boMzTg3BHFalxWw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", + "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", "dev": true }, "tunnel-agent": { @@ -3766,7 +3606,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -3782,8 +3622,8 @@ "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", "dev": true, "requires": { - "punycode": "1.4.1", - "strip-ansi": "3.0.1" + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" } }, "util-deprecate": { @@ -3804,9 +3644,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "which": { @@ -3815,7 +3655,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "wrappy": { @@ -3830,9 +3670,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xtend": { diff --git a/package.json b/package.json index da83cc9d..26606954 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "name": "tar", "description": "tar for node", - "version": "4.4.1", + "version": "4.4.8", "repository": { "type": "git", "url": "https://github.com/npm/node-tar.git" @@ -16,23 +16,23 @@ "bench": "for i in benchmarks/*/*.js; do echo $i; for j in {1..5}; do node $i || break; done; done" }, "dependencies": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" }, "devDependencies": { - "chmodr": "^1.0.2", + "chmodr": "^1.2.0", "end-of-stream": "^1.4.1", "events-to-array": "^1.1.2", "mutate-fs": "^2.1.1", "rimraf": "^2.6.2", - "tap": "^11.1.3", - "tar-fs": "^1.16.0", - "tar-stream": "^1.5.2" + "tap": "^12.0.1", + "tar-fs": "^1.16.3", + "tar-stream": "^1.6.2" }, "license": "ISC", "engines": { diff --git a/scripts/generate-parse-fixtures.js b/scripts/generate-parse-fixtures.js index af3476c3..30a2180b 100644 --- a/scripts/generate-parse-fixtures.js +++ b/scripts/generate-parse-fixtures.js @@ -4,7 +4,7 @@ const fs = require('fs') const path = require('path') const tardir = path.resolve(__dirname, '../test/fixtures/tars') const parsedir = path.resolve(__dirname, '../test/fixtures/parse') -const maxMetaOpt = [50, null] +const maxMetaOpt = [250, null] const filterOpt = [ true, false ] const strictOpt = [ true, false ] diff --git a/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt b/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt new file mode 100644 index 00000000..578ff710 --- /dev/null +++ b/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt @@ -0,0 +1,3 @@ +Behold! I am a text file and NOT a tar header. + +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx diff --git a/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt b/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt new file mode 100644 index 00000000..578ff710 --- /dev/null +++ b/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt @@ -0,0 +1,3 @@ +Behold! I am a text file and NOT a tar header. + +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx diff --git a/test/fixtures/files/strip-dir/1/2/3/hardlink-3 b/test/fixtures/files/strip-dir/1/2/3/hardlink-3 new file mode 100644 index 00000000..84c7ae52 --- /dev/null +++ b/test/fixtures/files/strip-dir/1/2/3/hardlink-3 @@ -0,0 +1 @@ +this link is like diamond diff --git a/test/fixtures/files/strip-dir/hardlink-1 b/test/fixtures/files/strip-dir/hardlink-1 new file mode 100644 index 00000000..84c7ae52 --- /dev/null +++ b/test/fixtures/files/strip-dir/hardlink-1 @@ -0,0 +1 @@ +this link is like diamond diff --git a/test/fixtures/files/strip-dir/hardlink-2 b/test/fixtures/files/strip-dir/hardlink-2 new file mode 100644 index 00000000..84c7ae52 --- /dev/null +++ b/test/fixtures/files/strip-dir/hardlink-2 @@ -0,0 +1 @@ +this link is like diamond diff --git a/test/fixtures/files/strip-dir/symlink b/test/fixtures/files/strip-dir/symlink new file mode 120000 index 00000000..c30d3102 --- /dev/null +++ b/test/fixtures/files/strip-dir/symlink @@ -0,0 +1 @@ +hardlink-2 \ No newline at end of file diff --git a/test/fixtures/parse/bad-cksum--meta-50-filter-strict.json b/test/fixtures/parse/bad-cksum--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/bad-cksum--meta-50-filter-strict.json rename to test/fixtures/parse/bad-cksum--meta-250-filter-strict.json diff --git a/test/fixtures/parse/bad-cksum--meta-50-filter.json b/test/fixtures/parse/bad-cksum--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/bad-cksum--meta-50-filter.json rename to test/fixtures/parse/bad-cksum--meta-250-filter.json diff --git a/test/fixtures/parse/bad-cksum--meta-50-strict.json b/test/fixtures/parse/bad-cksum--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/bad-cksum--meta-50-strict.json rename to test/fixtures/parse/bad-cksum--meta-250-strict.json diff --git a/test/fixtures/parse/bad-cksum--meta-50.json b/test/fixtures/parse/bad-cksum--meta-250.json similarity index 100% rename from test/fixtures/parse/bad-cksum--meta-50.json rename to test/fixtures/parse/bad-cksum--meta-250.json diff --git a/test/fixtures/parse/body-byte-counts--meta-50-filter-strict.json b/test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/body-byte-counts--meta-50-filter-strict.json rename to test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json diff --git a/test/fixtures/parse/body-byte-counts--meta-50-filter.json b/test/fixtures/parse/body-byte-counts--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/body-byte-counts--meta-50-filter.json rename to test/fixtures/parse/body-byte-counts--meta-250-filter.json diff --git a/test/fixtures/parse/body-byte-counts--meta-50-strict.json b/test/fixtures/parse/body-byte-counts--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/body-byte-counts--meta-50-strict.json rename to test/fixtures/parse/body-byte-counts--meta-250-strict.json diff --git a/test/fixtures/parse/body-byte-counts--meta-50.json b/test/fixtures/parse/body-byte-counts--meta-250.json similarity index 100% rename from test/fixtures/parse/body-byte-counts--meta-50.json rename to test/fixtures/parse/body-byte-counts--meta-250.json diff --git a/test/fixtures/parse/dir--meta-50-filter-strict.json b/test/fixtures/parse/dir--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/dir--meta-50-filter-strict.json rename to test/fixtures/parse/dir--meta-250-filter-strict.json diff --git a/test/fixtures/parse/dir--meta-50-filter.json b/test/fixtures/parse/dir--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/dir--meta-50-filter.json rename to test/fixtures/parse/dir--meta-250-filter.json diff --git a/test/fixtures/parse/dir--meta-50-strict.json b/test/fixtures/parse/dir--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/dir--meta-50-strict.json rename to test/fixtures/parse/dir--meta-250-strict.json diff --git a/test/fixtures/parse/dir--meta-50.json b/test/fixtures/parse/dir--meta-250.json similarity index 100% rename from test/fixtures/parse/dir--meta-50.json rename to test/fixtures/parse/dir--meta-250.json diff --git a/test/fixtures/parse/emptypax--meta-50-strict.json b/test/fixtures/parse/emptypax--meta-250-filter-strict.json similarity index 64% rename from test/fixtures/parse/emptypax--meta-50-strict.json rename to test/fixtures/parse/emptypax--meta-250-filter-strict.json index 7e593753..406e08cb 100644 --- a/test/fixtures/parse/emptypax--meta-50-strict.json +++ b/test/fixtures/parse/emptypax--meta-250-filter-strict.json @@ -1,51 +1,33 @@ [ [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ - "entry", + "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:33:21.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, - "ignore": false, + "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, @@ -54,8 +36,8 @@ "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:33:21.000Z", + "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/emptypax--meta-50.json b/test/fixtures/parse/emptypax--meta-250-filter.json similarity index 64% rename from test/fixtures/parse/emptypax--meta-50.json rename to test/fixtures/parse/emptypax--meta-250-filter.json index 7e593753..406e08cb 100644 --- a/test/fixtures/parse/emptypax--meta-50.json +++ b/test/fixtures/parse/emptypax--meta-250-filter.json @@ -1,51 +1,33 @@ [ [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ - "entry", + "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:33:21.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, - "ignore": false, + "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, @@ -54,8 +36,8 @@ "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:33:21.000Z", + "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/emptypax--meta-50-filter-strict.json b/test/fixtures/parse/emptypax--meta-250-strict.json similarity index 63% rename from test/fixtures/parse/emptypax--meta-50-filter-strict.json rename to test/fixtures/parse/emptypax--meta-250-strict.json index 3e55b7e7..45453890 100644 --- a/test/fixtures/parse/emptypax--meta-50-filter-strict.json +++ b/test/fixtures/parse/emptypax--meta-250-strict.json @@ -1,51 +1,33 @@ [ [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ - "ignoredEntry", + "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:33:21.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, - "ignore": true, + "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, @@ -54,8 +36,8 @@ "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:33:21.000Z", + "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/emptypax--meta-50-filter.json b/test/fixtures/parse/emptypax--meta-250.json similarity index 63% rename from test/fixtures/parse/emptypax--meta-50-filter.json rename to test/fixtures/parse/emptypax--meta-250.json index 3e55b7e7..45453890 100644 --- a/test/fixtures/parse/emptypax--meta-50-filter.json +++ b/test/fixtures/parse/emptypax--meta-250.json @@ -1,51 +1,33 @@ [ [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ - "ignoredEntry", + "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:33:21.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, - "ignore": true, + "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, @@ -54,8 +36,8 @@ "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:33:21.000Z", + "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/file--meta-50-filter-strict.json b/test/fixtures/parse/file--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/file--meta-50-filter-strict.json rename to test/fixtures/parse/file--meta-250-filter-strict.json diff --git a/test/fixtures/parse/file--meta-50-filter.json b/test/fixtures/parse/file--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/file--meta-50-filter.json rename to test/fixtures/parse/file--meta-250-filter.json diff --git a/test/fixtures/parse/file--meta-50-strict.json b/test/fixtures/parse/file--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/file--meta-50-strict.json rename to test/fixtures/parse/file--meta-250-strict.json diff --git a/test/fixtures/parse/file--meta-50.json b/test/fixtures/parse/file--meta-250.json similarity index 100% rename from test/fixtures/parse/file--meta-50.json rename to test/fixtures/parse/file--meta-250.json diff --git a/test/fixtures/parse/global-header--meta-50-filter-strict.json b/test/fixtures/parse/global-header--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/global-header--meta-50-filter-strict.json rename to test/fixtures/parse/global-header--meta-250-filter-strict.json diff --git a/test/fixtures/parse/global-header--meta-50-filter.json b/test/fixtures/parse/global-header--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/global-header--meta-50-filter.json rename to test/fixtures/parse/global-header--meta-250-filter.json diff --git a/test/fixtures/parse/global-header--meta-50-strict.json b/test/fixtures/parse/global-header--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/global-header--meta-50-strict.json rename to test/fixtures/parse/global-header--meta-250-strict.json diff --git a/test/fixtures/parse/global-header--meta-50.json b/test/fixtures/parse/global-header--meta-250.json similarity index 100% rename from test/fixtures/parse/global-header--meta-50.json rename to test/fixtures/parse/global-header--meta-250.json diff --git a/test/fixtures/parse/links--meta-50-filter-strict.json b/test/fixtures/parse/links--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/links--meta-50-filter-strict.json rename to test/fixtures/parse/links--meta-250-filter-strict.json diff --git a/test/fixtures/parse/links--meta-50-filter.json b/test/fixtures/parse/links--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/links--meta-50-filter.json rename to test/fixtures/parse/links--meta-250-filter.json diff --git a/test/fixtures/parse/links--meta-50-strict.json b/test/fixtures/parse/links--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/links--meta-50-strict.json rename to test/fixtures/parse/links--meta-250-strict.json diff --git a/test/fixtures/parse/links--meta-50.json b/test/fixtures/parse/links--meta-250.json similarity index 100% rename from test/fixtures/parse/links--meta-50.json rename to test/fixtures/parse/links--meta-250.json diff --git a/test/fixtures/parse/links-invalid--meta-50-filter-strict.json b/test/fixtures/parse/links-invalid--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/links-invalid--meta-50-filter-strict.json rename to test/fixtures/parse/links-invalid--meta-250-filter-strict.json diff --git a/test/fixtures/parse/links-invalid--meta-50-filter.json b/test/fixtures/parse/links-invalid--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/links-invalid--meta-50-filter.json rename to test/fixtures/parse/links-invalid--meta-250-filter.json diff --git a/test/fixtures/parse/links-invalid--meta-50-strict.json b/test/fixtures/parse/links-invalid--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/links-invalid--meta-50-strict.json rename to test/fixtures/parse/links-invalid--meta-250-strict.json diff --git a/test/fixtures/parse/links-invalid--meta-50.json b/test/fixtures/parse/links-invalid--meta-250.json similarity index 100% rename from test/fixtures/parse/links-invalid--meta-50.json rename to test/fixtures/parse/links-invalid--meta-250.json diff --git a/test/fixtures/parse/links-strip--filter-strict.json b/test/fixtures/parse/links-strip--filter-strict.json new file mode 100644 index 00000000..9a640e0b --- /dev/null +++ b/test/fixtures/parse/links-strip--filter-strict.json @@ -0,0 +1,200 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--filter.json b/test/fixtures/parse/links-strip--filter.json new file mode 100644 index 00000000..9a640e0b --- /dev/null +++ b/test/fixtures/parse/links-strip--filter.json @@ -0,0 +1,200 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--meta-250-filter-strict.json b/test/fixtures/parse/links-strip--meta-250-filter-strict.json new file mode 100644 index 00000000..9a640e0b --- /dev/null +++ b/test/fixtures/parse/links-strip--meta-250-filter-strict.json @@ -0,0 +1,200 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--meta-250-filter.json b/test/fixtures/parse/links-strip--meta-250-filter.json new file mode 100644 index 00000000..9a640e0b --- /dev/null +++ b/test/fixtures/parse/links-strip--meta-250-filter.json @@ -0,0 +1,200 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": true, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--meta-250-strict.json b/test/fixtures/parse/links-strip--meta-250-strict.json new file mode 100644 index 00000000..17e5397d --- /dev/null +++ b/test/fixtures/parse/links-strip--meta-250-strict.json @@ -0,0 +1,200 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--meta-250.json b/test/fixtures/parse/links-strip--meta-250.json new file mode 100644 index 00000000..17e5397d --- /dev/null +++ b/test/fixtures/parse/links-strip--meta-250.json @@ -0,0 +1,200 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip--strict.json b/test/fixtures/parse/links-strip--strict.json new file mode 100644 index 00000000..17e5397d --- /dev/null +++ b/test/fixtures/parse/links-strip--strict.json @@ -0,0 +1,200 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/links-strip.json b/test/fixtures/parse/links-strip.json new file mode 100644 index 00000000..17e5397d --- /dev/null +++ b/test/fixtures/parse/links-strip.json @@ -0,0 +1,200 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/", + "mode": 493, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 4708, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-1", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 26, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 5644, + "linkpath": "", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/hardlink-2", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7553, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Link", + "meta": false, + "ignore": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "strip-dir/hardlink-1", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/1/2/3/hardlink-3", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 7845, + "linkpath": "strip-dir/hardlink-1", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "uname": "", + "gname": "", + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "atime": null, + "ctime": null, + "linkpath": "hardlink-2", + "header": { + "cksumValid": true, + "needPax": false, + "path": "strip-dir/symlink", + "mode": 420, + "uid": 0, + "gid": 0, + "size": 0, + "mtime": "2018-11-06T01:45:25.000Z", + "cksum": 6417, + "linkpath": "hardlink-2", + "uname": "", + "gname": "", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/long-paths--filter-strict.json b/test/fixtures/parse/long-paths--filter-strict.json index c50db7bb..350a2bce 100644 --- a/test/fixtures/parse/long-paths--filter-strict.json +++ b/test/fixtures/parse/long-paths--filter-strict.json @@ -81,7 +81,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -141,7 +141,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1215,7 +1215,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1275,7 +1275,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-paths--filter.json b/test/fixtures/parse/long-paths--filter.json index c50db7bb..350a2bce 100644 --- a/test/fixtures/parse/long-paths--filter.json +++ b/test/fixtures/parse/long-paths--filter.json @@ -81,7 +81,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -141,7 +141,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1215,7 +1215,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1275,7 +1275,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-paths--meta-50-filter-strict.json b/test/fixtures/parse/long-paths--meta-250-filter-strict.json similarity index 93% rename from test/fixtures/parse/long-paths--meta-50-filter-strict.json rename to test/fixtures/parse/long-paths--meta-250-filter-strict.json index 09b10197..bf2babab 100644 --- a/test/fixtures/parse/long-paths--meta-50-filter-strict.json +++ b/test/fixtures/parse/long-paths--meta-250-filter-strict.json @@ -39,53 +39,35 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "cksum": 14407, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:01:57.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:54:12.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836297, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -93,13 +75,13 @@ "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:01:57.000Z", + "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1365,48 +1347,30 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:07:25.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, @@ -1419,8 +1383,8 @@ "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:07:25.000Z", + "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/long-paths--meta-50-filter.json b/test/fixtures/parse/long-paths--meta-250-filter.json similarity index 93% rename from test/fixtures/parse/long-paths--meta-50-filter.json rename to test/fixtures/parse/long-paths--meta-250-filter.json index 09b10197..bf2babab 100644 --- a/test/fixtures/parse/long-paths--meta-50-filter.json +++ b/test/fixtures/parse/long-paths--meta-250-filter.json @@ -39,53 +39,35 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "cksum": 14407, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:01:57.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:54:12.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836297, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -93,13 +75,13 @@ "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:01:57.000Z", + "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1365,48 +1347,30 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:07:25.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, @@ -1419,8 +1383,8 @@ "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:07:25.000Z", + "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/long-paths--meta-50-strict.json b/test/fixtures/parse/long-paths--meta-250-strict.json similarity index 93% rename from test/fixtures/parse/long-paths--meta-50-strict.json rename to test/fixtures/parse/long-paths--meta-250-strict.json index ead9d39c..78263cf6 100644 --- a/test/fixtures/parse/long-paths--meta-50-strict.json +++ b/test/fixtures/parse/long-paths--meta-250-strict.json @@ -39,53 +39,35 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "cksum": 14407, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:01:57.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:54:12.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836297, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -93,13 +75,13 @@ "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:01:57.000Z", + "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1365,48 +1347,30 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:07:25.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, @@ -1419,8 +1383,8 @@ "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:07:25.000Z", + "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/long-paths--meta-50.json b/test/fixtures/parse/long-paths--meta-250.json similarity index 93% rename from test/fixtures/parse/long-paths--meta-50.json rename to test/fixtures/parse/long-paths--meta-250.json index ead9d39c..78263cf6 100644 --- a/test/fixtures/parse/long-paths--meta-50.json +++ b/test/fixtures/parse/long-paths--meta-250.json @@ -39,53 +39,35 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 233, - "mtime": "2017-04-10T16:54:12.000Z", - "cksum": 14407, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:01:57.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:54:12.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836297, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -93,13 +75,13 @@ "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:01:57.000Z", + "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1365,48 +1347,30 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { - "extended": null, + "extended": { + "atime": "2017-04-10T17:07:25.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, "globalExtended": null, "type": "File", "meta": false, @@ -1419,8 +1383,8 @@ "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, + "atime": "2017-04-10T17:07:25.000Z", + "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, diff --git a/test/fixtures/parse/long-paths--strict.json b/test/fixtures/parse/long-paths--strict.json index 06f166ab..1a82c70d 100644 --- a/test/fixtures/parse/long-paths--strict.json +++ b/test/fixtures/parse/long-paths--strict.json @@ -81,7 +81,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -141,7 +141,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1215,7 +1215,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1275,7 +1275,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-paths.json b/test/fixtures/parse/long-paths.json index 06f166ab..1a82c70d 100644 --- a/test/fixtures/parse/long-paths.json +++ b/test/fixtures/parse/long-paths.json @@ -81,7 +81,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -141,7 +141,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1215,7 +1215,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, @@ -1275,7 +1275,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-pax--filter-strict.json b/test/fixtures/parse/long-pax--filter-strict.json index 57b7f375..7e9df8bb 100644 --- a/test/fixtures/parse/long-pax--filter-strict.json +++ b/test/fixtures/parse/long-pax--filter-strict.json @@ -42,7 +42,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-pax--filter.json b/test/fixtures/parse/long-pax--filter.json index 57b7f375..7e9df8bb 100644 --- a/test/fixtures/parse/long-pax--filter.json +++ b/test/fixtures/parse/long-pax--filter.json @@ -42,7 +42,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-pax--meta-50-filter-strict.json b/test/fixtures/parse/long-pax--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/long-pax--meta-50-filter-strict.json rename to test/fixtures/parse/long-pax--meta-250-filter-strict.json diff --git a/test/fixtures/parse/long-pax--meta-50-filter.json b/test/fixtures/parse/long-pax--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/long-pax--meta-50-filter.json rename to test/fixtures/parse/long-pax--meta-250-filter.json diff --git a/test/fixtures/parse/long-pax--meta-50-strict.json b/test/fixtures/parse/long-pax--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/long-pax--meta-50-strict.json rename to test/fixtures/parse/long-pax--meta-250-strict.json diff --git a/test/fixtures/parse/long-pax--meta-50.json b/test/fixtures/parse/long-pax--meta-250.json similarity index 100% rename from test/fixtures/parse/long-pax--meta-50.json rename to test/fixtures/parse/long-pax--meta-250.json diff --git a/test/fixtures/parse/long-pax--strict.json b/test/fixtures/parse/long-pax--strict.json index 32ee13ee..c72def09 100644 --- a/test/fixtures/parse/long-pax--strict.json +++ b/test/fixtures/parse/long-pax--strict.json @@ -42,7 +42,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/long-pax.json b/test/fixtures/parse/long-pax.json index 32ee13ee..c72def09 100644 --- a/test/fixtures/parse/long-pax.json +++ b/test/fixtures/parse/long-pax.json @@ -42,7 +42,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/next-file-has-long--filter-strict.json b/test/fixtures/parse/next-file-has-long--filter-strict.json index 4d1a69f4..20c10f48 100644 --- a/test/fixtures/parse/next-file-has-long--filter-strict.json +++ b/test/fixtures/parse/next-file-has-long--filter-strict.json @@ -27,7 +27,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/next-file-has-long--filter.json b/test/fixtures/parse/next-file-has-long--filter.json index 4d1a69f4..20c10f48 100644 --- a/test/fixtures/parse/next-file-has-long--filter.json +++ b/test/fixtures/parse/next-file-has-long--filter.json @@ -27,7 +27,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json b/test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json new file mode 100644 index 00000000..20c10f48 --- /dev/null +++ b/test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json @@ -0,0 +1,101 @@ +[ + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "cksum": 14500, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "ignoredEntry", + { + "extended": { + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "atime": null, + "ctime": null, + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "header": { + "cksumValid": true, + "needPax": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "cksum": 7135, + "linkpath": "././@LongSymLink", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/next-file-has-long--meta-250-filter.json b/test/fixtures/parse/next-file-has-long--meta-250-filter.json new file mode 100644 index 00000000..20c10f48 --- /dev/null +++ b/test/fixtures/parse/next-file-has-long--meta-250-filter.json @@ -0,0 +1,101 @@ +[ + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "cksum": 14500, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "ignoredEntry", + { + "extended": { + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": true, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "atime": null, + "ctime": null, + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "header": { + "cksumValid": true, + "needPax": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "cksum": 7135, + "linkpath": "././@LongSymLink", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/next-file-has-long--meta-250-strict.json b/test/fixtures/parse/next-file-has-long--meta-250-strict.json new file mode 100644 index 00000000..25fdb331 --- /dev/null +++ b/test/fixtures/parse/next-file-has-long--meta-250-strict.json @@ -0,0 +1,101 @@ +[ + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "entry", + { + "extended": { + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "cksum": 14500, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "entry", + { + "extended": { + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "atime": null, + "ctime": null, + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "header": { + "cksumValid": true, + "needPax": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "cksum": 7135, + "linkpath": "././@LongSymLink", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/next-file-has-long--meta-250.json b/test/fixtures/parse/next-file-has-long--meta-250.json new file mode 100644 index 00000000..25fdb331 --- /dev/null +++ b/test/fixtures/parse/next-file-has-long--meta-250.json @@ -0,0 +1,101 @@ +[ + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "entry", + { + "extended": { + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 100, + "mtime": "2017-04-10T16:56:18.000Z", + "cksum": 14500, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + ], + [ + "entry", + { + "extended": { + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + "globalExtended": null, + "type": "SymbolicLink", + "meta": false, + "ignore": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "atime": null, + "ctime": null, + "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "header": { + "cksumValid": true, + "needPax": false, + "path": "longlink", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2017-04-10T23:22:33.000Z", + "cksum": 7135, + "linkpath": "././@LongSymLink", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/next-file-has-long--meta-50-filter-strict.json b/test/fixtures/parse/next-file-has-long--meta-50-filter-strict.json deleted file mode 100644 index a37e9192..00000000 --- a/test/fixtures/parse/next-file-has-long--meta-50-filter-strict.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4028, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "cksum": 14500, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongLinkpath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4457, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "SymbolicLink", - "meta": false, - "ignore": true, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "atime": null, - "ctime": null, - "linkpath": "././@LongSymLink", - "header": { - "cksumValid": true, - "needPax": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "cksum": 7135, - "linkpath": "././@LongSymLink", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/next-file-has-long--meta-50-filter.json b/test/fixtures/parse/next-file-has-long--meta-50-filter.json deleted file mode 100644 index a37e9192..00000000 --- a/test/fixtures/parse/next-file-has-long--meta-50-filter.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4028, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "cksum": 14500, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongLinkpath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4457, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "SymbolicLink", - "meta": false, - "ignore": true, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "atime": null, - "ctime": null, - "linkpath": "././@LongSymLink", - "header": { - "cksumValid": true, - "needPax": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "cksum": 7135, - "linkpath": "././@LongSymLink", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/next-file-has-long--meta-50-strict.json b/test/fixtures/parse/next-file-has-long--meta-50-strict.json deleted file mode 100644 index 53b99820..00000000 --- a/test/fixtures/parse/next-file-has-long--meta-50-strict.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4028, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "cksum": 14500, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongLinkpath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4457, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "SymbolicLink", - "meta": false, - "ignore": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "atime": null, - "ctime": null, - "linkpath": "././@LongSymLink", - "header": { - "cksumValid": true, - "needPax": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "cksum": 7135, - "linkpath": "././@LongSymLink", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/next-file-has-long--meta-50.json b/test/fixtures/parse/next-file-has-long--meta-50.json deleted file mode 100644 index 53b99820..00000000 --- a/test/fixtures/parse/next-file-has-long--meta-50.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongPath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4028, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 100, - "mtime": "2017-04-10T16:56:18.000Z", - "cksum": 14500, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongLinkpath", - "meta": true, - "ignore": true, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "uname": "", - "gname": "", - "size": 170, - "mtime": null, - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "NextFileHasLongLinkpath", - "mode": null, - "uid": null, - "gid": null, - "size": 170, - "mtime": null, - "cksum": 4457, - "linkpath": "", - "uname": "", - "gname": "", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "SymbolicLink", - "meta": false, - "ignore": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "atime": null, - "ctime": null, - "linkpath": "././@LongSymLink", - "header": { - "cksumValid": true, - "needPax": false, - "path": "longlink", - "mode": 493, - "uid": 501, - "gid": 20, - "size": 0, - "mtime": "2017-04-10T23:22:33.000Z", - "cksum": 7135, - "linkpath": "././@LongSymLink", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/next-file-has-long--strict.json b/test/fixtures/parse/next-file-has-long--strict.json index 95fecab0..25fdb331 100644 --- a/test/fixtures/parse/next-file-has-long--strict.json +++ b/test/fixtures/parse/next-file-has-long--strict.json @@ -27,7 +27,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/next-file-has-long.json b/test/fixtures/parse/next-file-has-long.json index 95fecab0..25fdb331 100644 --- a/test/fixtures/parse/next-file-has-long.json +++ b/test/fixtures/parse/next-file-has-long.json @@ -27,7 +27,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", + "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, diff --git a/test/fixtures/parse/null-byte--filter-strict.json b/test/fixtures/parse/null-byte--filter-strict.json index 3adb6da5..ccfb2ae8 100644 --- a/test/fixtures/parse/null-byte--filter-strict.json +++ b/test/fixtures/parse/null-byte--filter-strict.json @@ -66,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--filter.json b/test/fixtures/parse/null-byte--filter.json index 3adb6da5..ccfb2ae8 100644 --- a/test/fixtures/parse/null-byte--filter.json +++ b/test/fixtures/parse/null-byte--filter.json @@ -66,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--meta-50-filter-strict.json b/test/fixtures/parse/null-byte--meta-250-filter-strict.json similarity index 69% rename from test/fixtures/parse/null-byte--meta-50-filter-strict.json rename to test/fixtures/parse/null-byte--meta-250-filter-strict.json index 9cc3588a..ccfb2ae8 100644 --- a/test/fixtures/parse/null-byte--meta-50-filter-strict.json +++ b/test/fixtures/parse/null-byte--meta-250-filter-strict.json @@ -39,53 +39,20 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "uname": null, - "gname": null, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "cksum": 4995, - "linkpath": "", - "uname": null, - "gname": null, - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" + }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, @@ -99,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--meta-50-filter.json b/test/fixtures/parse/null-byte--meta-250-filter.json similarity index 69% rename from test/fixtures/parse/null-byte--meta-50-filter.json rename to test/fixtures/parse/null-byte--meta-250-filter.json index 9cc3588a..ccfb2ae8 100644 --- a/test/fixtures/parse/null-byte--meta-50-filter.json +++ b/test/fixtures/parse/null-byte--meta-250-filter.json @@ -39,53 +39,20 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "uname": null, - "gname": null, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "cksum": 4995, - "linkpath": "", - "uname": null, - "gname": null, - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { - "extended": null, + "extended": { + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" + }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, @@ -99,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--meta-50-strict.json b/test/fixtures/parse/null-byte--meta-250-strict.json similarity index 69% rename from test/fixtures/parse/null-byte--meta-50-strict.json rename to test/fixtures/parse/null-byte--meta-250-strict.json index 8c74912f..fb7cc97d 100644 --- a/test/fixtures/parse/null-byte--meta-50-strict.json +++ b/test/fixtures/parse/null-byte--meta-250-strict.json @@ -39,53 +39,20 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "uname": null, - "gname": null, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "cksum": 4995, - "linkpath": "", - "uname": null, - "gname": null, - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { - "extended": null, + "extended": { + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" + }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, @@ -99,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--meta-50.json b/test/fixtures/parse/null-byte--meta-250.json similarity index 69% rename from test/fixtures/parse/null-byte--meta-50.json rename to test/fixtures/parse/null-byte--meta-250.json index 8c74912f..fb7cc97d 100644 --- a/test/fixtures/parse/null-byte--meta-50.json +++ b/test/fixtures/parse/null-byte--meta-250.json @@ -39,53 +39,20 @@ } ], [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "NextFileHasLongPath", - "meta": true, - "ignore": true, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "uname": null, - "gname": null, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "././@LongLink", - "mode": 420, - "uid": 0, - "gid": 0, - "size": 122, - "mtime": "1970-01-01T00:00:00.000Z", - "cksum": 4995, - "linkpath": "", - "uname": null, - "gname": null, - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } + "meta", + "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { - "extended": null, + "extended": { + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" + }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, @@ -99,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte--strict.json b/test/fixtures/parse/null-byte--strict.json index 717f9836..fb7cc97d 100644 --- a/test/fixtures/parse/null-byte--strict.json +++ b/test/fixtures/parse/null-byte--strict.json @@ -66,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/null-byte.json b/test/fixtures/parse/null-byte.json index 717f9836..fb7cc97d 100644 --- a/test/fixtures/parse/null-byte.json +++ b/test/fixtures/parse/null-byte.json @@ -66,7 +66,7 @@ "header": { "cksumValid": true, "needPax": false, - "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_", + "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, diff --git a/test/fixtures/parse/path-missing--meta-50-filter-strict.json b/test/fixtures/parse/path-missing--meta-250-filter-strict.json similarity index 100% rename from test/fixtures/parse/path-missing--meta-50-filter-strict.json rename to test/fixtures/parse/path-missing--meta-250-filter-strict.json diff --git a/test/fixtures/parse/path-missing--meta-50-filter.json b/test/fixtures/parse/path-missing--meta-250-filter.json similarity index 100% rename from test/fixtures/parse/path-missing--meta-50-filter.json rename to test/fixtures/parse/path-missing--meta-250-filter.json diff --git a/test/fixtures/parse/path-missing--meta-50-strict.json b/test/fixtures/parse/path-missing--meta-250-strict.json similarity index 100% rename from test/fixtures/parse/path-missing--meta-50-strict.json rename to test/fixtures/parse/path-missing--meta-250-strict.json diff --git a/test/fixtures/parse/path-missing--meta-50.json b/test/fixtures/parse/path-missing--meta-250.json similarity index 100% rename from test/fixtures/parse/path-missing--meta-50.json rename to test/fixtures/parse/path-missing--meta-250.json diff --git a/test/fixtures/parse/trailing-slash-corner-case--filter-strict.json b/test/fixtures/parse/trailing-slash-corner-case--filter-strict.json new file mode 100644 index 00000000..82709536 --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--filter-strict.json @@ -0,0 +1,161 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--filter.json b/test/fixtures/parse/trailing-slash-corner-case--filter.json new file mode 100644 index 00000000..82709536 --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--filter.json @@ -0,0 +1,161 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json b/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json new file mode 100644 index 00000000..82709536 --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json @@ -0,0 +1,161 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json b/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json new file mode 100644 index 00000000..82709536 --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json @@ -0,0 +1,161 @@ +[ + [ + "ignoredEntry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "ignoredEntry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json b/test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json new file mode 100644 index 00000000..5b157bdb --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json @@ -0,0 +1,161 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--meta-250.json b/test/fixtures/parse/trailing-slash-corner-case--meta-250.json new file mode 100644 index 00000000..5b157bdb --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--meta-250.json @@ -0,0 +1,161 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case--strict.json b/test/fixtures/parse/trailing-slash-corner-case--strict.json new file mode 100644 index 00000000..5b157bdb --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case--strict.json @@ -0,0 +1,161 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/trailing-slash-corner-case.json b/test/fixtures/parse/trailing-slash-corner-case.json new file mode 100644 index 00000000..5b157bdb --- /dev/null +++ b/test/fixtures/parse/trailing-slash-corner-case.json @@ -0,0 +1,161 @@ +[ + [ + "entry", + { + "extended": null, + "globalExtended": null, + "type": "Directory", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", + "mode": 493, + "uid": 501, + "gid": 20, + "size": 0, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13612, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-19T00:03:11.000Z", + "cksum": 13611, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" + ], + [ + "entry", + { + "extended": { + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": null, + "gname": null, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "atime": null, + "ctime": null, + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 560, + "mtime": "2018-06-18T23:49:44.000Z", + "cksum": 13602, + "linkpath": "", + "uname": null, + "gname": null, + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/utf8--meta-250-filter-strict.json b/test/fixtures/parse/utf8--meta-250-filter-strict.json new file mode 100644 index 00000000..2657a354 --- /dev/null +++ b/test/fixtures/parse/utf8--meta-250-filter-strict.json @@ -0,0 +1,191 @@ +[ + [ + "meta", + "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:51:42.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836217, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:51:42.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "cksum": 5688, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:06:33.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "atime": "2017-04-10T17:06:33.000Z", + "ctime": "2017-04-10T17:05:56.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "cksum": 6023, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:58:47.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "cksum": 9990, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/utf8--meta-250-filter.json b/test/fixtures/parse/utf8--meta-250-filter.json new file mode 100644 index 00000000..2657a354 --- /dev/null +++ b/test/fixtures/parse/utf8--meta-250-filter.json @@ -0,0 +1,191 @@ +[ + [ + "meta", + "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:51:42.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836217, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:51:42.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "cksum": 5688, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:06:33.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "atime": "2017-04-10T17:06:33.000Z", + "ctime": "2017-04-10T17:05:56.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "cksum": 6023, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" + ], + [ + "ignoredEntry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": true, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:58:47.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "cksum": 9990, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/utf8--meta-250-strict.json b/test/fixtures/parse/utf8--meta-250-strict.json new file mode 100644 index 00000000..cff8acca --- /dev/null +++ b/test/fixtures/parse/utf8--meta-250-strict.json @@ -0,0 +1,191 @@ +[ + [ + "meta", + "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:51:42.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836217, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:51:42.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "cksum": 5688, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:06:33.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "atime": "2017-04-10T17:06:33.000Z", + "ctime": "2017-04-10T17:05:56.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "cksum": 6023, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:58:47.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "cksum": 9990, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/utf8--meta-250.json b/test/fixtures/parse/utf8--meta-250.json new file mode 100644 index 00000000..cff8acca --- /dev/null +++ b/test/fixtures/parse/utf8--meta-250.json @@ -0,0 +1,191 @@ +[ + [ + "meta", + "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:51:42.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836217, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:51:42.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:51:42.000Z", + "cksum": 5688, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:06:33.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T17:05:56.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "🌟.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836716, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "atime": "2017-04-10T17:06:33.000Z", + "ctime": "2017-04-10T17:05:56.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "🌟.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 106, + "mtime": "2017-04-10T17:05:55.000Z", + "cksum": 6023, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "meta", + "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" + ], + [ + "entry", + { + "extended": { + "atime": "2017-04-10T17:02:38.000Z", + "charset": null, + "comment": null, + "ctime": "2017-04-10T16:58:47.000Z", + "gid": null, + "gname": null, + "linkpath": null, + "mtime": null, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "size": null, + "uid": null, + "uname": null, + "dev": 16777220, + "ino": 9836396, + "nlink": 1, + "global": false + }, + "globalExtended": null, + "type": "File", + "meta": false, + "ignore": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "uname": "isaacs", + "gname": "staff", + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "atime": "2017-04-10T17:02:38.000Z", + "ctime": "2017-04-10T16:58:47.000Z", + "linkpath": "", + "header": { + "cksumValid": true, + "needPax": false, + "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", + "mode": 420, + "uid": 501, + "gid": 20, + "size": 2, + "mtime": "2017-04-10T16:58:47.000Z", + "cksum": 9990, + "linkpath": "", + "uname": "isaacs", + "gname": "staff", + "devmaj": 0, + "devmin": 0, + "atime": null, + "ctime": null + } + } + ], + [ + "nullBlock" + ], + [ + "nullBlock" + ], + [ + "end" + ] +] diff --git a/test/fixtures/parse/utf8--meta-50-filter-strict.json b/test/fixtures/parse/utf8--meta-50-filter-strict.json deleted file mode 100644 index 6e3baad8..00000000 --- a/test/fixtures/parse/utf8--meta-50-filter-strict.json +++ /dev/null @@ -1,245 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 6700, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 5688, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 6023, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 9990, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/utf8--meta-50-filter.json b/test/fixtures/parse/utf8--meta-50-filter.json deleted file mode 100644 index 6e3baad8..00000000 --- a/test/fixtures/parse/utf8--meta-50-filter.json +++ /dev/null @@ -1,245 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 6700, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 5688, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 6023, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 9990, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/utf8--meta-50-strict.json b/test/fixtures/parse/utf8--meta-50-strict.json deleted file mode 100644 index 7b8bf94b..00000000 --- a/test/fixtures/parse/utf8--meta-50-strict.json +++ /dev/null @@ -1,245 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 6700, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 5688, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 6023, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 9990, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parse/utf8--meta-50.json b/test/fixtures/parse/utf8--meta-50.json deleted file mode 100644 index 7b8bf94b..00000000 --- a/test/fixtures/parse/utf8--meta-50.json +++ /dev/null @@ -1,245 +0,0 @@ -[ - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 118, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 6700, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:51:42.000Z", - "cksum": 5688, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "PaxHeader/🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 120, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 7024, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "🌟.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 106, - "mtime": "2017-04-10T17:05:55.000Z", - "cksum": 6023, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "ignoredEntry", - { - "extended": null, - "globalExtended": null, - "type": "ExtendedHeader", - "meta": true, - "ignore": true, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 174, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 11002, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "entry", - { - "extended": null, - "globalExtended": null, - "type": "File", - "meta": false, - "ignore": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "uname": "isaacs", - "gname": "staff", - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "atime": null, - "ctime": null, - "linkpath": "", - "header": { - "cksumValid": true, - "needPax": false, - "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", - "mode": 420, - "uid": 501, - "gid": 20, - "size": 2, - "mtime": "2017-04-10T16:58:47.000Z", - "cksum": 9990, - "linkpath": "", - "uname": "isaacs", - "gname": "staff", - "devmaj": 0, - "devmin": 0, - "atime": null, - "ctime": null - } - } - ], - [ - "nullBlock" - ], - [ - "nullBlock" - ], - [ - "end" - ] -] diff --git a/test/fixtures/parses.tar b/test/fixtures/parses.tar index f0f71756..4d76160f 100644 Binary files a/test/fixtures/parses.tar and b/test/fixtures/parses.tar differ diff --git a/test/fixtures/tars/links-strip.tar b/test/fixtures/tars/links-strip.tar new file mode 100644 index 00000000..e23e26f7 Binary files /dev/null and b/test/fixtures/tars/links-strip.tar differ diff --git a/test/fixtures/tars/trailing-slash-corner-case.tar b/test/fixtures/tars/trailing-slash-corner-case.tar new file mode 100644 index 00000000..5f262130 Binary files /dev/null and b/test/fixtures/tars/trailing-slash-corner-case.tar differ diff --git a/test/mode-fix.js b/test/mode-fix.js new file mode 100644 index 00000000..c11ba1f5 --- /dev/null +++ b/test/mode-fix.js @@ -0,0 +1,9 @@ +'use strict' +const t = require('tap') +const mf = require('../lib/mode-fix.js') + +t.equal(mf(0o10644, false), 0o644) +t.equal(mf(0o10644, true), 0o755) +t.equal(mf(0o10604, true), 0o705) +t.equal(mf(0o10600, true), 0o700) +t.equal(mf(0o10066, true), 0o077) diff --git a/test/parse.js b/test/parse.js index ccefe8ad..6ef3ce72 100644 --- a/test/parse.js +++ b/test/parse.js @@ -58,7 +58,7 @@ t.test('fixture tests', t => { const tardir = path.resolve(__dirname, 'fixtures/tars') const parsedir = path.resolve(__dirname, 'fixtures/parse') const files = fs.readdirSync(tardir) - const maxMetaOpt = [50, null] + const maxMetaOpt = [250, null] const filterOpt = [ true, false ] const strictOpt = [ true, false ] const runTest = (file, maxMeta, filter, strict) => { diff --git a/test/unpack.js b/test/unpack.js index c7bf7911..33a9d2f6 100644 --- a/test/unpack.js +++ b/test/unpack.js @@ -139,8 +139,9 @@ t.test('cwd default to process cwd', t => { t.test('links!', t => { const dir = path.resolve(unpackdir, 'links') const data = fs.readFileSync(tars + '/links.tar') + const stripData = fs.readFileSync(tars + '/links-strip.tar') - t.plan(2) + t.plan(6) t.beforeEach(cb => mkdirp(dir, cb)) t.afterEach(cb => rimraf(dir, cb)) @@ -156,6 +157,33 @@ t.test('links!', t => { t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') t.end() } + const checkForStrip = t => { + const hl1 = fs.lstatSync(dir + '/hardlink-1') + const hl2 = fs.lstatSync(dir + '/hardlink-2') + const hl3 = fs.lstatSync(dir + '/1/2/3/hardlink-3') + t.equal(hl1.dev, hl2.dev) + t.equal(hl1.ino, hl2.ino) + t.equal(hl1.dev, hl3.dev) + t.equal(hl1.ino, hl3.ino) + t.equal(hl1.nlink, 3) + t.equal(hl2.nlink, 3) + const sym = fs.lstatSync(dir + '/symlink') + t.ok(sym.isSymbolicLink()) + t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') + t.end() + } + const checkForStrip3 = t => { + t.ok(fs.lstatSync(dir + '/3').isDirectory()) + let err = null + try { + fs.lstatSync(dir + '/3/hardlink-3') + } catch(e) { + err = e + } + // can't be extracted because we've passed it in the tar (specially crafted tar for this not to work) + t.equal(err.code, 'ENOENT') + t.end() + } t.test('async', t => { const unpack = new Unpack({ cwd: dir }) @@ -171,6 +199,36 @@ t.test('links!', t => { unpack.end(data) check(t) }) + + t.test('sync strip', t => { + const unpack = new UnpackSync({ cwd: dir, strip: 1 }) + unpack.end(fs.readFileSync(tars + '/links-strip.tar')) + checkForStrip(t) + }) + + t.test('async strip', t => { + const unpack = new Unpack({ cwd: dir, strip: 1 }) + let finished = false + unpack.on('finish', _ => finished = true) + unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) + unpack.on('close', _ => checkForStrip(t)) + unpack.end(stripData) + }) + + t.test('sync strip 3', t => { + const unpack = new UnpackSync({ cwd: dir, strip: 3 }) + unpack.end(fs.readFileSync(tars + '/links-strip.tar')) + checkForStrip3(t) + }) + + t.test('async strip 3', t => { + const unpack = new Unpack({ cwd: dir, strip: 3 }) + let finished = false + unpack.on('finish', _ => finished = true) + unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) + unpack.on('close', _ => checkForStrip3(t)) + unpack.end(stripData) + }) }) t.test('links without cleanup (exercise clobbering code)', t => { @@ -1539,9 +1597,10 @@ t.test('set owner', t => { const dir = path.resolve(unpackdir, 'chown') const poop = new Error('expected chown failure') const un = mutateFS.fail('chown', poop) + const unl = mutateFS.fail('lchown', poop) const unf = mutateFS.fail('fchown', poop) - t.teardown(_ => (un(), unf())) + t.teardown(_ => (un(), unf(), unl())) t.test('sync', t => { mkdirp.sync(dir) @@ -1635,10 +1694,12 @@ t.test('set owner', t => { const poop = new Error('poop') const un = mutateFS.fail('chown', poop) const unf = mutateFS.fail('fchown', poop) + const unl = mutateFS.fail('lchown', poop) t.teardown(_ => { rimraf.sync(dir) un() unf() + unl() }) t.beforeEach(cb => mkdirp(dir, cb)) @@ -1840,12 +1901,20 @@ t.test('chown implicit dirs and also the entries', t => { // club these so that the test can run as non-root const chown = fs.chown const chownSync = fs.chownSync + const lchown = fs.lchown + const lchownSync = fs.lchownSync + const fchown = fs.fchown + const fchownSync = fs.fchownSync const getuid = process.getuid const getgid = process.getgid t.teardown(_ => { fs.chown = chown fs.chownSync = chownSync + fs.lchown = lchown + fs.lchownSync = lchownSync + fs.fchown = fchown + fs.fchownSync = fchownSync process.getgid = getgid }) @@ -1858,12 +1927,16 @@ t.test('chown implicit dirs and also the entries', t => { chowns ++ cb() } + if (fs.lchown) + fs.lchown = fs.fchown fs.chownSync = fs.fchownSync = (path, uid, gid) => { currentTest.equal(uid, 420, 'chownSync(' + path + ') uid') currentTest.equal(gid, 666, 'chownSync(' + path + ') gid') chowns ++ } + if (fs.lchownSync) + fs.lchownSync = fs.fchownSync const data = makeTar([ { @@ -1890,7 +1963,7 @@ t.test('chown implicit dirs and also the entries', t => { const check = t => { currentTest = null - t.equal(chowns, 6) + t.equal(chowns, 8) chowns = 0 rimraf.sync(basedir) t.end() @@ -2110,7 +2183,7 @@ t.test('transform', t => { t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { - const unpack = new UnpackSync({ cwd: dir, transform: txFn }) + const unpack = new UnpackSync({ cwd: dir, strict: true, transform: txFn }) unpack.end(fs.readFileSync(tf)) check(t) }) @@ -2124,6 +2197,74 @@ t.test('transform', t => { }) }) +t.test('transform error', t => { + const dir = path.resolve(unpackdir, 'transform-error') + mkdirp.sync(dir) + t.teardown(_ => rimraf.sync(dir)) + + const tarfile = path.resolve(tars, 'body-byte-counts.tar') + const tardata = fs.readFileSync(tarfile) + const poop = new Error('poop') + + const txFn = () => { + const tx = new MiniPass() + tx.write = () => tx.emit('error', poop) + tx.resume() + return tx + } + + t.test('sync unpack', t => { + t.test('strict', t => { + const unpack = new UnpackSync({ cwd: dir, strict: true, transform: txFn }) + const expect = 3 + let actual = 0 + unpack.on('error', er => { + t.equal(er, poop) + actual ++ + }) + unpack.end(tardata) + t.equal(actual, expect, 'error count') + t.end() + }) + t.test('loose', t => { + const unpack = new UnpackSync({ cwd: dir, transform: txFn }) + const expect = 3 + let actual = 0 + unpack.on('warn', (msg, er) => { + t.equal(er, poop) + actual ++ + }) + unpack.end(tardata) + t.equal(actual, expect, 'error count') + t.end() + }) + t.end() + }) + t.test('async unpack', t => { + // the last error is about the folder being deleted, just ignore that one + t.test('strict', t => { + const unpack = new Unpack({ cwd: dir, strict: true, transform: txFn }) + t.plan(3) + t.teardown(() => { + unpack.removeAllListeners('error') + unpack.on('error', () => {}) + }) + unpack.on('error', er => t.equal(er, poop)) + unpack.end(tardata) + }) + t.test('loose', t => { + const unpack = new Unpack({ cwd: dir, transform: txFn }) + t.plan(3) + t.teardown(() => unpack.removeAllListeners('warn')) + unpack.on('warn', (msg, er) => t.equal(er, poop)) + unpack.end(tardata) + }) + t.end() + }) + + t.end() +}) + t.test('futimes/fchown failures', t => { const archive = path.resolve(tars, 'utf8.tar') const dir = path.resolve(unpackdir, 'futimes-fchown-fails') @@ -2286,3 +2427,66 @@ t.test('onentry option is preserved', t => { t.end() }) + +t.test('do not reuse hardlinks, only nlink=1 files', t => { + const basedir = path.resolve(unpackdir, 'hardlink-reuse') + mkdirp.sync(basedir) + t.teardown(() => rimraf.sync(basedir)) + + const now = new Date('2018-04-30T18:30:39.025Z') + + const data = makeTar([ + { + path: 'overwriteme', + type: 'File', + size: 4, + mode: 0o644, + mtime: now + }, + 'foo\n', + { + path: 'link', + linkpath: 'overwriteme', + type: 'Link', + mode: 0o644, + mtime: now + }, + { + path: 'link', + type: 'File', + size: 4, + mode: 0o644, + mtime: now + }, + 'bar\n', + '', + '' + ]) + + const checks = { + 'link': 'bar\n', + 'overwriteme': 'foo\n' + } + + const check = t => { + for (let f in checks) { + t.equal(fs.readFileSync(basedir + '/' + f, 'utf8'), checks[f], f) + t.equal(fs.statSync(basedir + '/' + f).nlink, 1, f) + } + t.end() + } + + t.test('async', t => { + const u = new Unpack({ cwd: basedir }) + u.on('close', () => check(t)) + u.end(data) + }) + + t.test('sync', t => { + const u = new UnpackSync({ cwd: basedir }) + u.end(data) + check(t) + }) + + t.end() +}) diff --git a/test/write-entry.js b/test/write-entry.js index 37f4a85e..c31d28e5 100644 --- a/test/write-entry.js +++ b/test/write-entry.js @@ -63,7 +63,7 @@ t.test('100 byte filename', t => { const wss = new WriteEntry.Sync(f, { cwd: files, linkCache: linkCache, - statCache: statCache + statCache: statCache, }) linkCache = ws.linkCache statCache = ws.statCache @@ -541,7 +541,7 @@ t.test('read fail', t => { t.test('read invalid EOF', t => { t.tearDown(mutateFS.mutate('read', (er, br) => [er, 0])) const expect = { - message: 'unexpected EOF', + message: 'encountered unexpected EOF', path: __filename, syscall: 'read', code: 'EOF' @@ -554,6 +554,25 @@ t.test('read invalid EOF', t => { }) }) +t.test('read overflow expectation', t => { + t.tearDown(mutateFS.statMutate((er, st) => { + if (st) + st.size = 3 + })); + const f = '512-bytes.txt' + const expect = { + message: 'did not encounter expected EOF', + path: path.resolve(files, f), + syscall: 'read', + code: 'EOF' + } + t.throws(_ => new WriteEntry.Sync(f, { cwd: files, maxReadSize: 2 }), expect) + new WriteEntry(f, { cwd: files, maxReadSize: 2 }).on('error', er => { + t.match(er, expect) + t.end() + }) +}) + t.test('short reads', t => { t.tearDown(mutateFS.zenoRead()) const cases = {