pax_global_header00006660000000000000000000000064141117371040014511gustar00rootroot0000000000000052 comment=e573aeea19d4d650908b7f6bf0a1ad8dce9f1736 node-tar-6.1.11/000077500000000000000000000000001411173710400133105ustar00rootroot00000000000000node-tar-6.1.11/.eslintrc.json000066400000000000000000000167771411173710400161260ustar00rootroot00000000000000{ "parserOptions": { "ecmaVersion": 2018, "ecmaFeatures": {}, "sourceType": "script" }, "env": { "es6": true, "node": true }, "plugins": [ "import", "node", "promise", "standard" ], "globals": { "document": "readonly", "navigator": "readonly", "window": "readonly" }, "rules": { "accessor-pairs": "error", "array-bracket-spacing": ["error", "never"], "arrow-spacing": ["error", { "before": true, "after": true }], "block-spacing": ["error", "always"], "brace-style": ["error", "1tbs", { "allowSingleLine": false }], "camelcase": ["error", { "properties": "never" }], "comma-dangle": ["error", { "arrays": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline", "functions": "never" }], "comma-spacing": ["error", { "before": false, "after": true }], "comma-style": ["error", "last"], "computed-property-spacing": ["error", "never"], "constructor-super": "error", "curly": ["error", "multi-or-nest"], "dot-location": ["error", "property"], "dot-notation": ["error", { "allowKeywords": true }], "eol-last": "error", "eqeqeq": ["error", "always", { "null": "ignore" }], "func-call-spacing": ["error", "never"], "generator-star-spacing": ["error", { "before": true, "after": true }], "handle-callback-err": ["error", "^(err|error)$" ], "indent": ["error", 2, { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "MemberExpression": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": true, "ignoreComments": false, "ignoredNodes": ["TemplateLiteral *"] }], "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], "keyword-spacing": ["error", { "before": true, "after": true }], "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }], "new-cap": ["error", { "newIsCap": true, "capIsNew": false, "properties": true }], "new-parens": "error", "no-array-constructor": "error", "no-async-promise-executor": "error", "no-caller": "error", "no-case-declarations": "error", "no-class-assign": "error", "no-compare-neg-zero": "error", "no-cond-assign": "off", "no-const-assign": "error", "no-constant-condition": ["error", { "checkLoops": false }], "no-control-regex": "error", "no-debugger": "error", "no-delete-var": "error", "no-dupe-args": "error", "no-dupe-class-members": "error", "no-dupe-keys": "error", "no-duplicate-case": "error", "no-empty-character-class": "error", "no-empty-pattern": "error", "no-eval": "error", "no-ex-assign": "error", "no-extend-native": "error", "no-extra-bind": "error", "no-extra-boolean-cast": "error", "no-extra-parens": ["error", "functions"], "no-fallthrough": "off", "no-floating-decimal": "error", "no-func-assign": "error", "no-global-assign": "error", "no-implied-eval": "error", "no-inner-declarations": ["error", "functions"], "no-invalid-regexp": "error", "no-irregular-whitespace": "error", "no-iterator": "error", "no-labels": ["error", { "allowLoop": true, "allowSwitch": false }], "no-lone-blocks": "error", "no-misleading-character-class": "error", "no-prototype-builtins": "error", "no-useless-catch": "error", "no-mixed-operators": "off", "no-mixed-spaces-and-tabs": "error", "no-multi-spaces": "error", "no-multi-str": "error", "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }], "no-negated-in-lhs": "error", "no-new": "off", "no-new-func": "error", "no-new-object": "error", "no-new-require": "error", "no-new-symbol": "error", "no-new-wrappers": "error", "no-obj-calls": "error", "no-octal": "error", "no-octal-escape": "error", "no-path-concat": "error", "no-proto": "error", "no-redeclare": ["error", { "builtinGlobals": false }], "no-regex-spaces": "error", "no-return-assign": "off", "no-self-assign": "off", "no-self-compare": "error", "no-sequences": "off", "no-shadow-restricted-names": "error", "no-sparse-arrays": "error", "no-tabs": "error", "no-template-curly-in-string": "error", "no-this-before-super": "error", "no-throw-literal": "off", "no-trailing-spaces": "error", "no-undef": "error", "no-undef-init": "error", "no-unexpected-multiline": "error", "no-unmodified-loop-condition": "error", "no-unneeded-ternary": ["error", { "defaultAssignment": false }], "no-unreachable": "error", "no-unsafe-finally": 0, "no-unsafe-negation": "error", "no-unused-expressions": ["off"], "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": true }], "no-use-before-define": ["error", { "functions": false, "classes": false, "variables": false }], "no-useless-call": "error", "no-useless-computed-key": "error", "no-useless-constructor": "error", "no-useless-escape": "error", "no-useless-rename": "error", "no-useless-return": "error", "no-void": "error", "no-whitespace-before-property": "error", "no-with": "error", "nonblock-statement-body-position": [2, "below"], "object-curly-newline": "off", "object-curly-spacing": "off", "object-property-newline": ["error", { "allowMultiplePropertiesPerLine": true }], "one-var": ["error", { "initialized": "never" }], "operator-linebreak": "off", "padded-blocks": ["error", { "blocks": "never", "switches": "never", "classes": "never" }], "prefer-const": ["error", {"destructuring": "all"}], "prefer-promise-reject-errors": "error", "quote-props": ["error", "as-needed"], "quotes": ["error", "single", { "avoidEscape": true, "allowTemplateLiterals": true }], "rest-spread-spacing": ["error", "never"], "semi": ["error", "never"], "semi-spacing": ["error", { "before": false, "after": true }], "space-before-blocks": ["error", "always"], "space-before-function-paren": ["error", "always"], "space-in-parens": ["error", "never"], "space-infix-ops": "error", "space-unary-ops": ["error", { "words": true, "nonwords": false }], "spaced-comment": ["error", "always", { "line": { "markers": ["*package", "!", "/", ",", "="] }, "block": { "balanced": true, "markers": ["*package", "!", ",", ":", "::", "flow-include"], "exceptions": ["*"] } }], "symbol-description": "error", "template-curly-spacing": ["error", "never"], "template-tag-spacing": ["error", "never"], "unicode-bom": ["error", "never"], "use-isnan": "error", "valid-typeof": ["error", { "requireStringLiterals": true }], "wrap-iife": ["error", "any", { "functionPrototypeMethods": true }], "yield-star-spacing": ["error", "both"], "yoda": ["error", "never"], "import/export": "error", "import/first": "error", "import/no-absolute-path": ["error", { "esmodule": true, "commonjs": true, "amd": false }], "import/no-duplicates": "error", "import/no-named-default": "error", "import/no-webpack-loader-syntax": "error", "node/no-deprecated-api": "error", "node/process-exit-as-throw": "error", "promise/param-names": "off", "standard/no-callback-literal": "error" } } node-tar-6.1.11/.gitattributes000066400000000000000000000000431411173710400162000ustar00rootroot00000000000000test/fixtures/files/** text eol=lf node-tar-6.1.11/.github/000077500000000000000000000000001411173710400146505ustar00rootroot00000000000000node-tar-6.1.11/.github/CODEOWNERS000066400000000000000000000000201411173710400162330ustar00rootroot00000000000000* @npm/cli-team node-tar-6.1.11/.github/settings.yml000066400000000000000000000000601411173710400172270ustar00rootroot00000000000000--- _extends: 'open-source-project-boilerplate' node-tar-6.1.11/.github/workflows/000077500000000000000000000000001411173710400167055ustar00rootroot00000000000000node-tar-6.1.11/.github/workflows/ci.yml000066400000000000000000000017601411173710400200270ustar00rootroot00000000000000name: CI on: [push, pull_request] jobs: build: strategy: matrix: node-version: [10.x, 12.x, 14.x, 16.x] platform: - os: ubuntu-latest shell: bash - os: macos-latest shell: bash - os: windows-latest shell: powershell fail-fast: false runs-on: ${{ matrix.platform.os }} defaults: run: shell: ${{ matrix.platform.shell }} steps: # there are files here that make windows unhappy by default - name: Support longpaths run: git config --global core.longpaths true - name: Checkout Repository uses: actions/checkout@v1.1.0 - name: Use Nodejs ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: use latest npm run: npm i -g npm@latest - name: Install dependencies run: npm install - name: Run Tap Tests run: npm test -- -c -t0 node-tar-6.1.11/.github/workflows/codeql-analysis.yml000066400000000000000000000046201411173710400225220ustar00rootroot00000000000000# For most projects, this workflow file will not need changing; you simply need # to commit it to your repository. # # You may wish to alter this file to override the set of languages analyzed, # or to provide custom queries or build logic. # # ******** NOTE ******** # We have attempted to detect the languages in your repository. Please check # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # name: "CodeQL" on: push: branches: [ main ] pull_request: # The branches below must be a subset of the branches above branches: [ main ] schedule: - cron: '27 20 * * 4' jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: [ 'javascript' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] # Learn more: # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed steps: - name: Checkout repository uses: actions/checkout@v2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. # queries: ./path/to/local/query, your-org/your-repo/queries@main # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild uses: github/codeql-action/autobuild@v1 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines # and modify them (or add more) to build your code if your project # uses a compiled language #- run: | # make bootstrap # make release - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1 node-tar-6.1.11/.gitignore000066400000000000000000000005171411173710400153030ustar00rootroot00000000000000# ignore most things, include some others /* /.* !bin/ !lib/ !docs/ !package.json !package-lock.json !README.md !CONTRIBUTING.md !LICENSE !CHANGELOG.md !example/ !scripts/ !tap-snapshots/ !test/ !.travis.yml !.gitignore !.gitattributes !map.js !index.js !.github !.eslintrc.json .*.swp node_modules/ test/fixtures/unpack benchmarks/ node-tar-6.1.11/CHANGELOG.md000066400000000000000000000033101411173710400151160ustar00rootroot00000000000000# Changelog ## 6.0 - Drop support for node 6 and 8 - fix symlinks and hardlinks on windows being packed with `\`-style path targets ## 5.0 - Address unpack race conditions using path reservations - Change large-numbers errors from TypeError to Error - Add `TAR_*` error codes - Raise `TAR_BAD_ARCHIVE` warning/error when there are no valid entries found in an archive - do not treat ignored entries as an invalid archive - drop support for node v4 - unpack: conditionally use a file mapping to write files on Windows - Set more portable 'mode' value in portable mode - Set `portable` gzip option in portable mode ## 4.4 - Add 'mtime' option to tar creation to force mtime - unpack: only reuse file fs entries if nlink = 1 - unpack: rename before unlinking files on Windows - Fix encoding/decoding of base-256 numbers - Use `stat` instead of `lstat` when checking CWD - Always provide a callback to fs.close() ## 4.3 - Add 'transform' unpack option ## 4.2 - Fail when zlib fails ## 4.1 - Add noMtime flag for tar creation ## 4.0 - unpack: raise error if cwd is missing or not a dir - pack: don't drop dots from dotfiles when prefixing ## 3.1 - Support `@file.tar` as an entry argument to copy entries from one tar file to another. - Add `noPax` option - `noResume` option for tar.t - win32: convert `>|, file: 'my-tarball.tgz' }, ['some', 'files', 'and', 'folders'] ).then(_ => { .. tarball has been created .. }) ``` To replicate `tar cz files and folders > my-tarball.tgz`, you'd do: ```js tar.c( // or tar.create { gzip: }, ['some', 'files', 'and', 'folders'] ).pipe(fs.createWriteStream('my-tarball.tgz')) ``` To replicate `tar xf my-tarball.tgz` you'd do: ```js tar.x( // or tar.extract( { file: 'my-tarball.tgz' } ).then(_=> { .. tarball has been dumped in cwd .. }) ``` To replicate `cat my-tarball.tgz | tar x -C some-dir --strip=1`: ```js fs.createReadStream('my-tarball.tgz').pipe( tar.x({ strip: 1, C: 'some-dir' // alias for cwd:'some-dir', also ok }) ) ``` To replicate `tar tf my-tarball.tgz`, do this: ```js tar.t({ file: 'my-tarball.tgz', onentry: entry => { .. do whatever with it .. } }) ``` To replicate `cat my-tarball.tgz | tar t` do: ```js fs.createReadStream('my-tarball.tgz') .pipe(tar.t()) .on('entry', entry => { .. do whatever with it .. }) ``` To do anything synchronous, add `sync: true` to the options. Note that sync functions don't take a callback and don't return a promise. When the function returns, it's already done. Sync methods without a file argument return a sync stream, which flushes immediately. But, of course, it still won't be done until you `.end()` it. To filter entries, add `filter: ` to the options. Tar-creating methods call the filter with `filter(path, stat)`. Tar-reading methods (including extraction) call the filter with `filter(path, entry)`. The filter is called in the `this`-context of the `Pack` or `Unpack` stream object. The arguments list to `tar t` and `tar x` specify a list of filenames to extract or list, so they're equivalent to a filter that tests if the file is in the list. For those who _aren't_ fans of tar's single-character command names: ``` tar.c === tar.create tar.r === tar.replace (appends to archive, file is required) tar.u === tar.update (appends if newer, file is required) tar.x === tar.extract tar.t === tar.list ``` Keep reading for all the command descriptions and options, as well as the low-level API that they are built on. ### tar.c(options, fileList, callback) [alias: tar.create] Create a tarball archive. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Write the tarball archive to the specified filename. If this is specified, then the callback will be fired when the file has been written, and a promise will be returned that resolves when the file is written. If a filename is not specified, then a Readable Stream will be returned which will emit the file data. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. If this is set, and a file is not provided, then the resulting stream will already have the data ready to `read` or `emit('data')` as soon as you request it. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `mode` The mode to set on the created file archive - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `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. [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. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `readdirCache` A Map object that caches calls to `readdir`. - `jobs` A number specifying how many concurrent jobs to run. Defaults to 4. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. ### tar.x(options, fileList, callback) [alias: tar.extract] Extract a tarball archive. The `fileList` is an array of paths to extract from the tarball. If no paths are provided, then all the entries are extracted. If the archive is gzipped, then tar will detect this and unzip it. Note that all directories that are created will be forced to be writable, readable, and listable by their owner, to avoid cases where a directory prevents extraction of child entries by virtue of its mode. Most extraction errors will cause a `warn` event to be emitted. If the `cwd` is missing, or not a directory, then the extraction will fail completely. The following options are supported: - `cwd` Extract files relative to the specified directory. Defaults to `process.cwd()`. If provided, this must exist and must be a directory. [Alias: `C`] - `file` The archive file to extract. If not specified, then a Writable stream is returned where the archive data should be written. [Alias: `f`] - `sync` Create files and directories synchronously. - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being unpacked. Return `true` to unpack the entry from the archive, or `false` to skip it. - `newer` Set to true to keep the existing file on disk if it's newer than the file in the archive. [Alias: `keep-newer`, `keep-newer-files`] - `keep` Do not overwrite existing files. In particular, if a file appears more than once in an archive, later copies will not overwrite earlier copies. [Alias: `k`, `keep-existing`] - `preservePaths` Allow absolute paths, paths containing `..`, and extracting through symbolic links. By default, `/` is stripped from absolute paths, `..` paths are not extracted, and any file whose location would be modified by a symbolic link is not extracted. [Alias: `P`] - `unlink` Unlink files before creating them. Without this option, tar overwrites existing files, which preserves existing hardlinks. With this option, existing hardlinks will be broken, as will any symlink that would affect the location of an extracted file. [Alias: `U`] - `strip` Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped. Note that the pathname is edited after applying the filter, but before security checks. [Alias: `strip-components`, `stripComponents`] - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `preserveOwner` If true, tar will set the `uid` and `gid` of extracted entries to the `uid` and `gid` fields in the archive. This defaults to true when run as root, and false otherwise. If false, then files and directories will be set with the owner and group of the user running the process. This is similar to `-p` in `tar(1)`, but ACLs and other system-specific data is never unpacked in this implementation, and modes are set by default already. [Alias: `p`] - `uid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified user id, regardless of the `uid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `gid` option. - `gid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified group id, regardless of the `gid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `uid` option. - `noMtime` Set to true to omit writing `mtime` value for extracted entries. [Alias: `m`, `no-mtime`] - `transform` Provide a function that takes an `entry` object, and returns a stream, or any falsey value. If a stream is provided, then that stream's data will be written instead of the contents of the archive entry. If a falsey value is provided, then the entry is written to disk as normal. (To exclude items from extraction, use the `filter` option described above.) - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noChmod` Set to true to omit calling `fs.chmod()` to ensure that the extracted file matches the entry mode. This also suppresses the call to `process.umask()` to determine the default umask value, since tar will extract with whatever mode is provided, and let the process `umask` apply normally. The following options are mostly internal, but can be modified in some advanced use cases, such as re-using caches between runs. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `umask` Filter the modes of entries like `process.umask()`. - `dmode` Default mode for directories - `fmode` Default mode for files - `dirCache` A Map object of which directories exist. - `maxMetaEntrySize` The maximum size of meta entries that is supported. Defaults to 1 MB. Note that using an asynchronous stream type with the `transform` option will cause undefined behavior in sync extractions. [MiniPass](http://npm.im/minipass)-based streams are designed for this use case. ### tar.t(options, fileList, callback) [alias: tar.list] List the contents of a tarball archive. The `fileList` is an array of paths to list from the tarball. If no paths are provided, then all the entries are listed. If the archive is gzipped, then tar will detect this and unzip it. Returns an event emitter that emits `entry` events with `tar.ReadEntry` objects. However, they don't emit `'data'` or `'end'` events. (If you want to get actual readable entries, use the `tar.Parse` class instead.) The following options are supported: - `cwd` Extract files relative to the specified directory. Defaults to `process.cwd()`. [Alias: `C`] - `file` The archive file to list. If not specified, then a Writable stream is returned where the archive data should be written. [Alias: `f`] - `sync` Read the specified file synchronously. (This has no effect when a file option isn't specified, because entries are emitted as fast as they are parsed from the stream anyway.) - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being listed. Return `true` to emit the entry from the archive, or `false` to skip it. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. This is important for when both `file` and `sync` are set, because it will be called synchronously. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noResume` By default, `entry` streams are resumed immediately after the call to `onentry`. Set `noResume: true` to suppress this behavior. Note that by opting into this, the stream will never complete until the entry data is consumed. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") ### tar.u(options, fileList, callback) [alias: tar.update] Add files to an archive if they are newer than the entry already in the tarball archive. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Required. Write the tarball archive to the specified filename. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for adding entries to the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `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. [Alias: `m`, `no-mtime`] - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. ### tar.r(options, fileList, callback) [alias: tar.replace] Add files to an existing archive. Because later entries override earlier entries, this effectively replaces any existing entries. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Required. Write the tarball archive to the specified filename. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for adding entries to the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `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. [Alias: `m`, `no-mtime`] - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. ## Low-Level API ### class tar.Pack A readable tar stream. Has all the standard readable stream interface stuff. `'data'` and `'end'` events, `read()` method, `pause()` and `resume()`, etc. #### constructor(options) The following options are supported: - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `readdirCache` A Map object that caches calls to `readdir`. - `jobs` A number specifying how many concurrent jobs to run. Defaults to 4. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `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. - `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. #### write(path) Adds an entry to the archive. Returns true if flushed. #### end() Finishes the archive. ### class tar.Pack.Sync Synchronous version of `tar.Pack`. ### class tar.Unpack A writable stream that unpacks a tar archive onto the file system. All the normal writable stream stuff is supported. `write()` and `end()` methods, `'drain'` events, etc. Note that all directories that are created will be forced to be writable, readable, and listable by their owner, to avoid cases where a directory prevents extraction of child entries by virtue of its mode. `'close'` is emitted when it's done writing stuff to the file system. Most unpack errors will cause a `warn` event to be emitted. If the `cwd` is missing, or not a directory, then an error will be emitted. #### constructor(options) - `cwd` Extract files relative to the specified directory. Defaults to `process.cwd()`. If provided, this must exist and must be a directory. - `filter` A function that gets called with `(path, entry)` for each entry being unpacked. Return `true` to unpack the entry from the archive, or `false` to skip it. - `newer` Set to true to keep the existing file on disk if it's newer than the file in the archive. - `keep` Do not overwrite existing files. In particular, if a file appears more than once in an archive, later copies will not overwrite earlier copies. - `preservePaths` Allow absolute paths, paths containing `..`, and extracting through symbolic links. By default, `/` is stripped from absolute paths, `..` paths are not extracted, and any file whose location would be modified by a symbolic link is not extracted. - `unlink` Unlink files before creating them. Without this option, tar overwrites existing files, which preserves existing hardlinks. With this option, existing hardlinks will be broken, as will any symlink that would affect the location of an extracted file. - `strip` Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped. Note that the pathname is edited after applying the filter, but before security checks. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `umask` Filter the modes of entries like `process.umask()`. - `dmode` Default mode for directories - `fmode` Default mode for files - `dirCache` A Map object of which directories exist. - `maxMetaEntrySize` The maximum size of meta entries that is supported. Defaults to 1 MB. - `preserveOwner` If true, tar will set the `uid` and `gid` of extracted entries to the `uid` and `gid` fields in the archive. This defaults to true when run as root, and false otherwise. If false, then files and directories will be set with the owner and group of the user running the process. This is similar to `-p` in `tar(1)`, but ACLs and other system-specific data is never unpacked in this implementation, and modes are set by default already. - `win32` True if on a windows platform. Causes behavior where filenames containing `<|>?` chars are converted to windows-compatible values while being unpacked. - `uid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified user id, regardless of the `uid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `gid` option. - `gid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified group id, regardless of the `gid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `uid` option. - `noMtime` Set to true to omit writing `mtime` value for extracted entries. - `transform` Provide a function that takes an `entry` object, and returns a stream, or any falsey value. If a stream is provided, then that stream's data will be written instead of the contents of the archive entry. If a falsey value is provided, then the entry is written to disk as normal. (To exclude items from extraction, use the `filter` option described above.) - `strict` Treat warnings as crash-worthy errors. Default false. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noChmod` Set to true to omit calling `fs.chmod()` to ensure that the extracted file matches the entry mode. This also suppresses the call to `process.umask()` to determine the default umask value, since tar will extract with whatever mode is provided, and let the process `umask` apply normally. ### class tar.Unpack.Sync Synchronous version of `tar.Unpack`. Note that using an asynchronous stream type with the `transform` option will cause undefined behavior in sync unpack streams. [MiniPass](http://npm.im/minipass)-based streams are designed for this use case. ### class tar.Parse A writable stream that parses a tar archive stream. All the standard writable stream stuff is supported. If the archive is gzipped, then tar will detect this and unzip it. Emits `'entry'` events with `tar.ReadEntry` objects, which are themselves readable streams that you can pipe wherever. Each `entry` will not emit until the one before it is flushed through, so make sure to either consume the data (with `on('data', ...)` or `.pipe(...)`) or throw it away with `.resume()` to keep the stream flowing. #### constructor(options) Returns an event emitter that emits `entry` events with `tar.ReadEntry` objects. The following options are supported: - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being listed. Return `true` to emit the entry from the archive, or `false` to skip it. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") #### abort(error) Stop all parsing activities. This is called when there are zlib errors. It also emits an unrecoverable warning with the error provided. ### class tar.ReadEntry extends [MiniPass](http://npm.im/minipass) A representation of an entry that is being read out of a tar archive. It has the following fields: - `extended` The extended metadata object provided to the constructor. - `globalExtended` The global extended metadata object provided to the constructor. - `remain` The number of bytes remaining to be written into the stream. - `blockRemain` The number of 512-byte blocks remaining to be written into the stream. - `ignore` Whether this entry should be ignored. - `meta` True if this represents metadata about the next entry, false if it represents a filesystem object. - All the fields from the header, extended header, and global extended header are added to the ReadEntry object. So it has `path`, `type`, `size`, `mode`, and so on. #### constructor(header, extended, globalExtended) Create a new ReadEntry object with the specified header, extended header, and global extended header values. ### class tar.WriteEntry extends [MiniPass](http://npm.im/minipass) A representation of an entry that is being written from the file system into a tar archive. Emits data for the Header, and for the Pax Extended Header if one is required, as well as any body data. Creating a WriteEntry for a directory does not also create WriteEntry objects for all of the directory contents. It has the following fields: - `path` The path field that will be written to the archive. By default, this is also the path from the cwd to the file system object. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `myuid` If supported, the uid of the user running the current process. - `myuser` The `env.USER` string if set, or `''`. Set as the entry `uname` field if the file's `uid` matches `this.myuid`. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 1 MB. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `absolute` The absolute path to the entry on the filesystem. By default, this is `path.resolve(this.cwd, this.path)`, but it can be overridden explicitly. - `strict` Treat warnings as crash-worthy errors. Default false. - `win32` True if on a windows platform. Causes behavior where paths replace `\` with `/` and filenames containing the windows-compatible forms of `<|>?:` characters are converted to actual `<|>?:` characters in the archive. - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `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. #### constructor(path, options) `path` is the path of the entry as it is written in the archive. The following options are supported: - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 1 MB. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `absolute` The absolute path to the entry on the filesystem. By default, this is `path.resolve(this.cwd, this.path)`, but it can be overridden explicitly. - `strict` Treat warnings as crash-worthy errors. Default false. - `win32` True if on a windows platform. Causes behavior where paths replace `\` with `/`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `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) If strict, emit an error with the provided message. Othewise, emit a `'warn'` event with the provided message and data. ### class tar.WriteEntry.Sync Synchronous version of tar.WriteEntry ### class tar.WriteEntry.Tar A version of tar.WriteEntry that gets its data from a tar.ReadEntry instead of from the filesystem. #### constructor(readEntry, options) `readEntry` is the entry being read out of another archive. The following options are supported: - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `strict` Treat warnings as crash-worthy errors. Default false. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `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. ### class tar.Header A class for reading and writing header blocks. It has the following fields: - `nullBlock` True if decoding a block which is entirely composed of `0x00` null bytes. (Useful because tar files are terminated by at least 2 null blocks.) - `cksumValid` True if the checksum in the header is valid, false otherwise. - `needPax` True if the values, as encoded, will require a Pax extended header. - `path` The path of the entry. - `mode` The 4 lowest-order octal digits of the file mode. That is, read/write/execute permissions for world, group, and owner, and the setuid, setgid, and sticky bits. - `uid` Numeric user id of the file owner - `gid` Numeric group id of the file owner - `size` Size of the file in bytes - `mtime` Modified time of the file - `cksum` The checksum of the header. This is generated by adding all the bytes of the header block, treating the checksum field itself as all ascii space characters (that is, `0x20`). - `type` The human-readable name of the type of entry this represents, or the alphanumeric key if unknown. - `typeKey` The alphanumeric key for the type of entry this header represents. - `linkpath` The target of Link and SymbolicLink entries. - `uname` Human-readable user name of the file owner - `gname` Human-readable group name of the file owner - `devmaj` The major portion of the device number. Always `0` for files, directories, and links. - `devmin` The minor portion of the device number. Always `0` for files, directories, and links. - `atime` File access time. - `ctime` File change time. #### constructor(data, [offset=0]) `data` is optional. It is either a Buffer that should be interpreted as a tar Header starting at the specified offset and continuing for 512 bytes, or a data object of keys and values to set on the header object, and eventually encode as a tar Header. #### decode(block, offset) Decode the provided buffer starting at the specified offset. Buffer length must be greater than 512 bytes. #### set(data) Set the fields in the data object. #### encode(buffer, offset) Encode the header fields into the buffer at the specified offset. Returns `this.needPax` to indicate whether a Pax Extended Header is required to properly encode the specified data. ### class tar.Pax An object representing a set of key-value pairs in an Pax extended header entry. It has the following fields. Where the same name is used, they have the same semantics as the tar.Header field of the same name. - `global` True if this represents a global extended header, or false if it is for a single entry. - `atime` - `charset` - `comment` - `ctime` - `gid` - `gname` - `linkpath` - `mtime` - `path` - `size` - `uid` - `uname` - `dev` - `ino` - `nlink` #### constructor(object, global) Set the fields set in the object. `global` is a boolean that defaults to false. #### encode() Return a Buffer containing the header and body for the Pax extended header entry, or `null` if there is nothing to encode. #### encodeBody() Return a string representing the body of the pax extended header entry. #### encodeField(fieldName) Return a string representing the key/value encoding for the specified fieldName, or `''` if the field is unset. ### tar.Pax.parse(string, extended, global) Return a new Pax object created by parsing the contents of the string provided. If the `extended` object is set, then also add the fields from that object. (This is necessary because multiple metadata entries can occur in sequence.) ### tar.types A translation table for the `type` field in tar headers. #### tar.types.name.get(code) Get the human-readable name for a given alphanumeric code. #### tar.types.code.get(name) Get the alphanumeric code for a given human-readable name. node-tar-6.1.11/index.js000066400000000000000000000012531411173710400147560ustar00rootroot00000000000000'use strict' // high-level commands exports.c = exports.create = require('./lib/create.js') exports.r = exports.replace = require('./lib/replace.js') exports.t = exports.list = require('./lib/list.js') exports.u = exports.update = require('./lib/update.js') exports.x = exports.extract = require('./lib/extract.js') // classes exports.Pack = require('./lib/pack.js') exports.Unpack = require('./lib/unpack.js') exports.Parse = require('./lib/parse.js') exports.ReadEntry = require('./lib/read-entry.js') exports.WriteEntry = require('./lib/write-entry.js') exports.Header = require('./lib/header.js') exports.Pax = require('./lib/pax.js') exports.types = require('./lib/types.js') node-tar-6.1.11/lib/000077500000000000000000000000001411173710400140565ustar00rootroot00000000000000node-tar-6.1.11/lib/create.js000066400000000000000000000044571411173710400156710ustar00rootroot00000000000000'use strict' // tar -c const hlo = require('./high-level-opt.js') const Pack = require('./pack.js') const fsm = require('fs-minipass') const t = require('./list.js') const path = require('path') module.exports = (opt_, files, cb) => { if (typeof files === 'function') cb = files if (Array.isArray(opt_)) files = opt_, opt_ = {} if (!files || !Array.isArray(files) || !files.length) throw new TypeError('no files or directories specified') files = Array.from(files) const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') throw new TypeError('callback not supported for sync tar functions') if (!opt.file && typeof cb === 'function') throw new TypeError('callback only supported with file option') return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files) } const createFileSync = (opt, files) => { const p = new Pack.Sync(opt) const stream = new fsm.WriteStreamSync(opt.file, { mode: opt.mode || 0o666, }) p.pipe(stream) addFilesSync(p, files) } const createFile = (opt, files, cb) => { const p = new Pack(opt) const stream = new fsm.WriteStream(opt.file, { mode: opt.mode || 0o666, }) p.pipe(stream) const promise = new Promise((res, rej) => { stream.on('error', rej) stream.on('close', res) p.on('error', rej) }) addFilesAsync(p, files) return cb ? promise.then(cb, cb) : promise } const addFilesSync = (p, files) => { files.forEach(file => { if (file.charAt(0) === '@') { t({ file: path.resolve(p.cwd, file.substr(1)), sync: true, noResume: true, onentry: entry => p.add(entry), }) } else p.add(file) }) p.end() } const addFilesAsync = (p, files) => { while (files.length) { const file = files.shift() if (file.charAt(0) === '@') { return t({ file: path.resolve(p.cwd, file.substr(1)), noResume: true, onentry: entry => p.add(entry), }).then(_ => addFilesAsync(p, files)) } else p.add(file) } p.end() } const createSync = (opt, files) => { const p = new Pack.Sync(opt) addFilesSync(p, files) return p } const create = (opt, files) => { const p = new Pack(opt) addFilesAsync(p, files) return p } node-tar-6.1.11/lib/extract.js000066400000000000000000000053641411173710400160760ustar00rootroot00000000000000'use strict' // tar -x const hlo = require('./high-level-opt.js') const Unpack = require('./unpack.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const stripSlash = require('./strip-trailing-slashes.js') module.exports = (opt_, files, cb) => { if (typeof opt_ === 'function') cb = opt_, files = null, opt_ = {} else if (Array.isArray(opt_)) files = opt_, opt_ = {} if (typeof files === 'function') cb = files, files = null if (!files) files = [] else files = Array.from(files) const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') throw new TypeError('callback not supported for sync tar functions') if (!opt.file && typeof cb === 'function') throw new TypeError('callback only supported with file option') if (files.length) filesFilter(opt, files) return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt) } // construct a filter that limits the file entries listed // include child entries if a dir is included const filesFilter = (opt, files) => { const map = new Map(files.map(f => [stripSlash(f), true])) const filter = opt.filter const mapHas = (file, r) => { const root = r || path.parse(file).root || '.' const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path.dirname(file), root) map.set(file, ret) return ret } opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : file => mapHas(stripSlash(file)) } const extractFileSync = opt => { const u = new Unpack.Sync(opt) const file = opt.file const stat = fs.statSync(file) // This trades a zero-byte read() syscall for a stat // However, it will usually result in less memory allocation const readSize = opt.maxReadSize || 16 * 1024 * 1024 const stream = new fsm.ReadStreamSync(file, { readSize: readSize, size: stat.size, }) stream.pipe(u) } const extractFile = (opt, cb) => { const u = new Unpack(opt) const readSize = opt.maxReadSize || 16 * 1024 * 1024 const file = opt.file const p = new Promise((resolve, reject) => { u.on('error', reject) u.on('close', resolve) // This trades a zero-byte read() syscall for a stat // However, it will usually result in less memory allocation fs.stat(file, (er, stat) => { if (er) reject(er) else { const stream = new fsm.ReadStream(file, { readSize: readSize, size: stat.size, }) stream.on('error', reject) stream.pipe(u) } }) }) return cb ? p.then(cb, cb) : p } const extractSync = opt => new Unpack.Sync(opt) const extract = opt => new Unpack(opt) node-tar-6.1.11/lib/get-write-flag.js000066400000000000000000000016311411173710400172330ustar00rootroot00000000000000// Get the appropriate flag to use for creating files // We use fmap on Windows platforms for files less than // 512kb. This is a fairly low limit, but avoids making // things slower in some cases. Since most of what this // library is used for is extracting tarballs of many // relatively small files in npm packages and the like, // it can be a big boost on Windows platforms. // Only supported in Node v12.9.0 and above. const platform = process.env.__FAKE_PLATFORM__ || process.platform const isWindows = platform === 'win32' const fs = global.__FAKE_TESTING_FS__ || require('fs') /* istanbul ignore next */ const { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs.constants const fMapEnabled = isWindows && !!UV_FS_O_FILEMAP const fMapLimit = 512 * 1024 const fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY module.exports = !fMapEnabled ? () => 'w' : size => size < fMapLimit ? fMapFlag : 'w' node-tar-6.1.11/lib/header.js000066400000000000000000000214231411173710400156460ustar00rootroot00000000000000'use strict' // parse a 512-byte header block to a data object, or vice-versa // encode returns `true` if a pax extended header is needed, because // the data could not be faithfully encoded in a simple header. // (Also, check header.needPax to see if it needs a pax header.) const types = require('./types.js') const pathModule = require('path').posix const large = require('./large-numbers.js') const SLURP = Symbol('slurp') const TYPE = Symbol('type') class Header { constructor (data, off, ex, gex) { this.cksumValid = false this.needPax = false this.nullBlock = false this.block = null this.path = null this.mode = null this.uid = null this.gid = null this.size = null this.mtime = null this.cksum = null this[TYPE] = '0' this.linkpath = null this.uname = null this.gname = null this.devmaj = 0 this.devmin = 0 this.atime = null this.ctime = null if (Buffer.isBuffer(data)) this.decode(data, off || 0, ex, gex) else if (data) this.set(data) } decode (buf, off, ex, gex) { if (!off) off = 0 if (!buf || !(buf.length >= off + 512)) throw new Error('need 512 bytes for header') this.path = decString(buf, off, 100) this.mode = decNumber(buf, off + 100, 8) this.uid = decNumber(buf, off + 108, 8) this.gid = decNumber(buf, off + 116, 8) this.size = decNumber(buf, off + 124, 12) 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] === '') this[TYPE] = '0' if (this[TYPE] === '0' && this.path.substr(-1) === '/') this[TYPE] = '5' // tar implementations sometimes incorrectly put the stat(dir).size // as the size in the tarball, even though Directory entries are // not able to have any body at all. In the very rare chance that // it actually DOES have a body, we weren't going to do anything with // it anyway, and it'll just be a warning about an invalid header. if (this[TYPE] === '5') this.size = 0 this.linkpath = decString(buf, off + 157, 100) if (buf.slice(off + 257, off + 265).toString() === 'ustar\u000000') { this.uname = decString(buf, off + 265, 32) this.gname = decString(buf, off + 297, 32) this.devmaj = decNumber(buf, off + 329, 8) this.devmin = decNumber(buf, off + 337, 8) if (buf[off + 475] !== 0) { // definitely a prefix, definitely >130 chars. const prefix = decString(buf, off + 345, 155) this.path = prefix + '/' + this.path } else { const prefix = decString(buf, off + 345, 130) if (prefix) this.path = prefix + '/' + this.path this.atime = decDate(buf, off + 476, 12) this.ctime = decDate(buf, off + 488, 12) } } let sum = 8 * 0x20 for (let i = off; i < off + 148; i++) sum += buf[i] for (let i = off + 156; i < off + 512; i++) sum += buf[i] this.cksumValid = sum === this.cksum if (this.cksum === null && sum === 8 * 0x20) this.nullBlock = true } [SLURP] (ex, global) { for (const 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) off = 0 } if (!off) off = 0 if (!(buf.length >= off + 512)) throw new Error('need 512 bytes for header') const prefixSize = this.ctime || this.atime ? 130 : 155 const split = splitPrefix(this.path || '', prefixSize) const path = split[0] const prefix = split[1] this.needPax = split[2] this.needPax = encString(buf, off, 100, path) || this.needPax this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax buf[off + 156] = this[TYPE].charCodeAt(0) this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax buf.write('ustar\u000000', off + 257, 8) this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax if (buf[off + 475] !== 0) this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax else { this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax } let sum = 8 * 0x20 for (let i = off; i < off + 148; i++) sum += buf[i] for (let i = off + 156; i < off + 512; i++) sum += buf[i] this.cksum = sum encNumber(buf, off + 148, 8, this.cksum) this.cksumValid = true return this.needPax } set (data) { for (const i in data) { if (data[i] !== null && data[i] !== undefined) this[i] = data[i] } } get type () { return types.name.get(this[TYPE]) || this[TYPE] } get typeKey () { return this[TYPE] } set type (type) { if (types.code.has(type)) this[TYPE] = types.code.get(type) else this[TYPE] = type } } const splitPrefix = (p, prefixSize) => { const pathSize = 100 let pp = p let prefix = '' let ret const root = pathModule.parse(p).root || '.' if (Buffer.byteLength(pp) < pathSize) ret = [pp, prefix, false] else { // first set prefix to the dir, and path to the base prefix = pathModule.dirname(pp) pp = pathModule.basename(pp) do { // both fit! if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) ret = [pp, prefix, false] // prefix fits in prefix, but path doesn't fit in path else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) ret = [pp.substr(0, pathSize - 1), prefix, true] else { // make path take a bit from prefix pp = pathModule.join(pathModule.basename(prefix), pp) prefix = pathModule.dirname(prefix) } } while (prefix !== root && !ret) // at this point, found no resolution, just truncate if (!ret) ret = [p.substr(0, pathSize - 1), '', true] } return ret } const decString = (buf, off, size) => buf.slice(off, off + size).toString('utf8').replace(/\0.*/, '') const decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)) const numToDate = num => num === null ? null : new Date(num * 1000) const decNumber = (buf, off, size) => buf[off] & 0x80 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size) const nanNull = value => isNaN(value) ? null : value const decSmallNumber = (buf, off, size) => nanNull(parseInt( buf.slice(off, off + size) .toString('utf8').replace(/\0.*$/, '').trim(), 8)) // the maximum encodable as a null-terminated octal, by field size const MAXNUM = { 12: 0o77777777777, 8: 0o7777777, } const encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false) const encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, 'ascii') const octalString = (number, size) => padOctal(Math.floor(number).toString(8), size) const padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join('0') + string + ' ') + '\0' const encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1000) // enough to fill the longest string we've got const NULLS = new Array(156).join('\0') // pad with nulls, return true if it's longer or non-ascii const encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, 'utf8'), string.length !== Buffer.byteLength(string) || string.length > size) module.exports = Header node-tar-6.1.11/lib/high-level-opt.js000066400000000000000000000013701411173710400172410ustar00rootroot00000000000000'use strict' // turn tar(1) style args like `C` into the more verbose things like `cwd` const argmap = new Map([ ['C', 'cwd'], ['f', 'file'], ['z', 'gzip'], ['P', 'preservePaths'], ['U', 'unlink'], ['strip-components', 'strip'], ['stripComponents', 'strip'], ['keep-newer', 'newer'], ['keepNewer', 'newer'], ['keep-newer-files', 'newer'], ['keepNewerFiles', 'newer'], ['k', 'keep'], ['keep-existing', 'keep'], ['keepExisting', 'keep'], ['m', 'noMtime'], ['no-mtime', 'noMtime'], ['p', 'preserveOwner'], ['L', 'follow'], ['h', 'follow'], ]) module.exports = opt => opt ? Object.keys(opt).map(k => [ argmap.has(k) ? argmap.get(k) : k, opt[k], ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), Object.create(null)) : {} node-tar-6.1.11/lib/large-numbers.js000066400000000000000000000042031411173710400171560ustar00rootroot00000000000000'use strict' // Tar can encode large and negative numbers using a leading byte of // 0xff for negative, and 0x80 for positive. const encode = (num, buf) => { if (!Number.isSafeInteger(num)) // The number is so large that javascript cannot represent it with integer // precision. throw Error('cannot encode number outside of javascript safe integer range') else if (num < 0) encodeNegative(num, buf) else encodePositive(num, buf) return buf } const encodePositive = (num, buf) => { buf[0] = 0x80 for (var i = buf.length; i > 1; i--) { buf[i - 1] = num & 0xff num = Math.floor(num / 0x100) } } const encodeNegative = (num, buf) => { buf[0] = 0xff var flipped = false num = num * -1 for (var i = buf.length; i > 1; i--) { var byte = num & 0xff num = Math.floor(num / 0x100) if (flipped) buf[i - 1] = onesComp(byte) else if (byte === 0) buf[i - 1] = 0 else { flipped = true buf[i - 1] = twosComp(byte) } } } const parse = (buf) => { const pre = buf[0] const value = pre === 0x80 ? pos(buf.slice(1, buf.length)) : pre === 0xff ? twos(buf) : null if (value === null) throw Error('invalid base256 encoding') if (!Number.isSafeInteger(value)) // The number is so large that javascript cannot represent it with integer // precision. throw Error('parsed number outside of javascript safe integer range') return value } const twos = (buf) => { var len = buf.length var sum = 0 var flipped = false for (var i = len - 1; i > -1; i--) { var byte = buf[i] var f if (flipped) f = onesComp(byte) else if (byte === 0) f = byte else { flipped = true f = twosComp(byte) } if (f !== 0) sum -= f * Math.pow(256, len - i - 1) } return sum } const pos = (buf) => { var len = buf.length var sum = 0 for (var i = len - 1; i > -1; i--) { var byte = buf[i] if (byte !== 0) sum += byte * Math.pow(256, len - i - 1) } return sum } const onesComp = byte => (0xff ^ byte) & 0xff const twosComp = byte => ((0xff ^ byte) + 1) & 0xff module.exports = { encode, parse, } node-tar-6.1.11/lib/list.js000066400000000000000000000061361411173710400153750ustar00rootroot00000000000000'use strict' // XXX: This shares a lot in common with extract.js // maybe some DRY opportunity here? // tar -t const hlo = require('./high-level-opt.js') const Parser = require('./parse.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const stripSlash = require('./strip-trailing-slashes.js') module.exports = (opt_, files, cb) => { if (typeof opt_ === 'function') cb = opt_, files = null, opt_ = {} else if (Array.isArray(opt_)) files = opt_, opt_ = {} if (typeof files === 'function') cb = files, files = null if (!files) files = [] else files = Array.from(files) const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') throw new TypeError('callback not supported for sync tar functions') if (!opt.file && typeof cb === 'function') throw new TypeError('callback only supported with file option') if (files.length) filesFilter(opt, files) if (!opt.noResume) onentryFunction(opt) return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt) } const onentryFunction = opt => { const onentry = opt.onentry opt.onentry = onentry ? e => { onentry(e) e.resume() } : e => e.resume() } // construct a filter that limits the file entries listed // include child entries if a dir is included const filesFilter = (opt, files) => { const map = new Map(files.map(f => [stripSlash(f), true])) const filter = opt.filter const mapHas = (file, r) => { const root = r || path.parse(file).root || '.' const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path.dirname(file), root) map.set(file, ret) return ret } opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : file => mapHas(stripSlash(file)) } const listFileSync = opt => { const p = list(opt) const file = opt.file let threw = true let fd try { const stat = fs.statSync(file) const readSize = opt.maxReadSize || 16 * 1024 * 1024 if (stat.size < readSize) p.end(fs.readFileSync(file)) else { let pos = 0 const buf = Buffer.allocUnsafe(readSize) fd = fs.openSync(file, 'r') while (pos < stat.size) { const bytesRead = fs.readSync(fd, buf, 0, readSize, pos) pos += bytesRead p.write(buf.slice(0, bytesRead)) } p.end() } threw = false } finally { if (threw && fd) { try { fs.closeSync(fd) } catch (er) {} } } } const listFile = (opt, cb) => { const parse = new Parser(opt) const readSize = opt.maxReadSize || 16 * 1024 * 1024 const file = opt.file const p = new Promise((resolve, reject) => { parse.on('error', reject) parse.on('end', resolve) fs.stat(file, (er, stat) => { if (er) reject(er) else { const stream = new fsm.ReadStream(file, { readSize: readSize, size: stat.size, }) stream.on('error', reject) stream.pipe(parse) } }) }) return cb ? p.then(cb, cb) : p } const list = opt => new Parser(opt) node-tar-6.1.11/lib/mkdir.js000066400000000000000000000123311411173710400155220ustar00rootroot00000000000000'use strict' // wrapper around mkdirp for tar's needs. // TODO: This should probably be a class, not functionally // passing around state in a gazillion args. const mkdirp = require('mkdirp') const fs = require('fs') const path = require('path') const chownr = require('chownr') const normPath = require('./normalize-windows-path.js') class SymlinkError extends Error { constructor (symlink, path) { super('Cannot extract through symbolic link') this.path = path this.symlink = symlink } get name () { return 'SylinkError' } } class CwdError extends Error { constructor (path, code) { super(code + ': Cannot cd into \'' + path + '\'') this.path = path this.code = code } get name () { return 'CwdError' } } const cGet = (cache, key) => cache.get(normPath(key)) const cSet = (cache, key, val) => cache.set(normPath(key), val) const checkCwd = (dir, cb) => { fs.stat(dir, (er, st) => { if (er || !st.isDirectory()) er = new CwdError(dir, er && er.code || 'ENOTDIR') cb(er) }) } module.exports = (dir, opt, cb) => { dir = normPath(dir) // if there's any overlap between mask and mode, // then we'll need an explicit chmod const umask = opt.umask const mode = opt.mode | 0o0700 const needChmod = (mode & umask) !== 0 const uid = opt.uid const gid = opt.gid const doChown = typeof uid === 'number' && typeof gid === 'number' && (uid !== opt.processUid || gid !== opt.processGid) const preserve = opt.preserve const unlink = opt.unlink const cache = opt.cache const cwd = normPath(opt.cwd) const done = (er, created) => { if (er) cb(er) else { cSet(cache, dir, true) if (created && doChown) chownr(created, uid, gid, er => done(er)) else if (needChmod) fs.chmod(dir, mode, cb) else cb() } } if (cache && cGet(cache, dir) === true) return done() if (dir === cwd) return checkCwd(dir, done) if (preserve) return mkdirp(dir, {mode}).then(made => done(null, made), done) const sub = normPath(path.relative(cwd, dir)) const parts = sub.split('/') mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done) } const mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => { if (!parts.length) return cb(null, created) const p = parts.shift() const part = normPath(path.resolve(base + '/' + p)) if (cGet(cache, part)) return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)) } const onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => er => { if (er) { fs.lstat(part, (statEr, st) => { if (statEr) { statEr.path = statEr.path && normPath(statEr.path) cb(statEr) } else if (st.isDirectory()) mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) else if (unlink) { fs.unlink(part, er => { if (er) return cb(er) fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)) }) } else if (st.isSymbolicLink()) return cb(new SymlinkError(part, part + '/' + parts.join('/'))) else cb(er) }) } else { created = created || part mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) } } const checkCwdSync = dir => { let ok = false let code = 'ENOTDIR' try { ok = fs.statSync(dir).isDirectory() } catch (er) { code = er.code } finally { if (!ok) throw new CwdError(dir, code) } } module.exports.sync = (dir, opt) => { dir = normPath(dir) // if there's any overlap between mask and mode, // then we'll need an explicit chmod const umask = opt.umask const mode = opt.mode | 0o0700 const needChmod = (mode & umask) !== 0 const uid = opt.uid const gid = opt.gid const doChown = typeof uid === 'number' && typeof gid === 'number' && (uid !== opt.processUid || gid !== opt.processGid) const preserve = opt.preserve const unlink = opt.unlink const cache = opt.cache const cwd = normPath(opt.cwd) const done = (created) => { cSet(cache, dir, true) if (created && doChown) chownr.sync(created, uid, gid) if (needChmod) fs.chmodSync(dir, mode) } if (cache && cGet(cache, dir) === true) return done() if (dir === cwd) { checkCwdSync(cwd) return done() } if (preserve) return done(mkdirp.sync(dir, mode)) const sub = normPath(path.relative(cwd, dir)) const parts = sub.split('/') let created = null for (let p = parts.shift(), part = cwd; p && (part += '/' + p); p = parts.shift()) { part = normPath(path.resolve(part)) if (cGet(cache, part)) continue try { fs.mkdirSync(part, mode) created = created || part cSet(cache, part, true) } catch (er) { const st = fs.lstatSync(part) if (st.isDirectory()) { cSet(cache, part, true) continue } else if (unlink) { fs.unlinkSync(part) fs.mkdirSync(part, mode) created = created || part cSet(cache, part, true) continue } else if (st.isSymbolicLink()) return new SymlinkError(part, part + '/' + parts.join('/')) } } return done(created) } node-tar-6.1.11/lib/mode-fix.js000066400000000000000000000011531411173710400161240ustar00rootroot00000000000000'use strict' module.exports = (mode, isDir, portable) => { mode &= 0o7777 // in portable mode, use the minimum reasonable umask // if this system creates files with 0o664 by default // (as some linux distros do), then we'll write the // archive with 0o644 instead. Also, don't ever create // a file that is not readable/writable by the owner. if (portable) mode = (mode | 0o600) & ~0o22 // 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 } node-tar-6.1.11/lib/normalize-unicode.js000066400000000000000000000006251411173710400200430ustar00rootroot00000000000000// warning: extremely hot code path. // This has been meticulously optimized for use // within npm install on large package trees. // Do not edit without careful benchmarking. const normalizeCache = Object.create(null) const {hasOwnProperty} = Object.prototype module.exports = s => { if (!hasOwnProperty.call(normalizeCache, s)) normalizeCache[s] = s.normalize('NFKD') return normalizeCache[s] } node-tar-6.1.11/lib/normalize-windows-path.js000066400000000000000000000006321411173710400210370ustar00rootroot00000000000000// on windows, either \ or / are valid directory separators. // on unix, \ is a valid character in filenames. // so, on windows, and only on windows, we replace all \ chars with /, // so that we can use / as our one and only directory separator char. const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform module.exports = platform !== 'win32' ? p => p : p => p && p.replace(/\\/g, '/') node-tar-6.1.11/lib/pack.js000066400000000000000000000223431411173710400153360ustar00rootroot00000000000000'use strict' // A readable tar stream creator // Technically, this is a transform stream that you write paths into, // and tar format comes out of. // The `add()` method is like `write()` but returns this, // and end() return `this` as well, so you can // do `new Pack(opt).add('files').add('dir').end().pipe(output) // You could also do something like: // streamOfPaths().pipe(new Pack()).pipe(new fs.WriteStream('out.tar')) class PackJob { constructor (path, absolute) { this.path = path || './' this.absolute = absolute this.entry = null this.stat = null this.readdir = null this.pending = false this.ignore = false this.piped = false } } const MiniPass = require('minipass') const zlib = require('minizlib') const ReadEntry = require('./read-entry.js') const WriteEntry = require('./write-entry.js') const WriteEntrySync = WriteEntry.Sync const WriteEntryTar = WriteEntry.Tar const Yallist = require('yallist') const EOF = Buffer.alloc(1024) const ONSTAT = Symbol('onStat') const ENDED = Symbol('ended') const QUEUE = Symbol('queue') const CURRENT = Symbol('current') const PROCESS = Symbol('process') const PROCESSING = Symbol('processing') const PROCESSJOB = Symbol('processJob') const JOBS = Symbol('jobs') const JOBDONE = Symbol('jobDone') const ADDFSENTRY = Symbol('addFSEntry') const ADDTARENTRY = Symbol('addTarEntry') const STAT = Symbol('stat') const READDIR = Symbol('readdir') const ONREADDIR = Symbol('onreaddir') const PIPE = Symbol('pipe') const ENTRY = Symbol('entry') const ENTRYOPT = Symbol('entryOpt') const WRITEENTRYCLASS = Symbol('writeEntryClass') const WRITE = Symbol('write') const ONDRAIN = Symbol('ondrain') const fs = require('fs') const path = require('path') const warner = require('./warn-mixin.js') const normPath = require('./normalize-windows-path.js') const Pack = warner(class Pack extends MiniPass { constructor (opt) { super(opt) opt = opt || Object.create(null) this.opt = opt this.file = opt.file || '' this.cwd = opt.cwd || process.cwd() this.maxReadSize = opt.maxReadSize this.preservePaths = !!opt.preservePaths this.strict = !!opt.strict this.noPax = !!opt.noPax this.prefix = normPath(opt.prefix || '') 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) this.portable = !!opt.portable this.zip = null if (opt.gzip) { if (typeof opt.gzip !== 'object') opt.gzip = {} if (this.portable) opt.gzip.portable = true this.zip = new zlib.Gzip(opt.gzip) this.zip.on('data', chunk => super.write(chunk)) this.zip.on('end', _ => super.end()) this.zip.on('drain', _ => this[ONDRAIN]()) this.on('resume', _ => this.zip.resume()) } else this.on('drain', this[ONDRAIN]) this.noDirRecurse = !!opt.noDirRecurse this.follow = !!opt.follow this.noMtime = !!opt.noMtime this.mtime = opt.mtime || null this.filter = typeof opt.filter === 'function' ? opt.filter : _ => true this[QUEUE] = new Yallist() this[JOBS] = 0 this.jobs = +opt.jobs || 4 this[PROCESSING] = false this[ENDED] = false } [WRITE] (chunk) { return super.write(chunk) } add (path) { this.write(path) return this } end (path) { if (path) this.write(path) this[ENDED] = true this[PROCESS]() return this } write (path) { if (this[ENDED]) throw new Error('write after end') if (path instanceof ReadEntry) this[ADDTARENTRY](path) else this[ADDFSENTRY](path) return this.flowing } [ADDTARENTRY] (p) { const absolute = normPath(path.resolve(this.cwd, p.path)) // in this case, we don't have to wait for the stat if (!this.filter(p.path, p)) p.resume() else { const job = new PackJob(p.path, absolute, false) job.entry = new WriteEntryTar(p, this[ENTRYOPT](job)) job.entry.on('end', _ => this[JOBDONE](job)) this[JOBS] += 1 this[QUEUE].push(job) } this[PROCESS]() } [ADDFSENTRY] (p) { const absolute = normPath(path.resolve(this.cwd, p)) this[QUEUE].push(new PackJob(p, absolute)) this[PROCESS]() } [STAT] (job) { job.pending = true this[JOBS] += 1 const stat = this.follow ? 'stat' : 'lstat' fs[stat](job.absolute, (er, stat) => { job.pending = false this[JOBS] -= 1 if (er) this.emit('error', er) else this[ONSTAT](job, stat) }) } [ONSTAT] (job, stat) { this.statCache.set(job.absolute, stat) job.stat = stat // now we have the stat, we can filter it. if (!this.filter(job.path, stat)) job.ignore = true this[PROCESS]() } [READDIR] (job) { job.pending = true this[JOBS] += 1 fs.readdir(job.absolute, (er, entries) => { job.pending = false this[JOBS] -= 1 if (er) return this.emit('error', er) this[ONREADDIR](job, entries) }) } [ONREADDIR] (job, entries) { this.readdirCache.set(job.absolute, entries) job.readdir = entries this[PROCESS]() } [PROCESS] () { if (this[PROCESSING]) return this[PROCESSING] = true for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) { this[PROCESSJOB](w.value) if (w.value.ignore) { const p = w.next this[QUEUE].removeNode(w) w.next = p } } this[PROCESSING] = false if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) { if (this.zip) this.zip.end(EOF) else { super.write(EOF) super.end() } } } get [CURRENT] () { return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value } [JOBDONE] (job) { this[QUEUE].shift() this[JOBS] -= 1 this[PROCESS]() } [PROCESSJOB] (job) { if (job.pending) return if (job.entry) { if (job === this[CURRENT] && !job.piped) this[PIPE](job) return } if (!job.stat) { if (this.statCache.has(job.absolute)) this[ONSTAT](job, this.statCache.get(job.absolute)) else this[STAT](job) } if (!job.stat) return // filtered out! if (job.ignore) return if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) { if (this.readdirCache.has(job.absolute)) this[ONREADDIR](job, this.readdirCache.get(job.absolute)) else this[READDIR](job) if (!job.readdir) return } // we know it doesn't have an entry, because that got checked above job.entry = this[ENTRY](job) if (!job.entry) { job.ignore = true return } if (job === this[CURRENT] && !job.piped) this[PIPE](job) } [ENTRYOPT] (job) { return { onwarn: (code, msg, data) => this.warn(code, msg, data), noPax: this.noPax, cwd: this.cwd, absolute: job.absolute, preservePaths: this.preservePaths, maxReadSize: this.maxReadSize, strict: this.strict, portable: this.portable, linkCache: this.linkCache, statCache: this.statCache, noMtime: this.noMtime, mtime: this.mtime, prefix: this.prefix, } } [ENTRY] (job) { this[JOBS] += 1 try { return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)) .on('end', () => this[JOBDONE](job)) .on('error', er => this.emit('error', er)) } catch (er) { this.emit('error', er) } } [ONDRAIN] () { if (this[CURRENT] && this[CURRENT].entry) this[CURRENT].entry.resume() } // like .pipe() but using super, because our write() is special [PIPE] (job) { job.piped = true if (job.readdir) { job.readdir.forEach(entry => { const p = job.path const base = p === './' ? '' : p.replace(/\/*$/, '/') this[ADDFSENTRY](base + entry) }) } const source = job.entry const zip = this.zip if (zip) { source.on('data', chunk => { if (!zip.write(chunk)) source.pause() }) } else { source.on('data', chunk => { if (!super.write(chunk)) source.pause() }) } } pause () { if (this.zip) this.zip.pause() return super.pause() } }) class PackSync extends Pack { constructor (opt) { super(opt) this[WRITEENTRYCLASS] = WriteEntrySync } // pause/resume are no-ops in sync streams. pause () {} resume () {} [STAT] (job) { const stat = this.follow ? 'statSync' : 'lstatSync' this[ONSTAT](job, fs[stat](job.absolute)) } [READDIR] (job, stat) { this[ONREADDIR](job, fs.readdirSync(job.absolute)) } // gotta get it all in this tick [PIPE] (job) { const source = job.entry const zip = this.zip if (job.readdir) { job.readdir.forEach(entry => { const p = job.path const base = p === './' ? '' : p.replace(/\/*$/, '/') this[ADDFSENTRY](base + entry) }) } if (zip) { source.on('data', chunk => { zip.write(chunk) }) } else { source.on('data', chunk => { super[WRITE](chunk) }) } } } Pack.Sync = PackSync module.exports = Pack node-tar-6.1.11/lib/parse.js000066400000000000000000000335551411173710400155410ustar00rootroot00000000000000'use strict' // this[BUFFER] is the remainder of a chunk if we're waiting for // the full 512 bytes of a header to come in. We will Buffer.concat() // it to the next write(), which is a mem copy, but a small one. // // this[QUEUE] is a Yallist of entries that haven't been emitted // yet this can only get filled up if the user keeps write()ing after // a write() returns false, or does a write() with more than one entry // // We don't buffer chunks, we always parse them and either create an // entry, or push it into the active entry. The ReadEntry class knows // to throw data away if .ignore=true // // Shift entry off the buffer when it emits 'end', and emit 'entry' for // the next one in the list. // // At any time, we're pushing body chunks into the entry at WRITEENTRY, // and waiting for 'end' on the entry at READENTRY // // ignored entries get .resume() called on them straight away const warner = require('./warn-mixin.js') const Header = require('./header.js') const EE = require('events') const Yallist = require('yallist') const maxMetaEntrySize = 1024 * 1024 const Entry = require('./read-entry.js') const Pax = require('./pax.js') const zlib = require('minizlib') const gzipHeader = Buffer.from([0x1f, 0x8b]) const STATE = Symbol('state') const WRITEENTRY = Symbol('writeEntry') const READENTRY = Symbol('readEntry') const NEXTENTRY = Symbol('nextEntry') const PROCESSENTRY = Symbol('processEntry') const EX = Symbol('extendedHeader') const GEX = Symbol('globalExtendedHeader') const META = Symbol('meta') const EMITMETA = Symbol('emitMeta') const BUFFER = Symbol('buffer') const QUEUE = Symbol('queue') const ENDED = Symbol('ended') const EMITTEDEND = Symbol('emittedEnd') const EMIT = Symbol('emit') const UNZIP = Symbol('unzip') const CONSUMECHUNK = Symbol('consumeChunk') const CONSUMECHUNKSUB = Symbol('consumeChunkSub') const CONSUMEBODY = Symbol('consumeBody') const CONSUMEMETA = Symbol('consumeMeta') const CONSUMEHEADER = Symbol('consumeHeader') const CONSUMING = Symbol('consuming') const BUFFERCONCAT = Symbol('bufferConcat') const MAYBEEND = Symbol('maybeEnd') const WRITING = Symbol('writing') const ABORTED = Symbol('aborted') const DONE = Symbol('onDone') const SAW_VALID_ENTRY = Symbol('sawValidEntry') const SAW_NULL_BLOCK = Symbol('sawNullBlock') const SAW_EOF = Symbol('sawEOF') const noop = _ => true module.exports = warner(class Parser extends EE { constructor (opt) { opt = opt || {} super(opt) this.file = opt.file || '' // set to boolean false when an entry starts. 1024 bytes of \0 // is technically a valid tarball, albeit a boring one. this[SAW_VALID_ENTRY] = null // these BADARCHIVE errors can't be detected early. listen on DONE. this.on(DONE, _ => { if (this[STATE] === 'begin' || this[SAW_VALID_ENTRY] === false) { // either less than 1 block of data, or all entries were invalid. // Either way, probably not even a tarball. this.warn('TAR_BAD_ARCHIVE', 'Unrecognized archive format') } }) if (opt.ondone) this.on(DONE, opt.ondone) else { this.on(DONE, _ => { this.emit('prefinish') this.emit('finish') this.emit('end') this.emit('close') }) } this.strict = !!opt.strict this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize this.filter = typeof opt.filter === 'function' ? opt.filter : noop // have to set this so that streams are ok piping into it this.writable = true this.readable = false this[QUEUE] = new Yallist() this[BUFFER] = null this[READENTRY] = null this[WRITEENTRY] = null this[STATE] = 'begin' this[META] = '' this[EX] = null this[GEX] = null this[ENDED] = false this[UNZIP] = null this[ABORTED] = false this[SAW_NULL_BLOCK] = false this[SAW_EOF] = false if (typeof opt.onwarn === 'function') this.on('warn', opt.onwarn) if (typeof opt.onentry === 'function') this.on('entry', opt.onentry) } [CONSUMEHEADER] (chunk, position) { if (this[SAW_VALID_ENTRY] === null) this[SAW_VALID_ENTRY] = false let header try { header = new Header(chunk, position, this[EX], this[GEX]) } catch (er) { return this.warn('TAR_ENTRY_INVALID', er) } if (header.nullBlock) { if (this[SAW_NULL_BLOCK]) { this[SAW_EOF] = true // ending an archive with no entries. pointless, but legal. if (this[STATE] === 'begin') this[STATE] = 'header' this[EMIT]('eof') } else { this[SAW_NULL_BLOCK] = true this[EMIT]('nullBlock') } } else { this[SAW_NULL_BLOCK] = false if (!header.cksumValid) this.warn('TAR_ENTRY_INVALID', 'checksum failure', {header}) else if (!header.path) this.warn('TAR_ENTRY_INVALID', 'path is required', {header}) else { const type = header.type if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) this.warn('TAR_ENTRY_INVALID', 'linkpath required', {header}) else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) this.warn('TAR_ENTRY_INVALID', 'linkpath forbidden', {header}) else { const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]) // we do this for meta & ignored entries as well, because they // are still valid tar, or else we wouldn't know to ignore them if (!this[SAW_VALID_ENTRY]) { if (entry.remain) { // this might be the one! const onend = () => { if (!entry.invalid) this[SAW_VALID_ENTRY] = true } entry.on('end', onend) } else this[SAW_VALID_ENTRY] = true } if (entry.meta) { if (entry.size > this.maxMetaEntrySize) { entry.ignore = true this[EMIT]('ignoredEntry', entry) this[STATE] = 'ignore' entry.resume() } else if (entry.size > 0) { this[META] = '' entry.on('data', c => this[META] += c) this[STATE] = 'meta' } } else { this[EX] = null entry.ignore = entry.ignore || !this.filter(entry.path, entry) if (entry.ignore) { // probably valid, just not something we care about this[EMIT]('ignoredEntry', entry) this[STATE] = entry.remain ? 'ignore' : 'header' entry.resume() } else { if (entry.remain) this[STATE] = 'body' else { this[STATE] = 'header' entry.end() } if (!this[READENTRY]) { this[QUEUE].push(entry) this[NEXTENTRY]() } else this[QUEUE].push(entry) } } } } } } [PROCESSENTRY] (entry) { let go = true if (!entry) { this[READENTRY] = null go = false } else if (Array.isArray(entry)) this.emit.apply(this, entry) else { this[READENTRY] = entry this.emit('entry', entry) if (!entry.emittedEnd) { entry.on('end', _ => this[NEXTENTRY]()) go = false } } return go } [NEXTENTRY] () { do {} while (this[PROCESSENTRY](this[QUEUE].shift())) if (!this[QUEUE].length) { // At this point, there's nothing in the queue, but we may have an // entry which is being consumed (readEntry). // If we don't, then we definitely can handle more data. // If we do, and either it's flowing, or it has never had any data // written to it, then it needs more. // The only other possibility is that it has returned false from a // write() call, so we wait for the next drain to continue. const re = this[READENTRY] const drainNow = !re || re.flowing || re.size === re.remain if (drainNow) { if (!this[WRITING]) this.emit('drain') } else re.once('drain', _ => this.emit('drain')) } } [CONSUMEBODY] (chunk, position) { // write up to but no more than writeEntry.blockRemain const entry = this[WRITEENTRY] const br = entry.blockRemain const c = (br >= chunk.length && position === 0) ? chunk : chunk.slice(position, position + br) entry.write(c) if (!entry.blockRemain) { this[STATE] = 'header' this[WRITEENTRY] = null entry.end() } return c.length } [CONSUMEMETA] (chunk, position) { const entry = this[WRITEENTRY] const ret = this[CONSUMEBODY](chunk, position) // if we finished, then the entry is reset if (!this[WRITEENTRY]) this[EMITMETA](entry) return ret } [EMIT] (ev, data, extra) { if (!this[QUEUE].length && !this[READENTRY]) this.emit(ev, data, extra) else this[QUEUE].push([ev, data, extra]) } [EMITMETA] (entry) { this[EMIT]('meta', this[META]) switch (entry.type) { case 'ExtendedHeader': case 'OldExtendedHeader': this[EX] = Pax.parse(this[META], this[EX], false) break case 'GlobalExtendedHeader': this[GEX] = Pax.parse(this[META], this[GEX], true) break case 'NextFileHasLongPath': case 'OldGnuLongPath': this[EX] = this[EX] || Object.create(null) this[EX].path = this[META].replace(/\0.*/, '') break case 'NextFileHasLongLinkpath': this[EX] = this[EX] || Object.create(null) this[EX].linkpath = this[META].replace(/\0.*/, '') break /* istanbul ignore next */ default: throw new Error('unknown meta: ' + entry.type) } } abort (error) { this[ABORTED] = true this.emit('abort', error) // always throws, even in non-strict mode this.warn('TAR_ABORT', error, { recoverable: false }) } write (chunk) { if (this[ABORTED]) return // first write, might be gzipped if (this[UNZIP] === null && chunk) { if (this[BUFFER]) { chunk = Buffer.concat([this[BUFFER], chunk]) this[BUFFER] = null } if (chunk.length < gzipHeader.length) { this[BUFFER] = chunk return true } for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) { if (chunk[i] !== gzipHeader[i]) this[UNZIP] = false } if (this[UNZIP] === null) { const ended = this[ENDED] this[ENDED] = false this[UNZIP] = new zlib.Unzip() this[UNZIP].on('data', chunk => this[CONSUMECHUNK](chunk)) this[UNZIP].on('error', er => this.abort(er)) this[UNZIP].on('end', _ => { this[ENDED] = true this[CONSUMECHUNK]() }) this[WRITING] = true const ret = this[UNZIP][ended ? 'end' : 'write'](chunk) this[WRITING] = false return ret } } this[WRITING] = true if (this[UNZIP]) this[UNZIP].write(chunk) else this[CONSUMECHUNK](chunk) this[WRITING] = false // return false if there's a queue, or if the current entry isn't flowing const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true // if we have no queue, then that means a clogged READENTRY if (!ret && !this[QUEUE].length) this[READENTRY].once('drain', _ => this.emit('drain')) return ret } [BUFFERCONCAT] (c) { if (c && !this[ABORTED]) this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c } [MAYBEEND] () { if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) { this[EMITTEDEND] = true const entry = this[WRITEENTRY] if (entry && entry.blockRemain) { // truncated, likely a damaged file const have = this[BUFFER] ? this[BUFFER].length : 0 this.warn('TAR_BAD_ARCHIVE', `Truncated input (needed ${ entry.blockRemain} more bytes, only ${have} available)`, {entry}) if (this[BUFFER]) entry.write(this[BUFFER]) entry.end() } this[EMIT](DONE) } } [CONSUMECHUNK] (chunk) { if (this[CONSUMING]) this[BUFFERCONCAT](chunk) else if (!chunk && !this[BUFFER]) this[MAYBEEND]() else { this[CONSUMING] = true if (this[BUFFER]) { this[BUFFERCONCAT](chunk) const c = this[BUFFER] this[BUFFER] = null this[CONSUMECHUNKSUB](c) } else this[CONSUMECHUNKSUB](chunk) while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) { const c = this[BUFFER] this[BUFFER] = null this[CONSUMECHUNKSUB](c) } this[CONSUMING] = false } if (!this[BUFFER] || this[ENDED]) this[MAYBEEND]() } [CONSUMECHUNKSUB] (chunk) { // we know that we are in CONSUMING mode, so anything written goes into // the buffer. Advance the position and put any remainder in the buffer. let position = 0 const length = chunk.length while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) { switch (this[STATE]) { case 'begin': case 'header': this[CONSUMEHEADER](chunk, position) position += 512 break case 'ignore': case 'body': position += this[CONSUMEBODY](chunk, position) break case 'meta': position += this[CONSUMEMETA](chunk, position) break /* istanbul ignore next */ default: throw new Error('invalid state: ' + this[STATE]) } } if (position < length) { if (this[BUFFER]) this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]) else this[BUFFER] = chunk.slice(position) } } end (chunk) { if (!this[ABORTED]) { if (this[UNZIP]) this[UNZIP].end(chunk) else { this[ENDED] = true this.write(chunk) } } } }) node-tar-6.1.11/lib/path-reservations.js000066400000000000000000000103221411173710400200700ustar00rootroot00000000000000// A path exclusive reservation system // reserve([list, of, paths], fn) // When the fn is first in line for all its paths, it // is called with a cb that clears the reservation. // // Used by async unpack to avoid clobbering paths in use, // while still allowing maximal safe parallelization. const assert = require('assert') const normalize = require('./normalize-unicode.js') const stripSlashes = require('./strip-trailing-slashes.js') const { join } = require('path') const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform const isWindows = platform === 'win32' module.exports = () => { // path => [function or Set] // A Set object means a directory reservation // A fn is a direct reservation on that path const queues = new Map() // fn => {paths:[path,...], dirs:[path, ...]} const reservations = new Map() // return a set of parent dirs for a given path // '/a/b/c/d' -> ['/', '/a', '/a/b', '/a/b/c', '/a/b/c/d'] const getDirs = path => { const dirs = path.split('/').slice(0, -1).reduce((set, path) => { if (set.length) path = join(set[set.length - 1], path) set.push(path || '/') return set }, []) return dirs } // functions currently running const running = new Set() // return the queues for each path the function cares about // fn => {paths, dirs} const getQueues = fn => { const res = reservations.get(fn) /* istanbul ignore if - unpossible */ if (!res) throw new Error('function does not have any path reservations') return { paths: res.paths.map(path => queues.get(path)), dirs: [...res.dirs].map(path => queues.get(path)), } } // check if fn is first in line for all its paths, and is // included in the first set for all its dir queues const check = fn => { const {paths, dirs} = getQueues(fn) return paths.every(q => q[0] === fn) && dirs.every(q => q[0] instanceof Set && q[0].has(fn)) } // run the function if it's first in line and not already running const run = fn => { if (running.has(fn) || !check(fn)) return false running.add(fn) fn(() => clear(fn)) return true } const clear = fn => { if (!running.has(fn)) return false const { paths, dirs } = reservations.get(fn) const next = new Set() paths.forEach(path => { const q = queues.get(path) assert.equal(q[0], fn) if (q.length === 1) queues.delete(path) else { q.shift() if (typeof q[0] === 'function') next.add(q[0]) else q[0].forEach(fn => next.add(fn)) } }) dirs.forEach(dir => { const q = queues.get(dir) assert(q[0] instanceof Set) if (q[0].size === 1 && q.length === 1) queues.delete(dir) else if (q[0].size === 1) { q.shift() // must be a function or else the Set would've been reused next.add(q[0]) } else q[0].delete(fn) }) running.delete(fn) next.forEach(fn => run(fn)) return true } const reserve = (paths, fn) => { // collide on matches across case and unicode normalization // On windows, thanks to the magic of 8.3 shortnames, it is fundamentally // impossible to determine whether two paths refer to the same thing on // disk, without asking the kernel for a shortname. // So, we just pretend that every path matches every other path here, // effectively removing all parallelization on windows. paths = isWindows ? ['win32 parallelization disabled'] : paths.map(p => { // don't need normPath, because we skip this entirely for windows return normalize(stripSlashes(join(p))).toLowerCase() }) const dirs = new Set( paths.map(path => getDirs(path)).reduce((a, b) => a.concat(b)) ) reservations.set(fn, {dirs, paths}) paths.forEach(path => { const q = queues.get(path) if (!q) queues.set(path, [fn]) else q.push(fn) }) dirs.forEach(dir => { const q = queues.get(dir) if (!q) queues.set(dir, [new Set([fn])]) else if (q[q.length - 1] instanceof Set) q[q.length - 1].add(fn) else q.push(new Set([fn])) }) return run(fn) } return { check, reserve } } node-tar-6.1.11/lib/pax.js000066400000000000000000000076611411173710400152160ustar00rootroot00000000000000'use strict' const Header = require('./header.js') const path = require('path') class Pax { constructor (obj, global) { this.atime = obj.atime || null this.charset = obj.charset || null this.comment = obj.comment || null this.ctime = obj.ctime || null this.gid = obj.gid || null this.gname = obj.gname || null this.linkpath = obj.linkpath || null this.mtime = obj.mtime || null this.path = obj.path || null this.size = obj.size || null this.uid = obj.uid || null this.uname = obj.uname || null this.dev = obj.dev || null this.ino = obj.ino || null this.nlink = obj.nlink || null this.global = global || false } encode () { const body = this.encodeBody() if (body === '') return null const bodyLen = Buffer.byteLength(body) // round up to 512 bytes // add 512 for header const bufLen = 512 * Math.ceil(1 + bodyLen / 512) const buf = Buffer.allocUnsafe(bufLen) // 0-fill the header section, it might not hit every field for (let i = 0; i < 512; i++) buf[i] = 0 new Header({ // XXX split the path // then the path should be PaxHeader + basename, but less than 99, // prepend with the dirname path: ('PaxHeader/' + path.basename(this.path)).slice(0, 99), mode: this.mode || 0o644, uid: this.uid || null, gid: this.gid || null, size: bodyLen, mtime: this.mtime || null, type: this.global ? 'GlobalExtendedHeader' : 'ExtendedHeader', linkpath: '', uname: this.uname || '', gname: this.gname || '', devmaj: 0, devmin: 0, atime: this.atime || null, ctime: this.ctime || null, }).encode(buf) buf.write(body, 512, bodyLen, 'utf8') // null pad after the body for (let i = bodyLen + 512; i < buf.length; i++) buf[i] = 0 return buf } encodeBody () { return ( this.encodeField('path') + this.encodeField('ctime') + this.encodeField('atime') + this.encodeField('dev') + this.encodeField('ino') + this.encodeField('nlink') + this.encodeField('charset') + this.encodeField('comment') + this.encodeField('gid') + this.encodeField('gname') + this.encodeField('linkpath') + this.encodeField('mtime') + this.encodeField('size') + this.encodeField('uid') + this.encodeField('uname') ) } encodeField (field) { if (this[field] === null || this[field] === undefined) return '' const v = this[field] instanceof Date ? this[field].getTime() / 1000 : this[field] const s = ' ' + (field === 'dev' || field === 'ino' || field === 'nlink' ? 'SCHILY.' : '') + field + '=' + v + '\n' const byteLen = Buffer.byteLength(s) // the digits includes the length of the digits in ascii base-10 // so if it's 9 characters, then adding 1 for the 9 makes it 10 // which makes it 11 chars. let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1 if (byteLen + digits >= Math.pow(10, digits)) digits += 1 const len = digits + byteLen return len + s } } Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g) const merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a const parseKV = string => string .replace(/\n$/, '') .split('\n') .reduce(parseKVLine, Object.create(null)) const parseKVLine = (set, line) => { const n = parseInt(line, 10) // XXX Values with \n in them will fail this. // Refactor to not be a naive line-by-line parse. if (n !== Buffer.byteLength(line) + 1) return set line = line.substr((n + ' ').length) const kv = line.split('=') const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, '$1') if (!k) return set const v = kv.join('=') set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1000) : /^[0-9]+$/.test(v) ? +v : v return set } module.exports = Pax node-tar-6.1.11/lib/read-entry.js000066400000000000000000000053341411173710400164730ustar00rootroot00000000000000'use strict' const MiniPass = require('minipass') const normPath = require('./normalize-windows-path.js') const SLURP = Symbol('slurp') module.exports = class ReadEntry extends MiniPass { constructor (header, ex, gex) { super() // read entries always start life paused. this is to avoid the // situation where Minipass's auto-ending empty streams results // in an entry ending before we're ready for it. this.pause() this.extended = ex this.globalExtended = gex this.header = header this.startBlockSize = 512 * Math.ceil(header.size / 512) this.blockRemain = this.startBlockSize this.remain = header.size this.type = header.type this.meta = false this.ignore = false switch (this.type) { case 'File': case 'OldFile': case 'Link': case 'SymbolicLink': case 'CharacterDevice': case 'BlockDevice': case 'Directory': case 'FIFO': case 'ContiguousFile': case 'GNUDumpDir': break case 'NextFileHasLongLinkpath': case 'NextFileHasLongPath': case 'OldGnuLongPath': case 'GlobalExtendedHeader': case 'ExtendedHeader': case 'OldExtendedHeader': this.meta = true break // NOTE: gnutar and bsdtar treat unrecognized types as 'File' // it may be worth doing the same, but with a warning. default: this.ignore = true } this.path = normPath(header.path) this.mode = header.mode if (this.mode) this.mode = this.mode & 0o7777 this.uid = header.uid this.gid = header.gid this.uname = header.uname this.gname = header.gname this.size = header.size this.mtime = header.mtime this.atime = header.atime this.ctime = header.ctime this.linkpath = normPath(header.linkpath) this.uname = header.uname this.gname = header.gname if (ex) this[SLURP](ex) if (gex) this[SLURP](gex, true) } write (data) { const writeLen = data.length if (writeLen > this.blockRemain) throw new Error('writing more to entry than is appropriate') const r = this.remain const br = this.blockRemain this.remain = Math.max(0, r - writeLen) this.blockRemain = Math.max(0, br - writeLen) if (this.ignore) return true if (r >= writeLen) return super.write(data) // r < writeLen return super.write(data.slice(0, r)) } [SLURP] (ex, global) { for (const 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] = k === 'path' || k === 'linkpath' ? normPath(ex[k]) : ex[k] } } } node-tar-6.1.11/lib/replace.js000066400000000000000000000125451411173710400160360ustar00rootroot00000000000000'use strict' // tar -r const hlo = require('./high-level-opt.js') const Pack = require('./pack.js') const fs = require('fs') const fsm = require('fs-minipass') const t = require('./list.js') const path = require('path') // starting at the head of the file, read a Header // If the checksum is invalid, that's our position to start writing // If it is, jump forward by the specified size (round up to 512) // and try again. // Write the new Pack stream starting there. const Header = require('./header.js') module.exports = (opt_, files, cb) => { const opt = hlo(opt_) if (!opt.file) throw new TypeError('file is required') if (opt.gzip) throw new TypeError('cannot append to compressed archives') if (!files || !Array.isArray(files) || !files.length) throw new TypeError('no files or directories specified') files = Array.from(files) return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb) } const replaceSync = (opt, files) => { const p = new Pack.Sync(opt) let threw = true let fd let position try { try { fd = fs.openSync(opt.file, 'r+') } catch (er) { if (er.code === 'ENOENT') fd = fs.openSync(opt.file, 'w+') else throw er } const st = fs.fstatSync(fd) const headBuf = Buffer.alloc(512) POSITION: for (position = 0; position < st.size; position += 512) { for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) { bytes = fs.readSync( fd, headBuf, bufPos, headBuf.length - bufPos, position + bufPos ) if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) throw new Error('cannot append to compressed archives') if (!bytes) break POSITION } const h = new Header(headBuf) if (!h.cksumValid) break const entryBlockSize = 512 * Math.ceil(h.size / 512) if (position + entryBlockSize + 512 > st.size) break // the 512 for the header we just parsed will be added as well // also jump ahead all the blocks for the body position += entryBlockSize if (opt.mtimeCache) opt.mtimeCache.set(h.path, h.mtime) } threw = false streamSync(opt, p, position, fd, files) } finally { if (threw) { try { fs.closeSync(fd) } catch (er) {} } } } const streamSync = (opt, p, position, fd, files) => { const stream = new fsm.WriteStreamSync(opt.file, { fd: fd, start: position, }) p.pipe(stream) addFilesSync(p, files) } const replace = (opt, files, cb) => { files = Array.from(files) const p = new Pack(opt) const getPos = (fd, size, cb_) => { const cb = (er, pos) => { if (er) fs.close(fd, _ => cb_(er)) else cb_(null, pos) } let position = 0 if (size === 0) return cb(null, 0) let bufPos = 0 const headBuf = Buffer.alloc(512) const onread = (er, bytes) => { if (er) return cb(er) bufPos += bytes if (bufPos < 512 && bytes) { return fs.read( fd, headBuf, bufPos, headBuf.length - bufPos, position + bufPos, onread ) } if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) return cb(new Error('cannot append to compressed archives')) // truncated header if (bufPos < 512) return cb(null, position) const h = new Header(headBuf) if (!h.cksumValid) return cb(null, position) const entryBlockSize = 512 * Math.ceil(h.size / 512) if (position + entryBlockSize + 512 > size) return cb(null, position) position += entryBlockSize + 512 if (position >= size) return cb(null, position) if (opt.mtimeCache) opt.mtimeCache.set(h.path, h.mtime) bufPos = 0 fs.read(fd, headBuf, 0, 512, position, onread) } fs.read(fd, headBuf, 0, 512, position, onread) } const promise = new Promise((resolve, reject) => { p.on('error', reject) let flag = 'r+' const onopen = (er, fd) => { if (er && er.code === 'ENOENT' && flag === 'r+') { flag = 'w+' return fs.open(opt.file, flag, onopen) } if (er) return reject(er) fs.fstat(fd, (er, st) => { if (er) return fs.close(fd, () => reject(er)) getPos(fd, st.size, (er, position) => { if (er) return reject(er) const stream = new fsm.WriteStream(opt.file, { fd: fd, start: position, }) p.pipe(stream) stream.on('error', reject) stream.on('close', resolve) addFilesAsync(p, files) }) }) } fs.open(opt.file, flag, onopen) }) return cb ? promise.then(cb, cb) : promise } const addFilesSync = (p, files) => { files.forEach(file => { if (file.charAt(0) === '@') { t({ file: path.resolve(p.cwd, file.substr(1)), sync: true, noResume: true, onentry: entry => p.add(entry), }) } else p.add(file) }) p.end() } const addFilesAsync = (p, files) => { while (files.length) { const file = files.shift() if (file.charAt(0) === '@') { return t({ file: path.resolve(p.cwd, file.substr(1)), noResume: true, onentry: entry => p.add(entry), }).then(_ => addFilesAsync(p, files)) } else p.add(file) } p.end() } node-tar-6.1.11/lib/strip-absolute-path.js000066400000000000000000000016261411173710400203300ustar00rootroot00000000000000// unix absolute paths are also absolute on win32, so we use this for both const { isAbsolute, parse } = require('path').win32 // returns [root, stripped] // Note that windows will think that //x/y/z/a has a "root" of //x/y, and in // those cases, we want to sanitize it to x/y/z/a, not z/a, so we strip / // explicitly if it's the first character. // drive-specific relative paths on Windows get their root stripped off even // though they are not absolute, so `c:../foo` becomes ['c:', '../foo'] module.exports = path => { let r = '' let parsed = parse(path) while (isAbsolute(path) || parsed.root) { // windows will think that //x/y/z has a "root" of //x/y/ // but strip the //?/C:/ off of //?/C:/path const root = path.charAt(0) === '/' && path.slice(0, 4) !== '//?/' ? '/' : parsed.root path = path.substr(root.length) r += root parsed = parse(path) } return [r, path] } node-tar-6.1.11/lib/strip-trailing-slashes.js000066400000000000000000000006121411173710400210230ustar00rootroot00000000000000// warning: extremely hot code path. // This has been meticulously optimized for use // within npm install on large package trees. // Do not edit without careful benchmarking. module.exports = str => { let i = str.length - 1 let slashesStart = -1 while (i > -1 && str.charAt(i) === '/') { slashesStart = i i-- } return slashesStart === -1 ? str : str.slice(0, slashesStart) } node-tar-6.1.11/lib/types.js000066400000000000000000000021101411173710400155520ustar00rootroot00000000000000'use strict' // map types from key to human-friendly name exports.name = new Map([ ['0', 'File'], // same as File ['', 'OldFile'], ['1', 'Link'], ['2', 'SymbolicLink'], // Devices and FIFOs aren't fully supported // they are parsed, but skipped when unpacking ['3', 'CharacterDevice'], ['4', 'BlockDevice'], ['5', 'Directory'], ['6', 'FIFO'], // same as File ['7', 'ContiguousFile'], // pax headers ['g', 'GlobalExtendedHeader'], ['x', 'ExtendedHeader'], // vendor-specific stuff // skip ['A', 'SolarisACL'], // like 5, but with data, which should be skipped ['D', 'GNUDumpDir'], // metadata only, skip ['I', 'Inode'], // data = link path of next file ['K', 'NextFileHasLongLinkpath'], // data = path of next file ['L', 'NextFileHasLongPath'], // skip ['M', 'ContinuationFile'], // like L ['N', 'OldGnuLongPath'], // skip ['S', 'SparseFile'], // skip ['V', 'TapeVolumeHeader'], // like x ['X', 'OldExtendedHeader'], ]) // map the other direction exports.code = new Map(Array.from(exports.name).map(kv => [kv[1], kv[0]])) node-tar-6.1.11/lib/unpack.js000066400000000000000000000607271411173710400157110ustar00rootroot00000000000000'use strict' // the PEND/UNPEND stuff tracks whether we're ready to emit end/close yet. // but the path reservations are required to avoid race conditions where // parallelized unpack ops may mess with one another, due to dependencies // (like a Link depending on its target) or destructive operations (like // clobbering an fs object to create one of a different type.) const assert = require('assert') const Parser = require('./parse.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const mkdir = require('./mkdir.js') const wc = require('./winchars.js') const pathReservations = require('./path-reservations.js') const stripAbsolutePath = require('./strip-absolute-path.js') const normPath = require('./normalize-windows-path.js') const stripSlash = require('./strip-trailing-slashes.js') const normalize = require('./normalize-unicode.js') const ONENTRY = Symbol('onEntry') const CHECKFS = Symbol('checkFs') const CHECKFS2 = Symbol('checkFs2') const PRUNECACHE = Symbol('pruneCache') const ISREUSABLE = Symbol('isReusable') const MAKEFS = Symbol('makeFs') const FILE = Symbol('file') const DIRECTORY = Symbol('directory') const LINK = Symbol('link') const SYMLINK = Symbol('symlink') const HARDLINK = Symbol('hardlink') const UNSUPPORTED = Symbol('unsupported') const CHECKPATH = Symbol('checkPath') const MKDIR = Symbol('mkdir') const ONERROR = Symbol('onError') const PENDING = Symbol('pending') const PEND = Symbol('pend') const UNPEND = Symbol('unpend') const ENDED = Symbol('ended') const MAYBECLOSE = Symbol('maybeClose') const SKIP = Symbol('skip') const DOCHOWN = Symbol('doChown') const UID = Symbol('uid') const GID = Symbol('gid') const CHECKED_CWD = Symbol('checkedCwd') const crypto = require('crypto') const getFlag = require('./get-write-flag.js') const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform const isWindows = platform === 'win32' // 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 (!isWindows) 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 (!isWindows) 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) => a === a >>> 0 ? a : b === b >>> 0 ? b : c // clear the cache if it's a case-insensitive unicode-squashing match. // we can't know if the current file system is case-sensitive or supports // unicode fully, so we check for similarity on the maximally compatible // representation. Err on the side of pruning, since all it's doing is // preventing lstats, and it's not the end of the world if we get a false // positive. // Note that on windows, we always drop the entire cache whenever a // symbolic link is encountered, because 8.3 filenames are impossible // to reason about, and collisions are hazards rather than just failures. const cacheKeyNormalize = path => normalize(stripSlash(normPath(path))) .toLowerCase() const pruneCache = (cache, abs) => { abs = cacheKeyNormalize(abs) for (const path of cache.keys()) { const pnorm = cacheKeyNormalize(path) if (pnorm === abs || pnorm.indexOf(abs + '/') === 0) cache.delete(path) } } const dropCache = cache => { for (const key of cache.keys()) cache.delete(key) } class Unpack extends Parser { constructor (opt) { if (!opt) opt = {} opt.ondone = _ => { this[ENDED] = true this[MAYBECLOSE]() } super(opt) this[CHECKED_CWD] = false this.reservations = pathReservations() this.transform = typeof opt.transform === 'function' ? opt.transform : null this.writable = true this.readable = false this[PENDING] = 0 this[ENDED] = false this.dirCache = opt.dirCache || new Map() if (typeof opt.uid === 'number' || typeof opt.gid === 'number') { // need both or neither if (typeof opt.uid !== 'number' || typeof opt.gid !== 'number') throw new TypeError('cannot set owner without number uid and gid') if (opt.preserveOwner) { throw new TypeError( 'cannot preserve owner in archive and also set owner explicitly') } this.uid = opt.uid this.gid = opt.gid this.setOwner = true } else { this.uid = null this.gid = null this.setOwner = false } // default true for root if (opt.preserveOwner === undefined && typeof opt.uid !== 'number') this.preserveOwner = process.getuid && process.getuid() === 0 else this.preserveOwner = !!opt.preserveOwner this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null // mostly just for testing, but useful in some cases. // Forcibly trigger a chown on every entry, no matter what this.forceChown = opt.forceChown === true // turn > this[ONENTRY](entry)) } // a bad or damaged archive is a warning for Parser, but an error // when extracting. Mark those errors as unrecoverable, because // the Unpack contract cannot be met. warn (code, msg, data = {}) { if (code === 'TAR_BAD_ARCHIVE' || code === 'TAR_ABORT') data.recoverable = false return super.warn(code, msg, data) } [MAYBECLOSE] () { if (this[ENDED] && this[PENDING] === 0) { this.emit('prefinish') this.emit('finish') this.emit('end') this.emit('close') } } [CHECKPATH] (entry) { if (this.strip) { const parts = normPath(entry.path).split('/') if (parts.length < this.strip) return false entry.path = parts.slice(this.strip).join('/') if (entry.type === 'Link') { const linkparts = normPath(entry.linkpath).split('/') if (linkparts.length >= this.strip) entry.linkpath = linkparts.slice(this.strip).join('/') else return false } } if (!this.preservePaths) { const p = normPath(entry.path) const parts = p.split('/') if (parts.includes('..') || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) { this.warn('TAR_ENTRY_ERROR', `path contains '..'`, { entry, path: p, }) return false } // strip off the root const [root, stripped] = stripAbsolutePath(p) if (root) { entry.path = stripped this.warn('TAR_ENTRY_INFO', `stripping ${root} from absolute path`, { entry, path: p, }) } } if (path.isAbsolute(entry.path)) entry.absolute = normPath(path.resolve(entry.path)) else entry.absolute = normPath(path.resolve(this.cwd, entry.path)) // if we somehow ended up with a path that escapes the cwd, and we are // not in preservePaths mode, then something is fishy! This should have // been prevented above, so ignore this for coverage. /* istanbul ignore if - defense in depth */ if (!this.preservePaths && entry.absolute.indexOf(this.cwd + '/') !== 0 && entry.absolute !== this.cwd) { this.warn('TAR_ENTRY_ERROR', 'path escaped extraction target', { entry, path: normPath(entry.path), resolvedPath: entry.absolute, cwd: this.cwd, }) return false } // an archive can set properties on the extraction directory, but it // may not replace the cwd with a different kind of thing entirely. if (entry.absolute === this.cwd && entry.type !== 'Directory' && entry.type !== 'GNUDumpDir') return false // only encode : chars that aren't drive letter indicators if (this.win32) { const { root: aRoot } = path.win32.parse(entry.absolute) entry.absolute = aRoot + wc.encode(entry.absolute.substr(aRoot.length)) const { root: pRoot } = path.win32.parse(entry.path) entry.path = pRoot + wc.encode(entry.path.substr(pRoot.length)) } return true } [ONENTRY] (entry) { if (!this[CHECKPATH](entry)) return entry.resume() assert.equal(typeof entry.absolute, 'string') switch (entry.type) { case 'Directory': case 'GNUDumpDir': if (entry.mode) entry.mode = entry.mode | 0o700 case 'File': case 'OldFile': case 'ContiguousFile': case 'Link': case 'SymbolicLink': return this[CHECKFS](entry) case 'CharacterDevice': case 'BlockDevice': case 'FIFO': default: return this[UNSUPPORTED](entry) } } [ONERROR] (er, entry) { // Cwd has to exist, or else nothing works. That's serious. // Other errors are warnings, which raise the error in strict // mode, but otherwise continue on. if (er.name === 'CwdError') this.emit('error', er) else { this.warn('TAR_ENTRY_ERROR', er, {entry}) this[UNPEND]() entry.resume() } } [MKDIR] (dir, mode, cb) { mkdir(normPath(dir), { uid: this.uid, gid: this.gid, processUid: this.processUid, processGid: this.processGid, umask: this.processUmask, preserve: this.preservePaths, unlink: this.unlink, cache: this.dirCache, cwd: this.cwd, mode: mode, noChmod: this.noChmod, }, cb) } [DOCHOWN] (entry) { // in preserve owner mode, chown if the entry doesn't match process // in set owner mode, chown if setting doesn't match process return this.forceChown || this.preserveOwner && (typeof entry.uid === 'number' && entry.uid !== this.processUid || typeof entry.gid === 'number' && entry.gid !== this.processGid) || (typeof this.uid === 'number' && this.uid !== this.processUid || typeof this.gid === 'number' && this.gid !== this.processGid) } [UID] (entry) { return uint32(this.uid, entry.uid, this.processUid) } [GID] (entry) { return uint32(this.gid, entry.gid, this.processGid) } [FILE] (entry, fullyDone) { const mode = entry.mode & 0o7777 || this.fmode const stream = new fsm.WriteStream(entry.absolute, { flags: getFlag(entry.size), mode: mode, autoClose: false, }) stream.on('error', er => { if (stream.fd) fs.close(stream.fd, () => {}) // flush all the data out so that we aren't left hanging // if the error wasn't actually fatal. otherwise the parse // is blocked, and we never proceed. stream.write = () => true this[ONERROR](er, entry) fullyDone() }) let actions = 1 const done = er => { if (er) { /* istanbul ignore else - we should always have a fd by now */ if (stream.fd) fs.close(stream.fd, () => {}) this[ONERROR](er, entry) fullyDone() return } if (--actions === 0) { fs.close(stream.fd, er => { if (er) this[ONERROR](er, entry) else this[UNPEND]() fullyDone() }) } } stream.on('finish', _ => { // if futimes fails, try utimes // if utimes fails, fail with the original error // same for fchown/chown const abs = entry.absolute const fd = stream.fd if (entry.mtime && !this.noMtime) { actions++ const atime = entry.atime || new Date() const mtime = entry.mtime fs.futimes(fd, atime, mtime, er => er ? fs.utimes(abs, atime, mtime, er2 => done(er2 && er)) : done()) } if (this[DOCHOWN](entry)) { actions++ const uid = this[UID](entry) const gid = this[GID](entry) fs.fchown(fd, uid, gid, er => er ? fs.chown(abs, uid, gid, er2 => done(er2 && er)) : done()) } done() }) const tx = this.transform ? this.transform(entry) || entry : entry if (tx !== entry) { tx.on('error', er => { this[ONERROR](er, entry) fullyDone() }) entry.pipe(tx) } tx.pipe(stream) } [DIRECTORY] (entry, fullyDone) { const mode = entry.mode & 0o7777 || this.dmode this[MKDIR](entry.absolute, mode, er => { if (er) { this[ONERROR](er, entry) fullyDone() return } let actions = 1 const done = _ => { if (--actions === 0) { fullyDone() this[UNPEND]() entry.resume() } } if (entry.mtime && !this.noMtime) { actions++ fs.utimes(entry.absolute, entry.atime || new Date(), entry.mtime, done) } if (this[DOCHOWN](entry)) { actions++ fs.chown(entry.absolute, this[UID](entry), this[GID](entry), done) } done() }) } [UNSUPPORTED] (entry) { entry.unsupported = true this.warn('TAR_ENTRY_UNSUPPORTED', `unsupported entry type: ${entry.type}`, {entry}) entry.resume() } [SYMLINK] (entry, done) { this[LINK](entry, entry.linkpath, 'symlink', done) } [HARDLINK] (entry, done) { const linkpath = normPath(path.resolve(this.cwd, entry.linkpath)) this[LINK](entry, linkpath, 'link', done) } [PEND] () { this[PENDING]++ } [UNPEND] () { this[PENDING]-- this[MAYBECLOSE]() } [SKIP] (entry) { this[UNPEND]() 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 && !isWindows } // check if a thing is there, and if so, try to clobber it [CHECKFS] (entry) { this[PEND]() const paths = [entry.path] if (entry.linkpath) paths.push(entry.linkpath) this.reservations.reserve(paths, done => this[CHECKFS2](entry, done)) } [PRUNECACHE] (entry) { // if we are not creating a directory, and the path is in the dirCache, // then that means we are about to delete the directory we created // previously, and it is no longer going to be a directory, and neither // is any of its children. // If a symbolic link is encountered, all bets are off. There is no // reasonable way to sanitize the cache in such a way we will be able to // avoid having filesystem collisions. If this happens with a non-symlink // entry, it'll just fail to unpack, but a symlink to a directory, using an // 8.3 shortname or certain unicode attacks, can evade detection and lead // to arbitrary writes to anywhere on the system. if (entry.type === 'SymbolicLink') dropCache(this.dirCache) else if (entry.type !== 'Directory') pruneCache(this.dirCache, entry.absolute) } [CHECKFS2] (entry, fullyDone) { this[PRUNECACHE](entry) const done = er => { this[PRUNECACHE](entry) fullyDone(er) } const checkCwd = () => { this[MKDIR](this.cwd, this.dmode, er => { if (er) { this[ONERROR](er, entry) done() return } this[CHECKED_CWD] = true start() }) } const start = () => { if (entry.absolute !== this.cwd) { const parent = normPath(path.dirname(entry.absolute)) if (parent !== this.cwd) { return this[MKDIR](parent, this.dmode, er => { if (er) { this[ONERROR](er, entry) done() return } afterMakeParent() }) } } afterMakeParent() } const afterMakeParent = () => { fs.lstat(entry.absolute, (lstatEr, st) => { if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { this[SKIP](entry) done() return } if (lstatEr || this[ISREUSABLE](entry, st)) return this[MAKEFS](null, entry, done) if (st.isDirectory()) { if (entry.type === 'Directory') { const needChmod = !this.noChmod && entry.mode && (st.mode & 0o7777) !== entry.mode const afterChmod = er => this[MAKEFS](er, entry, done) if (!needChmod) return afterChmod() return fs.chmod(entry.absolute, entry.mode, afterChmod) } // Not a dir entry, have to remove it. // NB: the only way to end up with an entry that is the cwd // itself, in such a way that == does not detect, is a // tricky windows absolute path with UNC or 8.3 parts (and // preservePaths:true, or else it will have been stripped). // In that case, the user has opted out of path protections // explicitly, so if they blow away the cwd, c'est la vie. if (entry.absolute !== this.cwd) { return fs.rmdir(entry.absolute, er => this[MAKEFS](er, entry, done)) } } // not a dir, and not reusable // don't remove if the cwd, we want that error if (entry.absolute === this.cwd) return this[MAKEFS](null, entry, done) unlinkFile(entry.absolute, er => this[MAKEFS](er, entry, done)) }) } if (this[CHECKED_CWD]) start() else checkCwd() } [MAKEFS] (er, entry, done) { if (er) { this[ONERROR](er, entry) done() return } switch (entry.type) { case 'File': case 'OldFile': case 'ContiguousFile': return this[FILE](entry, done) case 'Link': return this[HARDLINK](entry, done) case 'SymbolicLink': return this[SYMLINK](entry, done) case 'Directory': case 'GNUDumpDir': return this[DIRECTORY](entry, done) } } [LINK] (entry, linkpath, link, done) { // XXX: get the type ('symlink' or 'junction') for windows fs[link](linkpath, entry.absolute, er => { if (er) this[ONERROR](er, entry) else { this[UNPEND]() entry.resume() } done() }) } } const callSync = fn => { try { return [null, fn()] } catch (er) { return [er, null] } } class UnpackSync extends Unpack { [MAKEFS] (er, entry) { return super[MAKEFS](er, entry, () => {}) } [CHECKFS] (entry) { this[PRUNECACHE](entry) if (!this[CHECKED_CWD]) { const er = this[MKDIR](this.cwd, this.dmode) if (er) return this[ONERROR](er, entry) this[CHECKED_CWD] = true } // don't bother to make the parent if the current entry is the cwd, // we've already checked it. if (entry.absolute !== this.cwd) { const parent = normPath(path.dirname(entry.absolute)) if (parent !== this.cwd) { const mkParent = this[MKDIR](parent, this.dmode) if (mkParent) return this[ONERROR](mkParent, entry) } } const [lstatEr, st] = callSync(() => fs.lstatSync(entry.absolute)) if (st && (this.keep || this.newer && st.mtime > entry.mtime)) return this[SKIP](entry) if (lstatEr || this[ISREUSABLE](entry, st)) return this[MAKEFS](null, entry) if (st.isDirectory()) { if (entry.type === 'Directory') { const needChmod = !this.noChmod && entry.mode && (st.mode & 0o7777) !== entry.mode const [er] = needChmod ? callSync(() => { fs.chmodSync(entry.absolute, entry.mode) }) : [] return this[MAKEFS](er, entry) } // not a dir entry, have to remove it const [er] = callSync(() => fs.rmdirSync(entry.absolute)) this[MAKEFS](er, entry) } // not a dir, and not reusable. // don't remove if it's the cwd, since we want that error. const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute)) this[MAKEFS](er, entry) } [FILE] (entry, done) { const mode = entry.mode & 0o7777 || this.fmode const oner = er => { let closeError try { fs.closeSync(fd) } catch (e) { closeError = e } if (er || closeError) this[ONERROR](er || closeError, entry) done() } let fd try { fd = fs.openSync(entry.absolute, getFlag(entry.size), mode) } catch (er) { return oner(er) } const tx = this.transform ? this.transform(entry) || entry : entry if (tx !== entry) { tx.on('error', er => this[ONERROR](er, entry)) entry.pipe(tx) } tx.on('data', chunk => { try { fs.writeSync(fd, chunk, 0, chunk.length) } catch (er) { oner(er) } }) tx.on('end', _ => { let er = null // try both, falling futimes back to utimes // if either fails, handle the first error if (entry.mtime && !this.noMtime) { const atime = entry.atime || new Date() const mtime = entry.mtime try { fs.futimesSync(fd, atime, mtime) } catch (futimeser) { try { fs.utimesSync(entry.absolute, atime, mtime) } catch (utimeser) { er = futimeser } } } if (this[DOCHOWN](entry)) { const uid = this[UID](entry) const gid = this[GID](entry) try { fs.fchownSync(fd, uid, gid) } catch (fchowner) { try { fs.chownSync(entry.absolute, uid, gid) } catch (chowner) { er = er || fchowner } } } oner(er) }) } [DIRECTORY] (entry, done) { const mode = entry.mode & 0o7777 || this.dmode const er = this[MKDIR](entry.absolute, mode) if (er) { this[ONERROR](er, entry) done() return } if (entry.mtime && !this.noMtime) { try { fs.utimesSync(entry.absolute, entry.atime || new Date(), entry.mtime) } catch (er) {} } if (this[DOCHOWN](entry)) { try { fs.chownSync(entry.absolute, this[UID](entry), this[GID](entry)) } catch (er) {} } done() entry.resume() } [MKDIR] (dir, mode) { try { return mkdir.sync(normPath(dir), { uid: this.uid, gid: this.gid, processUid: this.processUid, processGid: this.processGid, umask: this.processUmask, preserve: this.preservePaths, unlink: this.unlink, cache: this.dirCache, cwd: this.cwd, mode: mode, }) } catch (er) { return er } } [LINK] (entry, linkpath, link, done) { try { fs[link + 'Sync'](linkpath, entry.absolute) done() entry.resume() } catch (er) { return this[ONERROR](er, entry) } } } Unpack.Sync = UnpackSync module.exports = Unpack node-tar-6.1.11/lib/update.js000066400000000000000000000015121411173710400156750ustar00rootroot00000000000000'use strict' // tar -u const hlo = require('./high-level-opt.js') const r = require('./replace.js') // just call tar.r with the filter and mtimeCache module.exports = (opt_, files, cb) => { const opt = hlo(opt_) if (!opt.file) throw new TypeError('file is required') if (opt.gzip) throw new TypeError('cannot append to compressed archives') if (!files || !Array.isArray(files) || !files.length) throw new TypeError('no files or directories specified') files = Array.from(files) mtimeFilter(opt) return r(opt, files, cb) } const mtimeFilter = opt => { const filter = opt.filter if (!opt.mtimeCache) opt.mtimeCache = new Map() opt.filter = filter ? (path, stat) => filter(path, stat) && !(opt.mtimeCache.get(path) > stat.mtime) : (path, stat) => !(opt.mtimeCache.get(path) > stat.mtime) } node-tar-6.1.11/lib/warn-mixin.js000066400000000000000000000012711411173710400165060ustar00rootroot00000000000000'use strict' module.exports = Base => class extends Base { warn (code, message, data = {}) { if (this.file) data.file = this.file if (this.cwd) data.cwd = this.cwd data.code = message instanceof Error && message.code || code data.tarCode = code if (!this.strict && data.recoverable !== false) { if (message instanceof Error) { data = Object.assign(message, data) message = message.message } this.emit('warn', data.tarCode, message, data) } else if (message instanceof Error) this.emit('error', Object.assign(message, data)) else this.emit('error', Object.assign(new Error(`${code}: ${message}`), data)) } } node-tar-6.1.11/lib/winchars.js000066400000000000000000000010271411173710400162320ustar00rootroot00000000000000'use strict' // When writing files on Windows, translate the characters to their // 0xf000 higher-encoded versions. const raw = [ '|', '<', '>', '?', ':', ] const win = raw.map(char => String.fromCharCode(0xf000 + char.charCodeAt(0))) const toWin = new Map(raw.map((char, i) => [char, win[i]])) const toRaw = new Map(win.map((char, i) => [char, raw[i]])) module.exports = { encode: s => raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s), decode: s => win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s), } node-tar-6.1.11/lib/write-entry.js000066400000000000000000000354071411173710400167160ustar00rootroot00000000000000'use strict' const MiniPass = require('minipass') const Pax = require('./pax.js') const Header = require('./header.js') const fs = require('fs') const path = require('path') const normPath = require('./normalize-windows-path.js') const stripSlash = require('./strip-trailing-slashes.js') const prefixPath = (path, prefix) => { if (!prefix) return normPath(path) path = normPath(path).replace(/^\.(\/|$)/, '') return stripSlash(prefix) + '/' + path } const maxReadSize = 16 * 1024 * 1024 const PROCESS = Symbol('process') const FILE = Symbol('file') const DIRECTORY = Symbol('directory') const SYMLINK = Symbol('symlink') const HARDLINK = Symbol('hardlink') const HEADER = Symbol('header') const READ = Symbol('read') const LSTAT = Symbol('lstat') const ONLSTAT = Symbol('onlstat') const ONREAD = Symbol('onread') const ONREADLINK = Symbol('onreadlink') const OPENFILE = Symbol('openfile') const ONOPENFILE = Symbol('onopenfile') const CLOSE = Symbol('close') const MODE = Symbol('mode') const AWAITDRAIN = Symbol('awaitDrain') const ONDRAIN = Symbol('ondrain') const PREFIX = Symbol('prefix') const HAD_ERROR = Symbol('hadError') const warner = require('./warn-mixin.js') const winchars = require('./winchars.js') const stripAbsolutePath = require('./strip-absolute-path.js') const modeFix = require('./mode-fix.js') const WriteEntry = warner(class WriteEntry extends MiniPass { constructor (p, opt) { opt = opt || {} super(opt) if (typeof p !== 'string') throw new TypeError('path is required') this.path = normPath(p) // suppress atime, ctime, uid, gid, uname, gname this.portable = !!opt.portable // until node has builtin pwnam functions, this'll have to do this.myuid = process.getuid && process.getuid() || 0 this.myuser = process.env.USER || '' this.maxReadSize = opt.maxReadSize || maxReadSize this.linkCache = opt.linkCache || new Map() this.statCache = opt.statCache || new Map() this.preservePaths = !!opt.preservePaths this.cwd = normPath(opt.cwd || process.cwd()) this.strict = !!opt.strict this.noPax = !!opt.noPax this.noMtime = !!opt.noMtime this.mtime = opt.mtime || null this.prefix = opt.prefix ? normPath(opt.prefix) : null this.fd = null this.blockLen = null this.blockRemain = null this.buf = null this.offset = null this.length = null this.pos = null this.remain = null if (typeof opt.onwarn === 'function') this.on('warn', opt.onwarn) let pathWarn = false if (!this.preservePaths) { const [root, stripped] = stripAbsolutePath(this.path) if (root) { this.path = stripped pathWarn = root } } this.win32 = !!opt.win32 || process.platform === 'win32' if (this.win32) { // force the \ to / normalization, since we might not *actually* // be on windows, but want \ to be considered a path separator. this.path = winchars.decode(this.path.replace(/\\/g, '/')) p = p.replace(/\\/g, '/') } this.absolute = normPath(opt.absolute || path.resolve(this.cwd, p)) if (this.path === '') this.path = './' if (pathWarn) { this.warn('TAR_ENTRY_INFO', `stripping ${pathWarn} from absolute path`, { entry: this, path: pathWarn + this.path, }) } if (this.statCache.has(this.absolute)) this[ONLSTAT](this.statCache.get(this.absolute)) else this[LSTAT]() } emit (ev, ...data) { if (ev === 'error') this[HAD_ERROR] = true return super.emit(ev, ...data) } [LSTAT] () { fs.lstat(this.absolute, (er, stat) => { if (er) return this.emit('error', er) this[ONLSTAT](stat) }) } [ONLSTAT] (stat) { this.statCache.set(this.absolute, stat) this.stat = stat if (!stat.isFile()) stat.size = 0 this.type = getType(stat) this.emit('stat', stat) this[PROCESS]() } [PROCESS] () { switch (this.type) { case 'File': return this[FILE]() case 'Directory': return this[DIRECTORY]() case 'SymbolicLink': return this[SYMLINK]() // unsupported types are ignored. default: return this.end() } } [MODE] (mode) { return modeFix(mode, this.type === 'Directory', this.portable) } [PREFIX] (path) { return prefixPath(path, this.prefix) } [HEADER] () { if (this.type === 'Directory' && this.portable) this.noMtime = true this.header = new Header({ path: this[PREFIX](this.path), // only apply the prefix to hard links. linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, // only the permissions and setuid/setgid/sticky bitflags // not the higher-order bits that specify file type mode: this[MODE](this.stat.mode), uid: this.portable ? null : this.stat.uid, gid: this.portable ? null : this.stat.gid, size: this.stat.size, mtime: this.noMtime ? null : this.mtime || this.stat.mtime, type: this.type, uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : '', atime: this.portable ? null : this.stat.atime, ctime: this.portable ? null : this.stat.ctime, }) if (this.header.encode() && !this.noPax) { super.write(new Pax({ atime: this.portable ? null : this.header.atime, ctime: this.portable ? null : this.header.ctime, gid: this.portable ? null : this.header.gid, mtime: this.noMtime ? null : this.mtime || this.header.mtime, path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, size: this.header.size, uid: this.portable ? null : this.header.uid, uname: this.portable ? null : this.header.uname, dev: this.portable ? null : this.stat.dev, ino: this.portable ? null : this.stat.ino, nlink: this.portable ? null : this.stat.nlink, }).encode()) } super.write(this.header.block) } [DIRECTORY] () { if (this.path.substr(-1) !== '/') this.path += '/' this.stat.size = 0 this[HEADER]() this.end() } [SYMLINK] () { fs.readlink(this.absolute, (er, linkpath) => { if (er) return this.emit('error', er) this[ONREADLINK](linkpath) }) } [ONREADLINK] (linkpath) { this.linkpath = normPath(linkpath) this[HEADER]() this.end() } [HARDLINK] (linkpath) { this.type = 'Link' this.linkpath = normPath(path.relative(this.cwd, linkpath)) this.stat.size = 0 this[HEADER]() this.end() } [FILE] () { if (this.stat.nlink > 1) { const linkKey = this.stat.dev + ':' + this.stat.ino if (this.linkCache.has(linkKey)) { const linkpath = this.linkCache.get(linkKey) if (linkpath.indexOf(this.cwd) === 0) return this[HARDLINK](linkpath) } this.linkCache.set(linkKey, this.absolute) } this[HEADER]() if (this.stat.size === 0) return this.end() this[OPENFILE]() } [OPENFILE] () { fs.open(this.absolute, 'r', (er, fd) => { if (er) return this.emit('error', er) this[ONOPENFILE](fd) }) } [ONOPENFILE] (fd) { this.fd = fd if (this[HAD_ERROR]) return this[CLOSE]() this.blockLen = 512 * Math.ceil(this.stat.size / 512) this.blockRemain = this.blockLen const bufLen = Math.min(this.blockLen, this.maxReadSize) this.buf = Buffer.allocUnsafe(bufLen) this.offset = 0 this.pos = 0 this.remain = this.stat.size this.length = this.buf.length this[READ]() } [READ] () { const { fd, buf, offset, length, pos } = this fs.read(fd, buf, offset, length, pos, (er, bytesRead) => { if (er) { // ignoring the error from close(2) is a bad practice, but at // this point we already have an error, don't need another one return this[CLOSE](() => this.emit('error', er)) } this[ONREAD](bytesRead) }) } [CLOSE] (cb) { fs.close(this.fd, cb) } [ONREAD] (bytesRead) { if (bytesRead <= 0 && this.remain > 0) { const er = new Error('encountered unexpected EOF') er.path = this.absolute er.syscall = 'read' er.code = 'EOF' return this[CLOSE](() => this.emit('error', er)) } if (bytesRead > this.remain) { const er = new Error('did not encounter expected EOF') er.path = this.absolute er.syscall = 'read' er.code = 'EOF' return this[CLOSE](() => this.emit('error', er)) } // null out the rest of the buffer, if we could fit the block padding // at the end of this loop, we've incremented bytesRead and this.remain // to be incremented up to the blockRemain level, as if we had expected // to get a null-padded file, and read it until the end. then we will // decrement both remain and blockRemain by bytesRead, and know that we // reached the expected EOF, without any null buffer to append. if (bytesRead === this.remain) { for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { this.buf[i + this.offset] = 0 bytesRead++ this.remain++ } } const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead) const flushed = this.write(writeBuf) if (!flushed) this[AWAITDRAIN](() => this[ONDRAIN]()) else this[ONDRAIN]() } [AWAITDRAIN] (cb) { this.once('drain', cb) } write (writeBuf) { if (this.blockRemain < writeBuf.length) { const er = new Error('writing more data than expected') er.path = this.absolute return this.emit('error', er) } this.remain -= writeBuf.length this.blockRemain -= writeBuf.length this.pos += writeBuf.length this.offset += writeBuf.length return super.write(writeBuf) } [ONDRAIN] () { if (!this.remain) { if (this.blockRemain) super.write(Buffer.alloc(this.blockRemain)) return this[CLOSE](er => er ? this.emit('error', er) : this.end()) } if (this.offset >= this.length) { // if we only have a smaller bit left to read, alloc a smaller buffer // otherwise, keep it the same length it was before. this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)) this.offset = 0 } this.length = this.buf.length - this.offset this[READ]() } }) class WriteEntrySync extends WriteEntry { [LSTAT] () { this[ONLSTAT](fs.lstatSync(this.absolute)) } [SYMLINK] () { this[ONREADLINK](fs.readlinkSync(this.absolute)) } [OPENFILE] () { this[ONOPENFILE](fs.openSync(this.absolute, 'r')) } [READ] () { let threw = true try { const { fd, buf, offset, length, pos } = this const bytesRead = fs.readSync(fd, buf, offset, length, pos) this[ONREAD](bytesRead) threw = false } finally { // ignoring the error from close(2) is a bad practice, but at // this point we already have an error, don't need another one if (threw) { try { this[CLOSE](() => {}) } catch (er) {} } } } [AWAITDRAIN] (cb) { cb() } [CLOSE] (cb) { fs.closeSync(this.fd) cb() } } const WriteEntryTar = warner(class WriteEntryTar extends MiniPass { constructor (readEntry, opt) { opt = opt || {} super(opt) this.preservePaths = !!opt.preservePaths this.portable = !!opt.portable this.strict = !!opt.strict this.noPax = !!opt.noPax this.noMtime = !!opt.noMtime this.readEntry = readEntry this.type = readEntry.type if (this.type === 'Directory' && this.portable) this.noMtime = true this.prefix = opt.prefix || null this.path = normPath(readEntry.path) 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 this.gname = this.portable ? null : readEntry.gname this.size = readEntry.size this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime this.atime = this.portable ? null : readEntry.atime this.ctime = this.portable ? null : readEntry.ctime this.linkpath = normPath(readEntry.linkpath) if (typeof opt.onwarn === 'function') this.on('warn', opt.onwarn) let pathWarn = false if (!this.preservePaths) { const [root, stripped] = stripAbsolutePath(this.path) if (root) { this.path = stripped pathWarn = root } } this.remain = readEntry.size this.blockRemain = readEntry.startBlockSize this.header = new Header({ path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, // only the permissions and setuid/setgid/sticky bitflags // not the higher-order bits that specify file type mode: this.mode, uid: this.portable ? null : this.uid, gid: this.portable ? null : this.gid, size: this.size, mtime: this.noMtime ? null : this.mtime, type: this.type, uname: this.portable ? null : this.uname, atime: this.portable ? null : this.atime, ctime: this.portable ? null : this.ctime, }) if (pathWarn) { this.warn('TAR_ENTRY_INFO', `stripping ${pathWarn} from absolute path`, { entry: this, path: pathWarn + this.path, }) } if (this.header.encode() && !this.noPax) { super.write(new Pax({ atime: this.portable ? null : this.atime, ctime: this.portable ? null : this.ctime, gid: this.portable ? null : this.gid, mtime: this.noMtime ? null : this.mtime, path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, size: this.size, uid: this.portable ? null : this.uid, uname: this.portable ? null : this.uname, dev: this.portable ? null : this.readEntry.dev, ino: this.portable ? null : this.readEntry.ino, nlink: this.portable ? null : this.readEntry.nlink, }).encode()) } super.write(this.header.block) readEntry.pipe(this) } [PREFIX] (path) { return prefixPath(path, this.prefix) } [MODE] (mode) { return modeFix(mode, this.type === 'Directory', this.portable) } write (data) { const writeLen = data.length if (writeLen > this.blockRemain) throw new Error('writing more to entry than is appropriate') this.blockRemain -= writeLen return super.write(data) } end () { if (this.blockRemain) super.write(Buffer.alloc(this.blockRemain)) return super.end() } }) WriteEntry.Sync = WriteEntrySync WriteEntry.Tar = WriteEntryTar const getType = stat => stat.isFile() ? 'File' : stat.isDirectory() ? 'Directory' : stat.isSymbolicLink() ? 'SymbolicLink' : 'Unsupported' module.exports = WriteEntry node-tar-6.1.11/map.js000066400000000000000000000004071411173710400144240ustar00rootroot00000000000000const {basename} = require('path') const map = test => test === 'index.js' || test === 'map.js' ? test : test === 'unpack.js' ? ['lib/unpack.js', 'lib/mkdir.js'] : test === 'load-all.js' ? [] : `lib/${test}` module.exports = test => map(basename(test)) node-tar-6.1.11/package-lock.json000066400000000000000000014733131411173710400165400ustar00rootroot00000000000000{ "name": "tar", "version": "6.1.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "version": "6.1.11", "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^3.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "devDependencies": { "chmodr": "^1.2.0", "end-of-stream": "^1.4.3", "eslint": "^7.17.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^5.0.0", "events-to-array": "^1.1.2", "mutate-fs": "^2.1.1", "rimraf": "^2.7.1", "tap": "^15.0.9", "tar-fs": "^1.16.3", "tar-stream": "^1.6.2" }, "engines": { "node": ">= 10" } }, "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/compat-data": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.0", "@babel/helper-compilation-targets": "^7.15.0", "@babel/helper-module-transforms": "^7.15.0", "@babel/helpers": "^7.14.8", "@babel/parser": "^7.15.0", "@babel/template": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/babel" } }, "node_modules/@babel/core/node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "dependencies": { "@babel/highlight": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", "dev": true, "dependencies": { "@babel/types": "^7.15.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", "dev": true, "dependencies": { "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", "browserslist": "^4.16.6", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-function-name": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "dependencies": { "@babel/helper-get-function-arity": "^7.14.5", "@babel/template": "^7.14.5", "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", "dev": true, "dependencies": { "@babel/types": "^7.15.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.14.5", "@babel/helper-replace-supers": "^7.15.0", "@babel/helper-simple-access": "^7.14.8", "@babel/helper-split-export-declaration": "^7.14.5", "@babel/helper-validator-identifier": "^7.14.9", "@babel/template": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", "dev": true, "dependencies": { "@babel/helper-member-expression-to-functions": "^7.15.0", "@babel/helper-optimise-call-expression": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", "dev": true, "dependencies": { "@babel/types": "^7.14.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "dependencies": { "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.14.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", "dev": true, "dependencies": { "@babel/template": "^7.14.5", "@babel/traverse": "^7.14.8", "@babel/types": "^7.14.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/parser": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.0.tgz", "integrity": "sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.14.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", "dev": true, "dependencies": { "@babel/compat-data": "^7.14.7", "@babel/helper-compilation-targets": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.14.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.14.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.14.5", "@babel/helper-module-imports": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-jsx": "^7.14.5", "@babel/types": "^7.14.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/template": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/parser": "^7.14.5", "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template/node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "dependencies": { "@babel/highlight": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.0", "@babel/helper-function-name": "^7.14.5", "@babel/helper-hoist-variables": "^7.14.5", "@babel/helper-split-export-declaration": "^7.14.5", "@babel/parser": "^7.15.0", "@babel/types": "^7.15.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse/node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "dependencies": { "@babel/highlight": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/@babel/types": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", "minimatch": "^3.0.4" }, "engines": { "node": ">=10.10.0" } }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" }, "engines": { "node": ">= 8" } }, "node_modules/append-transform": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "dependencies": { "default-require-extensions": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-includes": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.2", "get-intrinsic": "^1.1.1", "is-string": "^1.0.5" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/async-hook-domain": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.3.tgz", "integrity": "sha512-MadiLLDEZRZzZwcm0dgS+K99qXZ4H2saAUwUgwzFulbAkXrKi3AX5FvWS3FFTQtLMwrqcGqAJe6o12KrObejQA==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, "engines": { "node": "*" } }, "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/bind-obj-methods": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/bl": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" } }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { "version": "4.16.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", "dev": true, "dependencies": { "caniuse-lite": "^1.0.30001248", "colorette": "^1.2.2", "electron-to-chromium": "^1.3.793", "escalade": "^3.1.1", "node-releases": "^1.1.73" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, "node_modules/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, "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" } }, "node_modules/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 }, "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", "package-hash": "^4.0.0", "write-file-atomic": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "dependencies": { "callsites": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "dependencies": { "caller-callsite": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { "version": "1.0.30001249", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/chmodr": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.2.0.tgz", "integrity": "sha512-Y5uI7Iq/Az6HgJEL6pdw7THVd7jbVOTPwsmcPOBjQL8e3N+pz872kzK5QxYGEy21iRys+iHWV0UZQXDFJo1hyA==", "dev": true }, "node_modules/chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { "node": ">=10" } }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "dependencies": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, "node_modules/cliui/node_modules/ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/cliui/node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" }, "engines": { "node": ">=4" } }, "node_modules/cliui/node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "dependencies": { "ansi-regex": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, "bin": { "color-support": "bin.js" } }, "node_modules/colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "node_modules/coveralls": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", "dev": true, "dependencies": { "js-yaml": "^3.13.1", "lcov-parse": "^1.0.0", "log-driver": "^1.2.7", "minimist": "^1.2.5", "request": "^2.88.2" }, "bin": { "coveralls": "bin/coveralls.js" }, "engines": { "node": ">=6" } }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, "engines": { "node": ">=0.10" } }, "node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "node_modules/default-require-extensions": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, "dependencies": { "strip-bom": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/default-require-extensions/node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "dependencies": { "object-keys": "^1.0.12" }, "engines": { "node": ">= 0.4" } }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { "node": ">=0.3.1" } }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { "node": ">=6.0.0" } }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "node_modules/electron-to-chromium": { "version": "1.3.798", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.18.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", "is-regex": "^1.1.3", "is-string": "^1.0.6", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", "unbox-primitive": "^1.0.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.1.2", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "progress": "^2.0.0", "regexpp": "^3.1.0", "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { "node": "^10.12.0 || >=12.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-import-resolver-node": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "dependencies": { "debug": "^2.6.9", "resolve": "^1.13.1" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-import-resolver-node/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/eslint-module-utils": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", "dev": true, "dependencies": { "debug": "^3.2.7", "pkg-dir": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", "dev": true, "dependencies": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" }, "engines": { "node": ">=8.10.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" }, "peerDependencies": { "eslint": ">=4.19.1" } }, "node_modules/eslint-plugin-import": { "version": "2.23.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "dependencies": { "array-includes": "^3.1.3", "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.4", "eslint-module-utils": "^2.6.1", "find-up": "^2.0.0", "has": "^1.0.3", "is-core-module": "^2.4.0", "minimatch": "^3.0.4", "object.values": "^1.1.3", "pkg-up": "^2.0.0", "read-pkg-up": "^3.0.0", "resolve": "^1.20.0", "tsconfig-paths": "^3.9.0" }, "engines": { "node": ">=4" }, "peerDependencies": { "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" } }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, "dependencies": { "eslint-plugin-es": "^3.0.0", "eslint-utils": "^2.0.0", "ignore": "^5.1.1", "minimatch": "^3.0.4", "resolve": "^1.10.1", "semver": "^6.1.0" }, "engines": { "node": ">=8.10.0" }, "peerDependencies": { "eslint": ">=5.16.0" } }, "node_modules/eslint-plugin-node/node_modules/ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/eslint-plugin-node/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-promise": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/eslint-plugin-standard": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz", "integrity": "sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==", "deprecated": "standard 16.0.0 and eslint-config-standard 16.0.0 no longer require the eslint-plugin-standard package. You can remove it from your dependencies with 'npm rm eslint-plugin-standard'. More info here: https://github.com/standard/standard/issues/1316", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ], "peerDependencies": { "eslint": ">=5.0.0" } }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { "node": ">=8.0.0" } }, "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { "estraverse": "^5.1.0" }, "engines": { "node": ">=0.10" } }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, "engines": [ "node >=0.6.0" ] }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { "flat-cache": "^3.0.4" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/find-cache-dir/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-cache-dir/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/find-cache-dir/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { "find-up": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { "locate-path": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/findit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", "dev": true }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, "engines": { "node": "*" } }, "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" }, "engines": { "node": ">= 0.12" } }, "node_modules/fromentries": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/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 }, "node_modules/fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", "dev": true }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dependencies": { "minipass": "^3.0.0" }, "engines": { "node": ">= 8" } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "node_modules/function-loop": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", "dev": true }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "engines": { "node": ">=8.0.0" } }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "dependencies": { "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" }, "engines": { "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/globals": { "version": "13.10.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "dependencies": { "type-fest": "^0.20.2" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "deprecated": "this library is no longer supported", "dev": true, "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { "function-bind": "^1.1.1" }, "engines": { "node": ">= 0.4.0" } }, "node_modules/has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/hasha/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, "engines": { "node": ">=0.8", "npm": ">=1.3.7" } }, "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-jsx": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-jsx/-/import-jsx-4.0.0.tgz", "integrity": "sha512-CnjJ2BZFJzbFDmYG5S47xPQjMlSbZLyLJuG4znzL4TdPtJBxHtFP1xVmR+EYX4synFSldiY3B6m00XkPM3zVnA==", "dev": true, "dependencies": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-transform-destructuring": "^7.5.0", "@babel/plugin-transform-react-jsx": "^7.3.0", "caller-path": "^2.0.0", "find-cache-dir": "^3.2.0", "make-dir": "^3.0.2", "resolve-from": "^3.0.0", "rimraf": "^3.0.0" }, "engines": { "node": ">=10" } }, "node_modules/import-jsx/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/import-jsx/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "dependencies": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "node_modules/is-bigint": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-core-module": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "dev": true, "dependencies": { "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "node_modules/istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-hook": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "dependencies": { "append-transform": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-processinfo": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", "dev": true, "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.0", "istanbul-lib-coverage": "^3.0.0-alpha.1", "make-dir": "^3.0.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", "uuid": "^3.3.3" }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/jackspeak": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.0.tgz", "integrity": "sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw==", "dev": true, "dependencies": { "cliui": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, "bin": { "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "node_modules/json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "dependencies": { "minimist": "^1.2.5" }, "bin": { "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "engines": [ "node >=0.6.0" ], "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, "node_modules/lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", "dev": true, "bin": { "lcov-parse": "bin/cli.js" } }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/libtap": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.1.tgz", "integrity": "sha512-Fye8fh1+G7E8qqmjQaY+pXGxy7HM0S6bqCCJFLa16+g2jODBByxbJFDpjbDNF69wfRVyvJ+foLZc1WTIv7dx+g==", "dev": true, "dependencies": { "async-hook-domain": "^2.0.1", "bind-obj-methods": "^3.0.0", "diff": "^4.0.2", "function-loop": "^2.0.1", "minipass": "^3.1.1", "own-or": "^1.0.0", "own-or-env": "^1.0.1", "signal-exit": "^3.0.2", "stack-utils": "^2.0.1", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", "tcompare": "^5.0.1", "trivial-deferred": "^1.0.1", "yapool": "^1.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "node_modules/log-driver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true, "engines": { "node": ">=0.8.6" } }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { "semver": "^6.0.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/mime-db": { "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "dev": true, "dependencies": { "mime-db": "1.49.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "node_modules/minipass": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" }, "engines": { "node": ">= 8" } }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "bin": { "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "node_modules/mutate-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/mutate-fs/-/mutate-fs-2.1.1.tgz", "integrity": "sha512-WI5pPPUNiWqaK2XdK94AVpxIc8GmZEXYlLfFbWuc4gUtBGHTK92jdPqFdx/lilxgb5Ep7tQ15NqCcJEOeq6wdA==", "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "node_modules/node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, "dependencies": { "process-on-spawn": "^1.0.0" }, "engines": { "node": ">=8" } }, "node_modules/node-releases": { "version": "1.1.73", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { "semver": "bin/semver" } }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "caching-transform": "^4.0.0", "convert-source-map": "^1.7.0", "decamelize": "^1.2.0", "find-cache-dir": "^3.2.0", "find-up": "^4.1.0", "foreground-child": "^2.0.0", "get-package-type": "^0.1.0", "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-hook": "^3.0.0", "istanbul-lib-instrument": "^4.0.0", "istanbul-lib-processinfo": "^2.0.2", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", "make-dir": "^3.0.0", "node-preload": "^0.2.1", "p-map": "^3.0.0", "process-on-spawn": "^1.0.0", "resolve-from": "^5.0.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "spawn-wrap": "^2.0.0", "test-exclude": "^6.0.0", "yargs": "^15.0.2" }, "bin": { "nyc": "bin/nyc.js" }, "engines": { "node": ">=8.9" } }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/nyc/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/nyc/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { "wrappy": "1" } }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/own-or": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", "dev": true }, "node_modules/own-or-env": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", "dev": true, "dependencies": { "own-or": "^1.0.0" } }, "node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "dependencies": { "p-try": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "dependencies": { "p-limit": "^1.1.0" }, "engines": { "node": ">=4" } }, "node_modules/p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/package-hash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", "lodash.flattendeep": "^4.4.0", "release-zalgo": "^1.0.0" }, "engines": { "node": ">=8" } }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "dependencies": { "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true, "engines": { "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "dependencies": { "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, "dependencies": { "find-up": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "node_modules/process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, "dependencies": { "fromentries": "^1.2.0" }, "engines": { "node": ">=8" } }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "node_modules/pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/qs": { "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, "engines": { "node": ">=0.6" } }, "node_modules/react": { "version": "16.14.0", "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "dependencies": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { "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" } }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { "picomatch": "^2.2.1" }, "engines": { "node": ">=8.10.0" } }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "dependencies": { "es6-error": "^4.0.1" }, "engines": { "node": ">=4" } }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.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.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "engines": { "node": ">= 6" } }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", "make-dir": "^3.0.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" }, "engines": { "node": ">=8" } }, "node_modules/spawn-wrap/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "node_modules/sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "dependencies": { "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", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, "bin": { "sshpk-conv": "bin/sshpk-conv", "sshpk-sign": "bin/sshpk-sign", "sshpk-verify": "bin/sshpk-verify" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, "engines": { "node": ">=10" } }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/string_decoder": { "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, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/string-width": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } }, "node_modules/string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "dependencies": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/table/node_modules/ajv": { "version": "8.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/tap": { "version": "15.0.9", "resolved": "https://registry.npmjs.org/tap/-/tap-15.0.9.tgz", "integrity": "sha512-bqY5SxEqYKRd37PIUfKBf9HMs/hklyl/fGXkuStr9rYTIGa0/icpSLsm6IVOmx2qT0/TliPNJ6OvS5kddJYHdg==", "bundleDependencies": [ "ink", "treport", "@types/react" ], "dev": true, "dependencies": { "@types/react": "^16.9.23", "chokidar": "^3.3.0", "coveralls": "^3.0.11", "findit": "^2.0.0", "foreground-child": "^2.0.0", "fs-exists-cached": "^1.0.0", "glob": "^7.1.6", "import-jsx": "^4.0.0", "ink": "^2.7.1", "isexe": "^2.0.0", "istanbul-lib-processinfo": "^2.0.2", "jackspeak": "^1.4.0", "libtap": "^1.1.1", "minipass": "^3.1.1", "mkdirp": "^1.0.4", "nyc": "^15.1.0", "opener": "^1.5.1", "react": "^16.12.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.0", "source-map-support": "^0.5.16", "tap-mocha-reporter": "^5.0.0", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", "tcompare": "^5.0.6", "treport": "^2.0.2", "which": "^2.0.2" }, "bin": { "tap": "bin/run.js" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" }, "peerDependencies": { "flow-remove-types": ">=2.112.0", "ts-node": ">=8.5.2", "typescript": ">=3.7.2" }, "peerDependenciesMeta": { "flow-remove-types": { "optional": true }, "ts-node": { "optional": true }, "typescript": { "optional": true } } }, "node_modules/tap-mocha-reporter": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz", "integrity": "sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==", "dev": true, "dependencies": { "color-support": "^1.1.0", "debug": "^4.1.1", "diff": "^4.0.1", "escape-string-regexp": "^2.0.0", "glob": "^7.0.5", "tap-parser": "^10.0.0", "tap-yaml": "^1.0.0", "unicode-length": "^2.0.2" }, "bin": { "tap-mocha-reporter": "index.js" }, "engines": { "node": ">= 8" } }, "node_modules/tap-mocha-reporter/node_modules/escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/tap-parser": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.1.0.tgz", "integrity": "sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==", "dev": true, "dependencies": { "events-to-array": "^1.0.1", "minipass": "^3.0.0", "tap-yaml": "^1.0.0" }, "bin": { "tap-parser": "bin/cmd.js" }, "engines": { "node": ">= 8" } }, "node_modules/tap-yaml": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", "dev": true, "dependencies": { "yaml": "^1.5.0" } }, "node_modules/tap/node_modules/@babel/code-frame": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/highlight": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/compat-data": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@babel/core": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.0", "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-module-transforms": "^7.14.0", "@babel/helpers": "^7.14.0", "@babel/parser": "^7.14.0", "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/babel" } }, "node_modules/tap/node_modules/@babel/generator": { "version": "7.14.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.14.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "node_modules/tap/node_modules/@babel/helper-annotate-as-pure": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/helper-compilation-targets": { "version": "7.13.16", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.13.15", "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", "semver": "^6.3.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/tap/node_modules/@babel/helper-function-name": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-get-function-arity": "^7.12.13", "@babel/template": "^7.12.13", "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/helper-get-function-arity": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/helper-member-expression-to-functions": { "version": "7.13.12", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.13.12" } }, "node_modules/tap/node_modules/@babel/helper-module-imports": { "version": "7.13.12", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.13.12" } }, "node_modules/tap/node_modules/@babel/helper-module-transforms": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-simple-access": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-validator-identifier": "^7.14.0", "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0" } }, "node_modules/tap/node_modules/@babel/helper-optimise-call-expression": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/helper-plugin-utils": { "version": "7.13.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@babel/helper-replace-supers": { "version": "7.13.12", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/traverse": "^7.13.0", "@babel/types": "^7.13.12" } }, "node_modules/tap/node_modules/@babel/helper-simple-access": { "version": "7.13.12", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.13.12" } }, "node_modules/tap/node_modules/@babel/helper-split-export-declaration": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/helper-validator-identifier": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@babel/helper-validator-option": { "version": "7.12.17", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@babel/helpers": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0" } }, "node_modules/tap/node_modules/@babel/highlight": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "node_modules/tap/node_modules/@babel/parser": { "version": "7.14.1", "dev": true, "inBundle": true, "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, "engines": { "node": ">=6.0.0" } }, "node_modules/tap/node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.13.8", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.13.8", "@babel/helper-compilation-targets": "^7.13.8", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.13.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/plugin-syntax-jsx": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/plugin-transform-destructuring": { "version": "7.13.17", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/plugin-transform-parameters": { "version": "7.13.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/plugin-transform-react-jsx": { "version": "7.13.12", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-module-imports": "^7.13.12", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-jsx": "^7.12.13", "@babel/types": "^7.13.12" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/tap/node_modules/@babel/template": { "version": "7.12.13", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/parser": "^7.12.13", "@babel/types": "^7.12.13" } }, "node_modules/tap/node_modules/@babel/traverse": { "version": "7.14.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.0", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", "@babel/parser": "^7.14.0", "@babel/types": "^7.14.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "node_modules/tap/node_modules/@babel/types": { "version": "7.14.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, "node_modules/tap/node_modules/@types/prop-types": { "version": "15.7.3", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@types/react": { "version": "16.14.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/tap/node_modules/@types/scheduler": { "version": "0.16.1", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/@types/yoga-layout": { "version": "1.9.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/ansi-styles": { "version": "3.2.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/ansicolors": { "version": "0.3.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/arrify": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/astral-regex": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/auto-bind": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/brace-expansion": { "version": "1.1.11", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/tap/node_modules/browserslist": { "version": "4.16.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001219", "colorette": "^1.2.2", "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", "node-releases": "^1.1.71" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, "node_modules/tap/node_modules/caller-callsite": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "callsites": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/caller-path": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "caller-callsite": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/callsites": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/caniuse-lite": { "version": "1.0.30001223", "dev": true, "inBundle": true, "license": "CC-BY-4.0" }, "node_modules/tap/node_modules/cardinal": { "version": "2.1.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" }, "bin": { "cdl": "bin/cdl.js" } }, "node_modules/tap/node_modules/chalk": { "version": "2.4.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/ci-info": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/cli-cursor": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/cli-truncate": { "version": "2.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/color-convert": { "version": "1.9.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/tap/node_modules/color-name": { "version": "1.1.3", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/colorette": { "version": "1.2.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/commondir": { "version": "1.0.1", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/concat-map": { "version": "0.0.1", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/convert-source-map": { "version": "1.7.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/tap/node_modules/csstype": { "version": "3.0.8", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/debug": { "version": "4.3.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/tap/node_modules/electron-to-chromium": { "version": "1.3.727", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/escalade": { "version": "3.1.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/escape-string-regexp": { "version": "1.0.5", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/tap/node_modules/esprima": { "version": "4.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/events-to-array": { "version": "1.1.2", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/find-cache-dir": { "version": "3.3.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/tap/node_modules/find-up": { "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/gensync": { "version": "1.0.0-beta.2", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/tap/node_modules/glob": { "version": "7.1.7", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "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" }, "engines": { "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/tap/node_modules/globals": { "version": "11.12.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/has-flag": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/import-jsx": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-transform-destructuring": "^7.5.0", "@babel/plugin-transform-react-jsx": "^7.3.0", "caller-path": "^2.0.0", "find-cache-dir": "^3.2.0", "make-dir": "^3.0.2", "resolve-from": "^3.0.0", "rimraf": "^3.0.0" }, "engines": { "node": ">=10" } }, "node_modules/tap/node_modules/inflight": { "version": "1.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "node_modules/tap/node_modules/inherits": { "version": "2.0.4", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/ink": { "version": "2.7.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "arrify": "^2.0.1", "auto-bind": "^4.0.0", "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-truncate": "^2.1.0", "is-ci": "^2.0.0", "lodash.throttle": "^4.1.1", "log-update": "^3.0.0", "prop-types": "^15.6.2", "react-reconciler": "^0.24.0", "scheduler": "^0.18.0", "signal-exit": "^3.0.2", "slice-ansi": "^3.0.0", "string-length": "^3.1.0", "widest-line": "^3.1.0", "wrap-ansi": "^6.2.0", "yoga-layout-prebuilt": "^1.9.3" }, "engines": { "node": ">=8" }, "peerDependencies": { "@types/react": ">=16.8.0", "react": ">=16.8.0" }, "peerDependenciesMeta": { "@types/react": { "optional": true } } }, "node_modules/tap/node_modules/ink/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/tap/node_modules/ink/node_modules/chalk": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/ink/node_modules/color-convert": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/tap/node_modules/ink/node_modules/color-name": { "version": "1.1.4", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/ink/node_modules/has-flag": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/ink/node_modules/supports-color": { "version": "7.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/is-ci": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ci-info": "^2.0.0" }, "bin": { "is-ci": "bin.js" } }, "node_modules/tap/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/js-tokens": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/jsesc": { "version": "2.5.2", "dev": true, "inBundle": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/json5": { "version": "2.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "minimist": "^1.2.5" }, "bin": { "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/locate-path": { "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/lodash.throttle": { "version": "4.1.1", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/log-update": { "version": "3.4.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-escapes": "^3.2.0", "cli-cursor": "^2.1.0", "wrap-ansi": "^5.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/log-update/node_modules/ansi-escapes": { "version": "3.2.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/ansi-regex": { "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/log-update/node_modules/cli-cursor": { "version": "2.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "restore-cursor": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/emoji-regex": { "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/log-update/node_modules/is-fullwidth-code-point": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/mimic-fn": { "version": "1.2.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/onetime": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "mimic-fn": "^1.0.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/restore-cursor": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/log-update/node_modules/string-width": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" }, "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/log-update/node_modules/strip-ansi": { "version": "5.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/log-update/node_modules/wrap-ansi": { "version": "5.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/loose-envify": { "version": "1.4.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "node_modules/tap/node_modules/make-dir": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "semver": "^6.0.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/mimic-fn": { "version": "2.1.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/minimatch": { "version": "3.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/tap/node_modules/minimist": { "version": "1.2.5", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/minipass": { "version": "3.1.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/ms": { "version": "2.1.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/node-releases": { "version": "1.1.71", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/object-assign": { "version": "4.1.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/tap/node_modules/once": { "version": "1.4.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/tap/node_modules/onetime": { "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/p-limit": { "version": "2.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/p-locate": { "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/p-try": { "version": "2.2.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/path-exists": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/path-is-absolute": { "version": "1.0.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/tap/node_modules/pkg-dir": { "version": "4.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/prop-types": { "version": "15.7.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, "node_modules/tap/node_modules/punycode": { "version": "2.1.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/react-is": { "version": "16.13.1", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/react-reconciler": { "version": "0.24.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", "scheduler": "^0.18.0" }, "engines": { "node": ">=0.10.0" }, "peerDependencies": { "react": "^16.0.0" } }, "node_modules/tap/node_modules/redeyed": { "version": "2.1.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "esprima": "~4.0.0" } }, "node_modules/tap/node_modules/resolve-from": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/restore-cursor": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/rimraf": { "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/tap/node_modules/safe-buffer": { "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/scheduler": { "version": "0.18.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "node_modules/tap/node_modules/semver": { "version": "6.3.0", "dev": true, "inBundle": true, "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/tap/node_modules/signal-exit": { "version": "3.0.3", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/slice-ansi": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/slice-ansi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/tap/node_modules/slice-ansi/node_modules/color-convert": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/tap/node_modules/slice-ansi/node_modules/color-name": { "version": "1.1.4", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/source-map": { "version": "0.5.7", "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/tap/node_modules/string-length": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "astral-regex": "^1.0.0", "strip-ansi": "^5.2.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/string-length/node_modules/ansi-regex": { "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/string-length/node_modules/astral-regex": { "version": "1.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/string-length/node_modules/strip-ansi": { "version": "5.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" } }, "node_modules/tap/node_modules/string-width": { "version": "4.2.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/string-width/node_modules/ansi-regex": { "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/supports-color": { "version": "5.5.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/tap-parser": { "version": "10.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "events-to-array": "^1.0.1", "minipass": "^3.0.0", "tap-yaml": "^1.0.0" }, "bin": { "tap-parser": "bin/cmd.js" }, "engines": { "node": ">= 8" } }, "node_modules/tap/node_modules/tap-yaml": { "version": "1.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "yaml": "^1.5.0" } }, "node_modules/tap/node_modules/to-fast-properties": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tap/node_modules/treport": { "version": "2.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "cardinal": "^2.1.1", "chalk": "^3.0.0", "import-jsx": "^4.0.0", "ink": "^2.6.0", "ms": "^2.1.2", "string-length": "^3.1.0", "tap-parser": "^10.0.1", "unicode-length": "^2.0.2" }, "peerDependencies": { "react": "^16.8.6" } }, "node_modules/tap/node_modules/treport/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/tap/node_modules/treport/node_modules/chalk": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/treport/node_modules/color-convert": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/tap/node_modules/treport/node_modules/color-name": { "version": "1.1.4", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/treport/node_modules/has-flag": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/treport/node_modules/supports-color": { "version": "7.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/type-fest": { "version": "0.21.3", "dev": true, "inBundle": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tap/node_modules/unicode-length": { "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "punycode": "^2.0.0", "strip-ansi": "^3.0.1" } }, "node_modules/tap/node_modules/unicode-length/node_modules/ansi-regex": { "version": "2.1.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/tap/node_modules/unicode-length/node_modules/strip-ansi": { "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/tap/node_modules/widest-line": { "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "string-width": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/wrap-ansi": { "version": "6.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/tap/node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/tap/node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/tap/node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/tap/node_modules/wrappy": { "version": "1.0.2", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/yallist": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/tap/node_modules/yaml": { "version": "1.10.2", "dev": true, "inBundle": true, "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/tap/node_modules/yoga-layout-prebuilt": { "version": "1.10.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@types/yoga-layout": "1.9.2" }, "engines": { "node": ">=8" } }, "node_modules/tar-fs": { "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, "dependencies": { "chownr": "^1.0.1", "mkdirp": "^0.5.1", "pump": "^1.0.0", "tar-stream": "^1.1.2" } }, "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "node_modules/tar-fs/node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "dependencies": { "minimist": "^1.2.5" }, "bin": { "mkdirp": "bin/cmd.js" } }, "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, "dependencies": { "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" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/tcompare": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.6.tgz", "integrity": "sha512-OvO7omN/wkdsKzmOqr3sQFfLbghs/2X5mwSkcfgRiXZshfPnTsAs3IRf1RixR/Pff26qG/r9ogcZMpV0YdeGXg==", "dev": true, "dependencies": { "diff": "^4.0.2" }, "engines": { "node": ">=10" } }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" }, "engines": { "node": ">=8" } }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "node_modules/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 }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { "is-number": "^7.0.0" }, "engines": { "node": ">=8.0" } }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" }, "engines": { "node": ">=0.8" } }, "node_modules/trivial-deferred": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", "dev": true }, "node_modules/tsconfig-paths": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", "dev": true, "dependencies": { "json5": "^2.2.0", "minimist": "^1.2.0", "strip-bom": "^3.0.0" } }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, "engines": { "node": "*" } }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/unicode-length": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", "dev": true, "dependencies": { "punycode": "^2.0.0", "strip-ansi": "^3.0.1" } }, "node_modules/unicode-length/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/unicode-length/node_modules/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, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "bin": { "uuid": "bin/uuid" } }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "engines": [ "node >=0.6.0" ], "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "dependencies": { "number-is-nan": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi/node_modules/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, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/yapool": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", "dev": true }, "node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" }, "engines": { "node": ">=8" } }, "node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" }, "engines": { "node": ">=6" } }, "node_modules/yargs/node_modules/cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "node_modules/yargs/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/yargs/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/yargs/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yargs/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/yargs/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/yargs/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/yargs/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } } }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { "@babel/highlight": "^7.10.4" } }, "@babel/compat-data": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", "dev": true }, "@babel/core": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.0", "@babel/helper-compilation-targets": "^7.15.0", "@babel/helper-module-transforms": "^7.15.0", "@babel/helpers": "^7.14.8", "@babel/parser": "^7.15.0", "@babel/template": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { "@babel/highlight": "^7.14.5" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/generator": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", "dev": true, "requires": { "@babel/types": "^7.15.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-compilation-targets": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", "dev": true, "requires": { "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", "browserslist": "^4.16.6", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/helper-function-name": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.14.5", "@babel/template": "^7.14.5", "@babel/types": "^7.14.5" } }, "@babel/helper-get-function-arity": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-hoist-variables": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-member-expression-to-functions": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", "dev": true, "requires": { "@babel/types": "^7.15.0" } }, "@babel/helper-module-imports": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-module-transforms": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.14.5", "@babel/helper-replace-supers": "^7.15.0", "@babel/helper-simple-access": "^7.14.8", "@babel/helper-split-export-declaration": "^7.14.5", "@babel/helper-validator-identifier": "^7.14.9", "@babel/template": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0" } }, "@babel/helper-optimise-call-expression": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-plugin-utils": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true }, "@babel/helper-replace-supers": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.15.0", "@babel/helper-optimise-call-expression": "^7.14.5", "@babel/traverse": "^7.15.0", "@babel/types": "^7.15.0" } }, "@babel/helper-simple-access": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", "dev": true, "requires": { "@babel/types": "^7.14.8" } }, "@babel/helper-split-export-declaration": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "requires": { "@babel/types": "^7.14.5" } }, "@babel/helper-validator-identifier": { "version": "7.14.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", "dev": true }, "@babel/helper-validator-option": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true }, "@babel/helpers": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", "dev": true, "requires": { "@babel/template": "^7.14.5", "@babel/traverse": "^7.14.8", "@babel/types": "^7.14.8" } }, "@babel/highlight": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "dependencies": { "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "@babel/parser": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.0.tgz", "integrity": "sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==", "dev": true }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.14.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", "dev": true, "requires": { "@babel/compat-data": "^7.14.7", "@babel/helper-compilation-targets": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-syntax-jsx": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-transform-destructuring": { "version": "7.14.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-parameters": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-react-jsx": { "version": "7.14.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.14.5", "@babel/helper-module-imports": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-jsx": "^7.14.5", "@babel/types": "^7.14.9" } }, "@babel/template": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", "@babel/parser": "^7.14.5", "@babel/types": "^7.14.5" }, "dependencies": { "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { "@babel/highlight": "^7.14.5" } } } }, "@babel/traverse": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.0", "@babel/helper-function-name": "^7.14.5", "@babel/helper-hoist-variables": "^7.14.5", "@babel/helper-split-export-declaration": "^7.14.5", "@babel/parser": "^7.15.0", "@babel/types": "^7.15.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { "@babel/highlight": "^7.14.5" } }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, "@babel/types": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" } }, "@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, "@humanwhocodes/object-schema": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" }, "dependencies": { "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" } }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "append-transform": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "requires": { "default-require-extensions": "^3.0.0" } }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "array-includes": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.2", "get-intrinsic": "^1.1.1", "is-string": "^1.0.5" } }, "array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1" } }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" } }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async-hook-domain": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.3.tgz", "integrity": "sha512-MadiLLDEZRZzZwcm0dgS+K99qXZ4H2saAUwUgwzFulbAkXrKi3AX5FvWS3FFTQtLMwrqcGqAJe6o12KrObejQA==", "dev": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "bind-obj-methods": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", "dev": true }, "bl": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" } }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" } }, "browserslist": { "version": "4.16.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001248", "colorette": "^1.2.2", "electron-to-chromium": "^1.3.793", "escalade": "^3.1.1", "node-releases": "^1.1.73" } }, "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.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { "hasha": "^5.0.0", "make-dir": "^3.0.0", "package-hash": "^4.0.0", "write-file-atomic": "^3.0.0" } }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" } }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { "callsites": "^2.0.0" }, "dependencies": { "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true } } }, "caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { "caller-callsite": "^2.0.0" } }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-lite": { "version": "1.0.30001249", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", "dev": true }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "chmodr": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.2.0.tgz", "integrity": "sha512-Y5uI7Iq/Az6HgJEL6pdw7THVd7jbVOTPwsmcPOBjQL8e3N+pz872kzK5QxYGEy21iRys+iHWV0UZQXDFJo1hyA==", "dev": true }, "chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" } }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" } } } }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, "colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "coveralls": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", "dev": true, "requires": { "js-yaml": "^3.13.1", "lcov-parse": "^1.0.0", "log-driver": "^1.2.7", "minimist": "^1.2.5", "request": "^2.88.2" } }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "default-require-extensions": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, "requires": { "strip-bom": "^4.0.0" }, "dependencies": { "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true } } }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { "version": "1.3.798", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", "dev": true }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" } }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { "version": "1.18.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", "is-regex": "^1.1.3", "is-string": "^1.0.6", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", "unbox-primitive": "^1.0.1" } }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" } }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint": { "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.1.2", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "progress": "^2.0.0", "regexpp": "^3.1.0", "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" } }, "eslint-import-resolver-node": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", "resolve": "^1.13.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-module-utils": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", "dev": true, "requires": { "debug": "^3.2.7", "pkg-dir": "^2.0.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", "dev": true, "requires": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" } }, "eslint-plugin-import": { "version": "2.23.4", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "requires": { "array-includes": "^3.1.3", "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.4", "eslint-module-utils": "^2.6.1", "find-up": "^2.0.0", "has": "^1.0.3", "is-core-module": "^2.4.0", "minimatch": "^3.0.4", "object.values": "^1.1.3", "pkg-up": "^2.0.0", "read-pkg-up": "^3.0.0", "resolve": "^1.20.0", "tsconfig-paths": "^3.9.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, "requires": { "eslint-plugin-es": "^3.0.0", "eslint-utils": "^2.0.0", "ignore": "^5.1.1", "minimatch": "^3.0.4", "resolve": "^1.10.1", "semver": "^6.1.0" }, "dependencies": { "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "eslint-plugin-promise": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true }, "eslint-plugin-standard": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz", "integrity": "sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==", "dev": true, "requires": {} }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" }, "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" }, "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" } }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "find-cache-dir": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, "dependencies": { "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" } } } }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" } }, "findit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", "dev": true }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" }, "dependencies": { "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" } }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "fromentries": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true }, "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", "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", "dev": true }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "function-loop": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" } }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "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" } }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globals": { "version": "13.10.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, "graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, "requires": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" }, "dependencies": { "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "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.2.2", "sshpk": "^1.7.0" } }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "import-jsx": { "version": "https://registry.npmjs.org/import-jsx/-/import-jsx-4.0.0.tgz", "integrity": "sha512-CnjJ2BZFJzbFDmYG5S47xPQjMlSbZLyLJuG4znzL4TdPtJBxHtFP1xVmR+EYX4synFSldiY3B6m00XkPM3zVnA==", "dev": true, "requires": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-transform-destructuring": "^7.5.0", "@babel/plugin-transform-react-jsx": "^7.3.0", "caller-path": "^2.0.0", "find-cache-dir": "^3.2.0", "make-dir": "^3.0.2", "resolve-from": "^3.0.0", "rimraf": "^3.0.0" }, "dependencies": { "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-bigint": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", "dev": true }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { "binary-extensions": "^2.0.0" } }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-core-module": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "dev": true, "requires": { "has": "^1.0.3" } }, "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true }, "istanbul-lib-hook": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "requires": { "append-transform": "^2.0.0" } }, "istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "istanbul-lib-processinfo": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", "dev": true, "requires": { "archy": "^1.0.0", "cross-spawn": "^7.0.0", "istanbul-lib-coverage": "^3.0.0-alpha.1", "make-dir": "^3.0.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", "uuid": "^3.3.3" }, "dependencies": { "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" } }, "istanbul-lib-source-maps": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "requires": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "istanbul-reports": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "requires": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, "jackspeak": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.0.tgz", "integrity": "sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw==", "dev": true, "requires": { "cliui": "^4.1.0" } }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" } }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, "lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", "dev": true }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "libtap": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.1.tgz", "integrity": "sha512-Fye8fh1+G7E8qqmjQaY+pXGxy7HM0S6bqCCJFLa16+g2jODBByxbJFDpjbDNF69wfRVyvJ+foLZc1WTIv7dx+g==", "dev": true, "requires": { "async-hook-domain": "^2.0.1", "bind-obj-methods": "^3.0.0", "diff": "^4.0.2", "function-loop": "^2.0.1", "minipass": "^3.1.1", "own-or": "^1.0.0", "own-or-env": "^1.0.1", "signal-exit": "^3.0.2", "stack-utils": "^2.0.1", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", "tcompare": "^5.0.1", "trivial-deferred": "^1.0.1", "yapool": "^1.0.0" } }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "log-driver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" } }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "mime-db": { "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", "dev": true }, "mime-types": { "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "dev": true, "requires": { "mime-db": "1.49.0" } }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minipass": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "requires": { "yallist": "^4.0.0" } }, "minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "mutate-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/mutate-fs/-/mutate-fs-2.1.1.tgz", "integrity": "sha512-WI5pPPUNiWqaK2XdK94AVpxIc8GmZEXYlLfFbWuc4gUtBGHTK92jdPqFdx/lilxgb5Ep7tQ15NqCcJEOeq6wdA==", "dev": true }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, "requires": { "process-on-spawn": "^1.0.0" } }, "node-releases": { "version": "1.1.73", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", "dev": true }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" }, "dependencies": { "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, "requires": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "caching-transform": "^4.0.0", "convert-source-map": "^1.7.0", "decamelize": "^1.2.0", "find-cache-dir": "^3.2.0", "find-up": "^4.1.0", "foreground-child": "^2.0.0", "get-package-type": "^0.1.0", "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-hook": "^3.0.0", "istanbul-lib-instrument": "^4.0.0", "istanbul-lib-processinfo": "^2.0.2", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", "make-dir": "^3.0.0", "node-preload": "^0.2.1", "p-map": "^3.0.0", "process-on-spawn": "^1.0.0", "resolve-from": "^5.0.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "spawn-wrap": "^2.0.0", "test-exclude": "^6.0.0", "yargs": "^15.0.2" }, "dependencies": { "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-inspect": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" } }, "object.values": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.2" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, "opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" } }, "own-or": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", "dev": true }, "own-or-env": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", "dev": true, "requires": { "own-or": "^1.0.0" } }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" } }, "p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" } }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "package-hash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "requires": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", "lodash.flattendeep": "^4.4.0", "release-zalgo": "^1.0.0" } }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { "pify": "^3.0.0" } }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" } }, "pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, "requires": { "find-up": "^2.1.0" } }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, "requires": { "fromentries": "^1.2.0" } }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "pump": { "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.1.0", "once": "^1.3.1" } }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { "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 }, "react": { "version": "16.14.0", "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2" } }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" } }, "read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" } }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "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" } }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" } }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { "es6-error": "^4.0.1" } }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.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.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" } }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" } }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "requires": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", "make-dir": "^3.0.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" }, "dependencies": { "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", "dev": true }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "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", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" } }, "stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" }, "dependencies": { "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "string_decoder": { "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.0" } }, "string-width": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" } }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, "table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "requires": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0", "strip-ansi": "^6.0.0" }, "dependencies": { "ajv": { "version": "8.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "tap": { "version": "15.0.9", "resolved": "https://registry.npmjs.org/tap/-/tap-15.0.9.tgz", "integrity": "sha512-bqY5SxEqYKRd37PIUfKBf9HMs/hklyl/fGXkuStr9rYTIGa0/icpSLsm6IVOmx2qT0/TliPNJ6OvS5kddJYHdg==", "dev": true, "requires": { "@types/react": "^16.9.23", "chokidar": "^3.3.0", "coveralls": "^3.0.11", "findit": "^2.0.0", "foreground-child": "^2.0.0", "fs-exists-cached": "^1.0.0", "glob": "^7.1.6", "import-jsx": "^4.0.0", "ink": "^2.7.1", "isexe": "^2.0.0", "istanbul-lib-processinfo": "^2.0.2", "jackspeak": "^1.4.0", "libtap": "^1.1.1", "minipass": "^3.1.1", "mkdirp": "^1.0.4", "nyc": "^15.1.0", "opener": "^1.5.1", "react": "^16.12.0", "rimraf": "^3.0.0", "signal-exit": "^3.0.0", "source-map-support": "^0.5.16", "tap-mocha-reporter": "^5.0.0", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", "tcompare": "^5.0.6", "treport": "^2.0.2", "which": "^2.0.2" }, "dependencies": { "@babel/code-frame": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { "version": "7.14.0", "bundled": true, "dev": true }, "@babel/core": { "version": "7.14.0", "bundled": true, "dev": true, "requires": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.0", "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-module-transforms": "^7.14.0", "@babel/helpers": "^7.14.0", "@babel/parser": "^7.14.0", "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" } }, "@babel/generator": { "version": "7.14.1", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.14.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-compilation-targets": { "version": "7.13.16", "bundled": true, "dev": true, "requires": { "@babel/compat-data": "^7.13.15", "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", "semver": "^6.3.0" } }, "@babel/helper-function-name": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.12.13", "@babel/template": "^7.12.13", "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-member-expression-to-functions": { "version": "7.13.12", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.13.12" } }, "@babel/helper-module-imports": { "version": "7.13.12", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.13.12" } }, "@babel/helper-module-transforms": { "version": "7.14.0", "bundled": true, "dev": true, "requires": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-simple-access": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-validator-identifier": "^7.14.0", "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0" } }, "@babel/helper-optimise-call-expression": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { "version": "7.13.0", "bundled": true, "dev": true }, "@babel/helper-replace-supers": { "version": "7.13.12", "bundled": true, "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/traverse": "^7.13.0", "@babel/types": "^7.13.12" } }, "@babel/helper-simple-access": { "version": "7.13.12", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.13.12" } }, "@babel/helper-split-export-declaration": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { "version": "7.14.0", "bundled": true, "dev": true }, "@babel/helper-validator-option": { "version": "7.12.17", "bundled": true, "dev": true }, "@babel/helpers": { "version": "7.14.0", "bundled": true, "dev": true, "requires": { "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0" } }, "@babel/highlight": { "version": "7.14.0", "bundled": true, "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { "version": "7.14.1", "bundled": true, "dev": true }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.13.8", "bundled": true, "dev": true, "requires": { "@babel/compat-data": "^7.13.8", "@babel/helper-compilation-targets": "^7.13.8", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.13.0" } }, "@babel/plugin-syntax-jsx": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "bundled": true, "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-transform-destructuring": { "version": "7.13.17", "bundled": true, "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-parameters": { "version": "7.13.0", "bundled": true, "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-react-jsx": { "version": "7.13.12", "bundled": true, "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-module-imports": "^7.13.12", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-jsx": "^7.12.13", "@babel/types": "^7.13.12" } }, "@babel/template": { "version": "7.12.13", "bundled": true, "dev": true, "requires": { "@babel/code-frame": "^7.12.13", "@babel/parser": "^7.12.13", "@babel/types": "^7.12.13" } }, "@babel/traverse": { "version": "7.14.0", "bundled": true, "dev": true, "requires": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.0", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", "@babel/parser": "^7.14.0", "@babel/types": "^7.14.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { "version": "7.14.1", "bundled": true, "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, "@types/prop-types": { "version": "15.7.3", "bundled": true, "dev": true }, "@types/react": { "version": "16.14.6", "bundled": true, "dev": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, "@types/scheduler": { "version": "0.16.1", "bundled": true, "dev": true }, "@types/yoga-layout": { "version": "1.9.2", "bundled": true, "dev": true }, "ansi-escapes": { "version": "4.3.2", "bundled": true, "dev": true, "requires": { "type-fest": "^0.21.3" } }, "ansi-styles": { "version": "3.2.1", "bundled": true, "dev": true, "requires": { "color-convert": "^1.9.0" } }, "ansicolors": { "version": "0.3.2", "bundled": true, "dev": true }, "arrify": { "version": "2.0.1", "bundled": true, "dev": true }, "astral-regex": { "version": "2.0.0", "bundled": true, "dev": true }, "auto-bind": { "version": "4.0.0", "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.2", "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "browserslist": { "version": "4.16.6", "bundled": true, "dev": true, "requires": { "caniuse-lite": "^1.0.30001219", "colorette": "^1.2.2", "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", "node-releases": "^1.1.71" } }, "caller-callsite": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "callsites": "^2.0.0" } }, "caller-path": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "caller-callsite": "^2.0.0" } }, "callsites": { "version": "2.0.0", "bundled": true, "dev": true }, "caniuse-lite": { "version": "1.0.30001223", "bundled": true, "dev": true }, "cardinal": { "version": "2.1.1", "bundled": true, "dev": true, "requires": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" } }, "chalk": { "version": "2.4.2", "bundled": true, "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "ci-info": { "version": "2.0.0", "bundled": true, "dev": true }, "cli-cursor": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "restore-cursor": "^3.1.0" } }, "cli-truncate": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" } }, "color-convert": { "version": "1.9.3", "bundled": true, "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "bundled": true, "dev": true }, "colorette": { "version": "1.2.2", "bundled": true, "dev": true }, "commondir": { "version": "1.0.1", "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, "dev": true }, "convert-source-map": { "version": "1.7.0", "bundled": true, "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "csstype": { "version": "3.0.8", "bundled": true, "dev": true }, "debug": { "version": "4.3.1", "bundled": true, "dev": true, "requires": { "ms": "2.1.2" } }, "electron-to-chromium": { "version": "1.3.727", "bundled": true, "dev": true }, "emoji-regex": { "version": "8.0.0", "bundled": true, "dev": true }, "escalade": { "version": "3.1.1", "bundled": true, "dev": true }, "escape-string-regexp": { "version": "1.0.5", "bundled": true, "dev": true }, "esprima": { "version": "4.0.1", "bundled": true, "dev": true }, "events-to-array": { "version": "1.1.2", "bundled": true, "dev": true }, "find-cache-dir": { "version": "3.3.1", "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, "find-up": { "version": "4.1.0", "bundled": true, "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, "dev": true }, "gensync": { "version": "1.0.0-beta.2", "bundled": true, "dev": true }, "glob": { "version": "7.1.7", "bundled": true, "dev": true, "requires": { "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": { "version": "11.12.0", "bundled": true, "dev": true }, "has-flag": { "version": "3.0.0", "bundled": true, "dev": true }, "import-jsx": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-transform-destructuring": "^7.5.0", "@babel/plugin-transform-react-jsx": "^7.3.0", "caller-path": "^2.0.0", "find-cache-dir": "^3.2.0", "make-dir": "^3.0.2", "resolve-from": "^3.0.0", "rimraf": "^3.0.0" } }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.4", "bundled": true, "dev": true }, "ink": { "version": "2.7.1", "bundled": true, "dev": true, "requires": { "ansi-escapes": "^4.2.1", "arrify": "^2.0.1", "auto-bind": "^4.0.0", "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-truncate": "^2.1.0", "is-ci": "^2.0.0", "lodash.throttle": "^4.1.1", "log-update": "^3.0.0", "prop-types": "^15.6.2", "react-reconciler": "^0.24.0", "scheduler": "^0.18.0", "signal-exit": "^3.0.2", "slice-ansi": "^3.0.0", "string-length": "^3.1.0", "widest-line": "^3.1.0", "wrap-ansi": "^6.2.0", "yoga-layout-prebuilt": "^1.9.3" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "bundled": true, "dev": true, "requires": { "color-convert": "^2.0.1" } }, "chalk": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "color-convert": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "bundled": true, "dev": true }, "has-flag": { "version": "4.0.0", "bundled": true, "dev": true }, "supports-color": { "version": "7.2.0", "bundled": true, "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, "is-ci": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "ci-info": "^2.0.0" } }, "is-fullwidth-code-point": { "version": "3.0.0", "bundled": true, "dev": true }, "js-tokens": { "version": "4.0.0", "bundled": true, "dev": true }, "jsesc": { "version": "2.5.2", "bundled": true, "dev": true }, "json5": { "version": "2.2.0", "bundled": true, "dev": true, "requires": { "minimist": "^1.2.5" } }, "locate-path": { "version": "5.0.0", "bundled": true, "dev": true, "requires": { "p-locate": "^4.1.0" } }, "lodash.throttle": { "version": "4.1.1", "bundled": true, "dev": true }, "log-update": { "version": "3.4.0", "bundled": true, "dev": true, "requires": { "ansi-escapes": "^3.2.0", "cli-cursor": "^2.1.0", "wrap-ansi": "^5.0.0" }, "dependencies": { "ansi-escapes": { "version": "3.2.0", "bundled": true, "dev": true }, "ansi-regex": { "version": "4.1.0", "bundled": true, "dev": true }, "cli-cursor": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "restore-cursor": "^2.0.0" } }, "emoji-regex": { "version": "7.0.3", "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "bundled": true, "dev": true }, "mimic-fn": { "version": "1.2.0", "bundled": true, "dev": true }, "onetime": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" } }, "restore-cursor": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, "string-width": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } }, "strip-ansi": { "version": "5.2.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^4.1.0" } }, "wrap-ansi": { "version": "5.1.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" } } } }, "loose-envify": { "version": "1.4.0", "bundled": true, "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "make-dir": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "semver": "^6.0.0" } }, "mimic-fn": { "version": "2.1.0", "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.5", "bundled": true, "dev": true }, "minipass": { "version": "3.1.3", "bundled": true, "dev": true, "requires": { "yallist": "^4.0.0" } }, "ms": { "version": "2.1.2", "bundled": true, "dev": true }, "node-releases": { "version": "1.1.71", "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", "bundled": true, "dev": true }, "once": { "version": "1.4.0", "bundled": true, "dev": true, "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", "bundled": true, "dev": true, "requires": { "mimic-fn": "^2.1.0" } }, "p-limit": { "version": "2.3.0", "bundled": true, "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "4.1.0", "bundled": true, "dev": true, "requires": { "p-limit": "^2.2.0" } }, "p-try": { "version": "2.2.0", "bundled": true, "dev": true }, "path-exists": { "version": "4.0.0", "bundled": true, "dev": true }, "path-is-absolute": { "version": "1.0.1", "bundled": true, "dev": true }, "pkg-dir": { "version": "4.2.0", "bundled": true, "dev": true, "requires": { "find-up": "^4.0.0" } }, "prop-types": { "version": "15.7.2", "bundled": true, "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, "punycode": { "version": "2.1.1", "bundled": true, "dev": true }, "react-is": { "version": "16.13.1", "bundled": true, "dev": true }, "react-reconciler": { "version": "0.24.0", "bundled": true, "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", "scheduler": "^0.18.0" } }, "redeyed": { "version": "2.1.1", "bundled": true, "dev": true, "requires": { "esprima": "~4.0.0" } }, "resolve-from": { "version": "3.0.0", "bundled": true, "dev": true }, "restore-cursor": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "rimraf": { "version": "3.0.2", "bundled": true, "dev": true, "requires": { "glob": "^7.1.3" } }, "safe-buffer": { "version": "5.1.2", "bundled": true, "dev": true }, "scheduler": { "version": "0.18.0", "bundled": true, "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "semver": { "version": "6.3.0", "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.3", "bundled": true, "dev": true }, "slice-ansi": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "bundled": true, "dev": true, "requires": { "color-convert": "^2.0.1" } }, "color-convert": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "bundled": true, "dev": true } } }, "source-map": { "version": "0.5.7", "bundled": true, "dev": true }, "string-length": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "astral-regex": "^1.0.0", "strip-ansi": "^5.2.0" }, "dependencies": { "ansi-regex": { "version": "4.1.0", "bundled": true, "dev": true }, "astral-regex": { "version": "1.0.0", "bundled": true, "dev": true }, "strip-ansi": { "version": "5.2.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^4.1.0" } } } }, "string-width": { "version": "4.2.2", "bundled": true, "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { "version": "5.0.0", "bundled": true, "dev": true }, "strip-ansi": { "version": "6.0.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^5.0.0" } } } }, "supports-color": { "version": "5.5.0", "bundled": true, "dev": true, "requires": { "has-flag": "^3.0.0" } }, "tap-parser": { "version": "10.1.0", "bundled": true, "dev": true, "requires": { "events-to-array": "^1.0.1", "minipass": "^3.0.0", "tap-yaml": "^1.0.0" } }, "tap-yaml": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "yaml": "^1.5.0" } }, "to-fast-properties": { "version": "2.0.0", "bundled": true, "dev": true }, "treport": { "version": "2.0.2", "bundled": true, "dev": true, "requires": { "cardinal": "^2.1.1", "chalk": "^3.0.0", "import-jsx": "^4.0.0", "ink": "^2.6.0", "ms": "^2.1.2", "string-length": "^3.1.0", "tap-parser": "^10.0.1", "unicode-length": "^2.0.2" }, "dependencies": { "ansi-styles": { "version": "4.3.0", "bundled": true, "dev": true, "requires": { "color-convert": "^2.0.1" } }, "chalk": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "color-convert": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "bundled": true, "dev": true }, "has-flag": { "version": "4.0.0", "bundled": true, "dev": true }, "supports-color": { "version": "7.2.0", "bundled": true, "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, "type-fest": { "version": "0.21.3", "bundled": true, "dev": true }, "unicode-length": { "version": "2.0.2", "bundled": true, "dev": true, "requires": { "punycode": "^2.0.0", "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "bundled": true, "dev": true }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" } } } }, "widest-line": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "string-width": "^4.0.0" } }, "wrap-ansi": { "version": "6.2.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { "version": "5.0.0", "bundled": true, "dev": true }, "ansi-styles": { "version": "4.3.0", "bundled": true, "dev": true, "requires": { "color-convert": "^2.0.1" } }, "color-convert": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "bundled": true, "dev": true }, "strip-ansi": { "version": "6.0.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^5.0.0" } } } }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true }, "yallist": { "version": "4.0.0", "bundled": true, "dev": true }, "yaml": { "version": "1.10.2", "bundled": true, "dev": true }, "yoga-layout-prebuilt": { "version": "1.10.0", "bundled": true, "dev": true, "requires": { "@types/yoga-layout": "1.9.2" } } } }, "tap-mocha-reporter": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz", "integrity": "sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==", "dev": true, "requires": { "color-support": "^1.1.0", "debug": "^4.1.1", "diff": "^4.0.1", "escape-string-regexp": "^2.0.0", "glob": "^7.0.5", "tap-parser": "^10.0.0", "tap-yaml": "^1.0.0", "unicode-length": "^2.0.2" }, "dependencies": { "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "tap-parser": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.1.0.tgz", "integrity": "sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==", "dev": true, "requires": { "events-to-array": "^1.0.1", "minipass": "^3.0.0", "tap-yaml": "^1.0.0" } }, "tap-yaml": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", "dev": true, "requires": { "yaml": "^1.5.0" } }, "tar-fs": { "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.0", "tar-stream": "^1.1.2" }, "dependencies": { "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" } } } }, "tar-stream": { "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.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" } }, "tcompare": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.6.tgz", "integrity": "sha512-OvO7omN/wkdsKzmOqr3sQFfLbghs/2X5mwSkcfgRiXZshfPnTsAs3IRf1RixR/Pff26qG/r9ogcZMpV0YdeGXg==", "dev": true, "requires": { "diff": "^4.0.2" } }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "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 }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" } }, "trivial-deferred": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", "dev": true }, "tsconfig-paths": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", "dev": true, "requires": { "json5": "^2.2.0", "minimist": "^1.2.0", "strip-bom": "^3.0.0" } }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" } }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "requires": { "is-typedarray": "^1.0.0" } }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" } }, "unicode-length": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", "dev": true, "requires": { "punycode": "^2.0.0", "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "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.0.0" } } } }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } }, "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.0.0" } } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yapool": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", "dev": true }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" }, "dependencies": { "cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } } } }, "yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } } } } node-tar-6.1.11/package.json000066400000000000000000000031031411173710400155730ustar00rootroot00000000000000{ "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "name": "tar", "description": "tar for node", "version": "6.1.11", "repository": { "type": "git", "url": "https://github.com/npm/node-tar.git" }, "scripts": { "test:posix": "tap", "test:win32": "tap --lines=98 --branches=98 --statements=98 --functions=98", "test": "node test/fixtures/test.js", "posttest": "npm run lint", "eslint": "eslint", "lint": "npm run eslint -- test lib", "lintfix": "npm run lint -- --fix", "preversion": "npm test", "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "genparse": "node scripts/generate-parse-fixtures.js", "bench": "for i in benchmarks/*/*.js; do echo $i; for j in {1..5}; do node $i || break; done; done" }, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^3.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "devDependencies": { "chmodr": "^1.2.0", "end-of-stream": "^1.4.3", "eslint": "^7.17.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^5.0.0", "events-to-array": "^1.1.2", "mutate-fs": "^2.1.1", "rimraf": "^2.7.1", "tap": "^15.0.9", "tar-fs": "^1.16.3", "tar-stream": "^1.6.2" }, "license": "ISC", "engines": { "node": ">= 10" }, "files": [ "index.js", "lib/*.js" ], "tap": { "coverage-map": "map.js", "check-coverage": true } } node-tar-6.1.11/scripts/000077500000000000000000000000001411173710400147775ustar00rootroot00000000000000node-tar-6.1.11/scripts/generate-parse-fixtures.js000066400000000000000000000056761411173710400221240ustar00rootroot00000000000000'use strict' const Parse = require('../lib/parse.js') 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 = [250, null] const filterOpt = [ true, false ] const strictOpt = [ true, false ] const makeTest = (tarfile, tardata, maxMeta, filter, strict) => { const o = (maxMeta ? '-meta-' + maxMeta : '') + (filter ? '-filter' : '') + (strict ? '-strict' : '') const tail = (o ? '-' + o : '') + '.json' const eventsfile = parsedir + '/' + path.basename(tarfile, '.tar') + tail const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict }) const events = [] const pushEntry = type => entry => { events.push([type, { extended: entry.extended, globalExtended: entry.globalExtended, type: entry.type, meta: entry.meta, ignore: entry.ignore, path: entry.path, mode: entry.mode, uid: entry.uid, gid: entry.gid, uname: entry.uname, gname: entry.gname, size: entry.size, mtime: entry.mtime, atime: entry.atime, ctime: entry.ctime, linkpath: entry.linkpath, header: { cksumValid: entry.header.cksumValid, needPax: entry.header.needPax, path: entry.header.path, mode: entry.header.mode, uid: entry.header.uid, gid: entry.header.gid, size: entry.header.size, mtime: entry.header.mtime, cksum: entry.header.cksum, linkpath: entry.header.linkpath, ustar: entry.header.ustar, ustarver: entry.header.ustarver, uname: entry.header.uname, gname: entry.header.gname, devmaj: entry.header.devmaj, devmin: entry.header.devmin, ustarPrefix: entry.header.ustarPrefix, xstarPrefix: entry.header.xstarPrefix, prefixTerminator: entry.header.prefixTerminator, atime: entry.header.atime, ctime: entry.header.atime } }]) entry.resume() } p.on('entry', pushEntry('entry')) p.on('ignoredEntry', pushEntry('ignoredEntry')) p.on('warn', (code, message, data) => events.push(['warn', code, message])) p.on('error', er => events.push(['error', { message: er.message, code: er.code }])) p.on('end', _ => events.push(['end'])) p.on('nullBlock', _ => events.push(['nullBlock'])) p.on('eof', _ => events.push(['eof'])) p.on('meta', meta => events.push(['meta', meta])) p.end(tardata) console.log(eventsfile) fs.writeFileSync(eventsfile, JSON.stringify(events, null, 2) + '\n') } fs.readdirSync(tardir) .forEach(tar => { const tarfile = tardir + '/' + tar const tardata = fs.readFileSync(tarfile) maxMetaOpt.forEach(maxMeta => filterOpt.forEach(filter => strictOpt.forEach(strict => makeTest(tarfile, tardata, maxMeta, filter, strict)))) }) node-tar-6.1.11/test/000077500000000000000000000000001411173710400142675ustar00rootroot00000000000000node-tar-6.1.11/test/create.js000066400000000000000000000126511411173710400160750ustar00rootroot00000000000000'use strict' const isWindows = process.platform === 'win32' const t = require('tap') const c = require('../lib/create.js') const list = require('../lib/list.js') const fs = require('fs') const path = require('path') const dir = path.resolve(__dirname, 'fixtures/create') const tars = path.resolve(__dirname, 'fixtures/tars') const rimraf = require('rimraf') const mkdirp = require('mkdirp') const spawn = require('child_process').spawn const Pack = require('../lib/pack.js') const mutateFS = require('mutate-fs') const {promisify} = require('util') const readtar = (file, cb) => { const child = spawn('tar', ['tf', file]) const out = [] child.stdout.on('data', c => out.push(c)) child.on('close', (code, signal) => cb(code, signal, Buffer.concat(out).toString())) } t.teardown(() => new Promise(resolve => rimraf(dir, resolve))) t.before(async () => { await promisify(rimraf)(dir) await mkdirp(dir) }) t.test('no cb if sync or without file', t => { t.throws(_ => c({ sync: true }, ['asdf'], _ => _)) t.throws(_ => c(_ => _)) t.throws(_ => c({}, _ => _)) t.throws(_ => c({}, ['asdf'], _ => _)) t.end() }) t.test('create file', t => { const files = [path.basename(__filename)] t.test('sync', t => { const file = path.resolve(dir, 'sync.tar') c({ file: file, cwd: __dirname, sync: true, }, files) readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) t.test('async', t => { const file = path.resolve(dir, 'async.tar') c({ file: file, cwd: __dirname, }, files, er => { if (er) throw er readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) }) t.test('async promise only', t => { const file = path.resolve(dir, 'promise.tar') c({ file: file, cwd: __dirname, }, files).then(_ => { readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) }) t.test('with specific mode', t => { const mode = isWindows ? 0o666 : 0o740 t.test('sync', t => { const file = path.resolve(dir, 'sync-mode.tar') c({ mode: mode, file: file, cwd: __dirname, sync: true, }, files) readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.equal(fs.lstatSync(file).mode & 0o7777, mode) t.end() }) }) t.test('async', t => { const file = path.resolve(dir, 'async-mode.tar') c({ mode: mode, file: file, cwd: __dirname, }, files, er => { if (er) throw er readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.equal(fs.lstatSync(file).mode & 0o7777, mode) t.end() }) }) }) t.end() }) t.end() }) t.test('create', t => { t.type(c({ sync: true }, ['README.md']), Pack.Sync) t.type(c(['README.md']), Pack) t.end() }) t.test('open fails', t => { const poop = new Error('poop') const file = path.resolve(dir, 'throw-open.tar') t.teardown(mutateFS.statFail(poop)) t.throws(_ => c({ file: file, sync: true, cwd: __dirname, }, [path.basename(__filename)])) t.throws(_ => fs.lstatSync(file)) t.end() }) t.test('gzipped tarball that makes some drain/resume stuff', t => { const cwd = path.dirname(__dirname) const out = path.resolve(dir, 'package.tgz') // don't include node_modules/.cache, since that gets written to // by nyc during tests, and can result in spurious errors. const entries = fs.readdirSync(`${cwd}/node_modules`) .filter(e => !/^\./.test(e)) .map(e => `node_modules/${e}`) c({ z: true, C: cwd }, entries) .pipe(fs.createWriteStream(out)) .on('finish', _ => { const child = spawn('tar', ['tf', out], { stdio: ['ignore', 'ignore', 'pipe'], }) child.stderr.on('data', c => { t.fail(c + '') }) child.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) t.end() }) }) }) t.test('create tarball out of another tarball', t => { const out = path.resolve(dir, 'out.tar') const check = t => { const expect = [ 'dir/', 'Ω.txt', '🌟.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'hardlink-1', 'hardlink-2', 'symlink', ] list({ f: out, sync: true, onentry: entry => { if (entry.path === 'hardlink-2') t.equal(entry.type, 'Link') else if (entry.path === 'symlink') t.equal(entry.type, 'SymbolicLink') else if (entry.path === 'dir/') t.equal(entry.type, 'Directory') else t.equal(entry.type, 'File') t.equal(entry.path, expect.shift()) }}) t.same(expect, []) t.end() } t.test('sync', t => { c({ f: out, cwd: tars, sync: true, }, ['@dir.tar', '@utf8.tar', '@links.tar']) check(t) }) t.test('async', t => { c({ f: out, cwd: tars, }, ['@dir.tar', '@utf8.tar', '@links.tar'], _ => check(t)) }) t.end() }) node-tar-6.1.11/test/dir-normalization.tar000066400000000000000000000110001411173710400204310ustar00rootroot00000000000000fixtures/000755 057761 000024 00000000000 12511342154 013343 5ustar00isaacsstaff000000 000000 fixtures/a/000755 057761 000024 00000000000 12511342040 013555 5ustar00isaacsstaff000000 000000 fixtures/the-chumbler000755 057761 000024 00000000000 12505125041 021322 2/a/b/c/d/the-chumblerustar00isaacsstaff000000 000000 fixtures/a/b/000755 057761 000024 00000000000 12511342030 013775 5ustar00isaacsstaff000000 000000 fixtures/a/x000644 057761 000024 00000000000 12511342040 013735 0ustar00isaacsstaff000000 000000 fixtures/a/b/c/000755 057761 000024 00000000000 12511342055 014226 5ustar00isaacsstaff000000 000000 fixtures/a/b/c/y000755 057761 000024 00000000000 12511342055 015232 2../../xustar00isaacsstaff000000 000000 node-tar-6.1.11/test/extract.js000066400000000000000000000126741411173710400163110ustar00rootroot00000000000000'use strict' const t = require('tap') const x = require('../lib/extract.js') const path = require('path') const fs = require('fs') const extractdir = path.resolve(__dirname, 'fixtures/extract') const tars = path.resolve(__dirname, 'fixtures/tars') const mkdirp = require('mkdirp') const {promisify} = require('util') const rimraf = promisify(require('rimraf')) const mutateFS = require('mutate-fs') t.teardown(_ => rimraf(extractdir)) t.test('basic extracting', t => { const file = path.resolve(tars, 'utf8.tar') const dir = path.resolve(extractdir, 'basic') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { fs.lstatSync(dir + '/Ω.txt') fs.lstatSync(dir + '/🌟.txt') t.throws(_ => fs.lstatSync(dir + '/long-path/r/e/a/l/l/y/-/d/e/e/p/-' + '/f/o/l/d/e/r/-/p/a/t/h/Ω.txt')) await rimraf(dir) t.end() } const files = ['🌟.txt', 'Ω.txt'] t.test('sync', t => { x({ file: file, sync: true, C: dir }, files) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir }, files).then(_ => check(t)) }) t.test('async cb', t => { return x({ file: file, cwd: dir }, files, er => { if (er) throw er return check(t) }) }) t.end() }) t.test('file list and filter', t => { const file = path.resolve(tars, 'utf8.tar') const dir = path.resolve(extractdir, 'filter') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { fs.lstatSync(dir + '/Ω.txt') t.throws(_ => fs.lstatSync(dir + '/🌟.txt')) t.throws(_ => fs.lstatSync(dir + '/long-path/r/e/a/l/l/y/-/d/e/e/p/-' + '/f/o/l/d/e/r/-/p/a/t/h/Ω.txt')) await rimraf(dir) t.end() } const filter = path => path === 'Ω.txt' t.test('sync', t => { x({ filter: filter, file: file, sync: true, C: dir }, ['🌟.txt', 'Ω.txt']) return check(t) }) t.test('async promisey', t => { return x({ filter: filter, file: file, cwd: dir }, ['🌟.txt', 'Ω.txt']).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ filter: filter, file: file, cwd: dir }, ['🌟.txt', 'Ω.txt'], er => { if (er) throw er return check(t) }) }) t.end() }) t.test('no file list', t => { const file = path.resolve(tars, 'body-byte-counts.tar') const dir = path.resolve(extractdir, 'no-list') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.equal(fs.lstatSync(path.resolve(dir, '1024-bytes.txt')).size, 1024) t.equal(fs.lstatSync(path.resolve(dir, '512-bytes.txt')).size, 512) t.equal(fs.lstatSync(path.resolve(dir, 'one-byte.txt')).size, 1) t.equal(fs.lstatSync(path.resolve(dir, 'zero-byte.txt')).size, 0) await rimraf(dir) t.end() } t.test('sync', t => { x({ file: file, sync: true, C: dir }) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir }).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ file: file, cwd: dir }, er => { if (er) throw er return check(t) }) }) t.end() }) t.test('read in itty bits', t => { const maxReadSize = 1000 const file = path.resolve(tars, 'body-byte-counts.tar') const dir = path.resolve(extractdir, 'no-list') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.equal(fs.lstatSync(path.resolve(dir, '1024-bytes.txt')).size, 1024) t.equal(fs.lstatSync(path.resolve(dir, '512-bytes.txt')).size, 512) t.equal(fs.lstatSync(path.resolve(dir, 'one-byte.txt')).size, 1) t.equal(fs.lstatSync(path.resolve(dir, 'zero-byte.txt')).size, 0) await rimraf(dir) t.end() } t.test('sync', t => { x({ file: file, sync: true, C: dir, maxReadSize: maxReadSize }) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir, maxReadSize: maxReadSize }).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ file: file, cwd: dir, maxReadSize: maxReadSize }, er => { if (er) throw er return check(t) }) }) t.end() }) t.test('bad calls', t => { t.throws(_ => x(_ => _)) t.throws(_ => x({sync: true}, _ => _)) t.throws(_ => x({sync: true}, [], _ => _)) t.end() }) t.test('no file', t => { const Unpack = require('../lib/unpack.js') t.type(x(), Unpack) t.type(x(['asdf']), Unpack) t.type(x({sync: true}), Unpack.Sync) t.end() }) t.test('nonexistent', t => { t.throws(_ => x({sync: true, file: 'does not exist' })) x({ file: 'does not exist' }).catch(_ => t.end()) }) t.test('read fail', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => x({maxReadSize: 10, sync: true, file: __filename }), poop) t.end() }) t.test('sync gzip error edge case test', async t => { const file = path.resolve(__dirname, 'fixtures/sync-gzip-fail.tgz') const dir = path.resolve(__dirname, 'sync-gzip-fail') const cwd = process.cwd() await mkdirp(dir + '/x') process.chdir(dir) t.teardown(async () => { process.chdir(cwd) await rimraf(dir) }) x({ sync: true, file: file, onwarn: (c, m, er) => { throw er }, }) t.same(fs.readdirSync(dir + '/x').sort(), ['1', '10', '2', '3', '4', '5', '6', '7', '8', '9']) t.end() }) node-tar-6.1.11/test/fixtures/000077500000000000000000000000001411173710400161405ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/000077500000000000000000000000001411173710400172425ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/.dotfile000066400000000000000000000000021411173710400206610ustar00rootroot00000000000000. 100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000066400000000000000000000001441411173710400420670ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/filesccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnode-tar-6.1.11/test/fixtures/files/1024-bytes.txt000066400000000000000000000020001411173710400215050ustar00rootroot00000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5a5d18e29413674effba80fa9253094e0c07ee15.paxheader00006660000000000000000000000246141117371040020436xustar00rootroot00000000000000166 path=node-tar-6.1.11/test/fixtures/files/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 5a5d18e29413674effba80fa9253094e0c07ee15.data000066400000000000000000000001441411173710400172710ustar00rootroot00000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc5a5d18e29413674effba80fa9253094e0c07ee15.paxheader00006660000000000000000000000330141117371040020430xustar00rootroot00000000000000216 path=node-tar-6.1.11/test/fixtures/files/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 5a5d18e29413674effba80fa9253094e0c07ee15.data000066400000000000000000000001441411173710400172710ustar00rootroot00000000000000ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnode-tar-6.1.11/test/fixtures/files/512-bytes.txt000066400000000000000000000010001411173710400214250ustar00rootroot00000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/000077500000000000000000000000001411173710400421105ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/filesa-truly-unlucky-file-beyond-130-byte-path-length.txt000066400000000000000000000010601411173710400536010ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/99-byte-dirname-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccBehold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx some-unlucky-file.txt000066400000000000000000000010601411173710400462160ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/99-byte-dirname-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccBehold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx node-tar-6.1.11/test/fixtures/files/dir/000077500000000000000000000000001411173710400200205ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/dir/x000066400000000000000000000000001411173710400202000ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/hardlink-1000066400000000000000000000000321411173710400211120ustar00rootroot00000000000000this link is like diamond node-tar-6.1.11/test/fixtures/files/hardlink-2000066400000000000000000000000321411173710400211130ustar00rootroot00000000000000this link is like diamond node-tar-6.1.11/test/fixtures/files/long-path/000077500000000000000000000000001411173710400211335ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/000077500000000000000000000000001411173710400213745ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/000077500000000000000000000000001411173710400216205ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/000077500000000000000000000000001411173710400220405ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/000077500000000000000000000000001411173710400222735ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/000077500000000000000000000000001411173710400225265ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/000077500000000000000000000000001411173710400227765ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/000077500000000000000000000000001411173710400231325ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/000077500000000000000000000000001411173710400233555ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/000077500000000000000000000000001411173710400236015ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/000077500000000000000000000000001411173710400240255ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/000077500000000000000000000000001411173710400242645ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/000077500000000000000000000000001411173710400244205ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/000077500000000000000000000000001411173710400246455ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/000077500000000000000000000000001411173710400251035ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/000077500000000000000000000000001411173710400253365ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/000077500000000000000000000000001411173710400255615ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/000077500000000000000000000000001411173710400260055ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/000077500000000000000000000000001411173710400262465ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/000077500000000000000000000000001411173710400264025ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/000077500000000000000000000000001411173710400266415ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/000077500000000000000000000000001411173710400270615ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/000077500000000000000000000000001411173710400273245ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/000077500000000000000000000000001411173710400275535ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt000066400000000000000000000000061411173710400305300ustar00rootroot00000000000000short cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000066400000000000000000000001441411173710400527510ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111e5a9d5e2742f65d797cb32c0290856afc604b356.paxheader00006660000000000000000000000336141117371040020367xustar00rootroot00000000000000222 path=node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc e5a9d5e2742f65d797cb32c0290856afc604b356.data000066400000000000000000000001441411173710400172220ustar00rootroot0000000000000022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225a5d18e29413674effba80fa9253094e0c07ee15.paxheader00006660000000000000000000000420141117371040020430xustar00rootroot00000000000000272 path=node-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 5a5d18e29413674effba80fa9253094e0c07ee15.data000066400000000000000000000001441411173710400172710ustar00rootroot00000000000000ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnode-tar-6.1.11/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt000066400000000000000000000000021411173710400311520ustar00rootroot00000000000000Ωc3b17d6c8b29cc71aca2454383b1cf9123b3e172.paxheader00006660000000000000000000000270141117371040020471xustar00rootroot00000000000000184 linkpath=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc node-tar-6.1.11/test/fixtures/files/longlink000077700000000000000000000000001411173710400310352see c3b17d6c8b29cc71aca2454383b1cf9123b3e172.paxheaderustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/one-byte.txt000066400000000000000000000000011411173710400215140ustar00rootroot00000000000000anode-tar-6.1.11/test/fixtures/files/strip-dir/000077500000000000000000000000001411173710400211575ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/strip-dir/1/000077500000000000000000000000001411173710400213175ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/strip-dir/1/2/000077500000000000000000000000001411173710400214605ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/strip-dir/1/2/3/000077500000000000000000000000001411173710400216225ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/strip-dir/1/2/3/hardlink-3000066400000000000000000000000321411173710400234740ustar00rootroot00000000000000this link is like diamond node-tar-6.1.11/test/fixtures/files/strip-dir/hardlink-1000066400000000000000000000000321411173710400230270ustar00rootroot00000000000000this link is like diamond node-tar-6.1.11/test/fixtures/files/strip-dir/hardlink-2000066400000000000000000000000321411173710400230300ustar00rootroot00000000000000this link is like diamond node-tar-6.1.11/test/fixtures/files/strip-dir/symlink000077700000000000000000000000001411173710400244412hardlink-2ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/symlink000077700000000000000000000000001411173710400225242hardlink-2ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/zero-byte.txt000066400000000000000000000000001411173710400217110ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/files/Ω.txt000066400000000000000000000000021411173710400206410ustar00rootroot00000000000000Ωnode-tar-6.1.11/test/fixtures/files/🌟.txt000066400000000000000000000001521411173710400213520ustar00rootroot00000000000000🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 node-tar-6.1.11/test/fixtures/parse/000077500000000000000000000000001411173710400172525ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/parse/bad-cksum--filter-strict.json000066400000000000000000000021741411173710400246650ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--filter.json000066400000000000000000000020161411173710400233520ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--meta-250-filter-strict.json000066400000000000000000000021741411173710400261150ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--meta-250-filter.json000066400000000000000000000020161411173710400246020ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--meta-250-strict.json000066400000000000000000000021741411173710400246320ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--meta-250.json000066400000000000000000000020161411173710400233170ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum--strict.json000066400000000000000000000021741411173710400234020ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/bad-cksum.json000066400000000000000000000020161411173710400220120ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--filter-strict.json000066400000000000000000000065561411173710400262360ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--filter.json000066400000000000000000000065561411173710400247300ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json000066400000000000000000000065561411173710400274660ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--meta-250-filter.json000066400000000000000000000065561411173710400261600ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--meta-250-strict.json000066400000000000000000000065341411173710400261770ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--meta-250.json000066400000000000000000000065341411173710400246710ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts--strict.json000066400000000000000000000065341411173710400247470ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/body-byte-counts.json000066400000000000000000000065341411173710400233640ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--filter-strict.json000066400000000000000000000015771411173710400236030ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--filter.json000066400000000000000000000015771411173710400222750ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--meta-250-filter-strict.json000066400000000000000000000015771411173710400250330ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--meta-250-filter.json000066400000000000000000000015771411173710400235250ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--meta-250-strict.json000066400000000000000000000015711411173710400235420ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--meta-250.json000066400000000000000000000015711411173710400222340ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir--strict.json000066400000000000000000000015711411173710400223120ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/dir.json000066400000000000000000000015711411173710400207270ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--filter-strict.json000066400000000000000000000044671411173710400246750ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--filter.json000066400000000000000000000044671411173710400233670ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--meta-250-filter-strict.json000066400000000000000000000044671411173710400261250ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--meta-250-filter.json000066400000000000000000000044671411173710400246170ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--meta-250-strict.json000066400000000000000000000044611411173710400246340ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--meta-250.json000066400000000000000000000044611411173710400233260ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax--strict.json000066400000000000000000000044611411173710400234040ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/emptypax.json000066400000000000000000000044611411173710400220210ustar00rootroot00000000000000[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--filter-strict.json000066400000000000000000000016041411173710400237330ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--filter.json000066400000000000000000000016041411173710400224250ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--meta-250-filter-strict.json000066400000000000000000000016041411173710400251630ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--meta-250-filter.json000066400000000000000000000016041411173710400236550ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--meta-250-strict.json000066400000000000000000000016041411173710400237000ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--meta-250.json000066400000000000000000000016041411173710400223720ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file--strict.json000066400000000000000000000016041411173710400224500ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/file.json000066400000000000000000000016041411173710400210650ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--filter-strict.json000066400000000000000000000024361411173710400255060ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--filter.json000066400000000000000000000024361411173710400242000ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--meta-250-filter-strict.json000066400000000000000000000024361411173710400267360ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--meta-250-filter.json000066400000000000000000000024361411173710400254300ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--meta-250-strict.json000066400000000000000000000024361411173710400254530ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--meta-250.json000066400000000000000000000024361411173710400241450ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header--strict.json000066400000000000000000000024361411173710400242230ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/global-header.json000066400000000000000000000024361411173710400226400ustar00rootroot00000000000000[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--filter-strict.json000066400000000000000000000050721411173710400241370ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--filter.json000066400000000000000000000050721411173710400226310ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--meta-250-filter-strict.json000066400000000000000000000050721411173710400253670ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--meta-250-filter.json000066400000000000000000000050721411173710400240610ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--meta-250-strict.json000066400000000000000000000050501411173710400241000ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--meta-250.json000066400000000000000000000050501411173710400225720ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links--strict.json000066400000000000000000000050501411173710400226500ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--filter-strict.json000066400000000000000000000024231411173710400255600ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--filter.json000066400000000000000000000021561411173710400242550ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--meta-250-filter-strict.json000066400000000000000000000024231411173710400270100ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--meta-250-filter.json000066400000000000000000000021561411173710400255050ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--meta-250-strict.json000066400000000000000000000024151411173710400255260ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--meta-250.json000066400000000000000000000021501411173710400242140ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid--strict.json000066400000000000000000000024151411173710400242760ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-invalid.json000066400000000000000000000021501411173710400227070ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--filter-strict.json000066400000000000000000000102471411173710400252760ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--filter.json000066400000000000000000000102471411173710400237700ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--meta-250-filter-strict.json000066400000000000000000000102471411173710400265260ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--meta-250-filter.json000066400000000000000000000102471411173710400252200ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--meta-250-strict.json000066400000000000000000000102111411173710400252320ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--meta-250.json000066400000000000000000000102111411173710400237240ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip--strict.json000066400000000000000000000102111411173710400240020ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links-strip.json000066400000000000000000000102111411173710400224170ustar00rootroot00000000000000[ [ "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" ] ] node-tar-6.1.11/test/fixtures/parse/links.json000066400000000000000000000050501411173710400212650ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--filter-strict.json000066400000000000000000001036311411173710400250730ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--filter.json000066400000000000000000001036311411173710400235650ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--meta-250-filter-strict.json000066400000000000000000001034611411173710400263240ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--meta-250-filter.json000066400000000000000000001034611411173710400250160ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--meta-250-strict.json000066400000000000000000001031611411173710400250360ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--meta-250.json000066400000000000000000001031611411173710400235300ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths--strict.json000066400000000000000000001033311411173710400236050ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-paths.json000066400000000000000000001033311411173710400222220ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--filter-strict.json000066400000000000000000000076001411173710400245430ustar00rootroot00000000000000[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--filter.json000066400000000000000000000076001411173710400232350ustar00rootroot00000000000000[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--meta-250-filter-strict.json000066400000000000000000000040271411173710400257730ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--meta-250-filter.json000066400000000000000000000040271411173710400244650ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--meta-250-strict.json000066400000000000000000000040211411173710400245020ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--meta-250.json000066400000000000000000000040211411173710400231740ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax--strict.json000066400000000000000000000075721411173710400232700ustar00rootroot00000000000000[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/long-pax.json000066400000000000000000000075721411173710400217050ustar00rootroot00000000000000[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--filter-strict.json000066400000000000000000000057411411173710400264230ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--filter.json000066400000000000000000000057411411173710400251150ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json000066400000000000000000000057411411173710400276530ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--meta-250-filter.json000066400000000000000000000057411411173710400263450ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--meta-250-strict.json000066400000000000000000000057251411173710400263720ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--meta-250.json000066400000000000000000000057251411173710400250640ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long--strict.json000066400000000000000000000057251411173710400251420ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/next-file-has-long.json000066400000000000000000000057251411173710400235570ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--filter-strict.json000066400000000000000000000044671411173710400247410ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--filter.json000066400000000000000000000044671411173710400234330ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--meta-250-filter-strict.json000066400000000000000000000044671411173710400261710ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--meta-250-filter.json000066400000000000000000000044671411173710400246630ustar00rootroot00000000000000[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--meta-250-strict.json000066400000000000000000000044531411173710400247010ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--meta-250.json000066400000000000000000000044531411173710400233730ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte--strict.json000066400000000000000000000044531411173710400234510ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/null-byte.json000066400000000000000000000044531411173710400220660ustar00rootroot00000000000000[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--filter-strict.json000066400000000000000000000006751411173710400254260ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--filter.json000066400000000000000000000004321411173710400241070ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--meta-250-filter-strict.json000066400000000000000000000006751411173710400266560ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--meta-250-filter.json000066400000000000000000000004321411173710400253370ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--meta-250-strict.json000066400000000000000000000006751411173710400253730ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--meta-250.json000066400000000000000000000004321411173710400240540ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing--strict.json000066400000000000000000000006751411173710400241430ustar00rootroot00000000000000[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/path-missing.json000066400000000000000000000004321411173710400225470ustar00rootroot00000000000000[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--filter-strict.json000066400000000000000000000074701411173710400301430ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--filter.json000066400000000000000000000074701411173710400266350ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json000066400000000000000000000074701411173710400313730ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json000066400000000000000000000074701411173710400300650ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json000066400000000000000000000074461411173710400301130ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--meta-250.json000066400000000000000000000074461411173710400266050ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case--strict.json000066400000000000000000000074461411173710400266630ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/trailing-slash-corner-case.json000066400000000000000000000074461411173710400253000ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--filter-strict.json000066400000000000000000000110431411173710400237000ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--filter.json000066400000000000000000000110431411173710400223720ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--meta-250-filter-strict.json000066400000000000000000000110431411173710400251300ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--meta-250-filter.json000066400000000000000000000110431411173710400236220ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--meta-250-strict.json000066400000000000000000000110211411173710400236410ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--meta-250.json000066400000000000000000000110211411173710400223330ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8--strict.json000066400000000000000000000110211411173710400224110ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parse/utf8.json000066400000000000000000000110211411173710400210260ustar00rootroot00000000000000[ [ "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" ], [ "eof" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/parses.tar000066400000000000000000024240001411173710400201470ustar00rootroot00000000000000test/fixtures/parse/0000755000000000000000000000000013334177733013531 5ustar rootroottest/fixtures/parse/bad-cksum--filter-strict.json0000644000000000000000000000202013334202347021120 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--filter.json0000644000000000000000000000173413334202347017625 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--meta-250-filter-strict.json0000644000000000000000000000202013334202347022350 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--meta-250-filter.json0000644000000000000000000000173413334202347021055 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--meta-250-strict.json0000644000000000000000000000202013334202347021065 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--meta-250.json0000644000000000000000000000173413334202347017572 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum--strict.json0000644000000000000000000000202013334202347017635 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/bad-cksum.json0000644000000000000000000000173413334202347016265 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--filter-strict.json0000644000000000000000000000656413334202347022502 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--filter.json0000644000000000000000000000656413334202347021174 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json0000644000000000000000000000656413334202347023732 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--meta-250-filter.json0000644000000000000000000000656413334202347022424 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--meta-250-strict.json0000644000000000000000000000654213334202347022443 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--meta-250.json0000644000000000000000000000654213334202347021135 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts--strict.json0000644000000000000000000000654213334202347021213 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/body-byte-counts.json0000644000000000000000000000654213334202347017630 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "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": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "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": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "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": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--filter-strict.json0000644000000000000000000000160513334202347020040 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--filter.json0000644000000000000000000000160513334202347016532 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--meta-250-filter-strict.json0000644000000000000000000000160513334202347021270 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--meta-250-filter.json0000644000000000000000000000160513334202347017762 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--meta-250-strict.json0000644000000000000000000000157713334202347020015 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--meta-250.json0000644000000000000000000000157713334202347016507 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir--strict.json0000644000000000000000000000157713334202347016565 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/dir.json0000644000000000000000000000157713334202347015202 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--filter-strict.json0000644000000000000000000000447513334202347021141 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--filter.json0000644000000000000000000000447513334202347017633 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--meta-250-filter-strict.json0000644000000000000000000000447513334202347022371 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--meta-250-filter.json0000644000000000000000000000447513334202347021063 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--meta-250-strict.json0000644000000000000000000000446713334202347021107 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--meta-250.json0000644000000000000000000000446713334202347017601 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax--strict.json0000644000000000000000000000446713334202347017657 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/emptypax.json0000644000000000000000000000446713334202347016274 0ustar rootroot[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "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, "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:33:21.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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--filter-strict.json0000644000000000000000000000161213334202347020177 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--filter.json0000644000000000000000000000161213334202347016671 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--meta-250-filter-strict.json0000644000000000000000000000161213334202347021427 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--meta-250-filter.json0000644000000000000000000000161213334202347020121 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--meta-250-strict.json0000644000000000000000000000161213334202347020144 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--meta-250.json0000644000000000000000000000161213334202347016636 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file--strict.json0000644000000000000000000000161213334202347016714 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/file.json0000644000000000000000000000161213334202347015331 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--filter-strict.json0000644000000000000000000000244413334202347021752 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--filter.json0000644000000000000000000000244413334202347020444 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--meta-250-filter-strict.json0000644000000000000000000000244413334202347023202 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--meta-250-filter.json0000644000000000000000000000244413334202347021674 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--meta-250-strict.json0000644000000000000000000000244413334202347021717 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--meta-250.json0000644000000000000000000000244413334202347020411 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header--strict.json0000644000000000000000000000244413334202347020467 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/global-header.json0000644000000000000000000000244413334202347017104 0ustar rootroot[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--filter-strict.json0000644000000000000000000000510013334202347020374 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--filter.json0000644000000000000000000000510013334202347017066 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--meta-250-filter-strict.json0000644000000000000000000000510013334202347021624 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--meta-250-filter.json0000644000000000000000000000510013334202347020316 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--meta-250-strict.json0000644000000000000000000000505613334202347020353 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--meta-250.json0000644000000000000000000000505613334202347017045 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links--strict.json0000644000000000000000000000505613334202347017123 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--filter-strict.json0000644000000000000000000000220613334202347022024 0ustar rootroot[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--filter.json0000644000000000000000000000207013334202347020515 0ustar rootroot[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--meta-250-filter-strict.json0000644000000000000000000000220613334202347023254 0ustar rootroot[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--meta-250-filter.json0000644000000000000000000000207013334202347021745 0ustar rootroot[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--meta-250-strict.json0000644000000000000000000000220013334202347021763 0ustar rootroot[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--meta-250.json0000644000000000000000000000206213334202347020463 0ustar rootroot[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid--strict.json0000644000000000000000000000220013334202347020533 0ustar rootroot[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-invalid.json0000644000000000000000000000206213334202347017156 0ustar rootroot[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links.json0000644000000000000000000000505613334202347015540 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/long-paths--filter-strict.json0000644000000000000000000010363713334202347021346 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--filter.json0000644000000000000000000010363713334202347020040 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--meta-250-filter-strict.json0000644000000000000000000010346713334202347022577 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--meta-250-filter.json0000644000000000000000000010346713334202347021271 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--meta-250-strict.json0000644000000000000000000010316713334202347021311 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--meta-250.json0000644000000000000000000010316713334202347020003 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "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/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "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": "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths--strict.json0000644000000000000000000010333713334202347020060 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-paths.json0000644000000000000000000010333713334202347016475 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "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": { "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-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "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": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "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 } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "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/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "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/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "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/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.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/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "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/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "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/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.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/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, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "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": { "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, "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:07:25.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" ] ] test/fixtures/parse/long-pax--filter-strict.json0000644000000000000000000000760013334202347021010 0ustar rootroot[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--filter.json0000644000000000000000000000760013334202347017502 0ustar rootroot[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--meta-250-filter-strict.json0000644000000000000000000000402713334202347022240 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--meta-250-filter.json0000644000000000000000000000402713334202347020732 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--meta-250-strict.json0000644000000000000000000000402113334202347020747 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--meta-250.json0000644000000000000000000000402113334202347017441 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "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": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax--strict.json0000644000000000000000000000757213334202347017535 0ustar rootroot[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/long-pax.json0000644000000000000000000000757213334202347016152 0ustar rootroot[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] test/fixtures/parse/next-file-has-long--filter-strict.json0000644000000000000000000000574713334202347022676 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--filter.json0000644000000000000000000000574713334202347021370 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json0000644000000000000000000000574713334202347024126 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--meta-250-filter.json0000644000000000000000000000574713334202347022620 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--meta-250-strict.json0000644000000000000000000000573313334202347022636 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--meta-250.json0000644000000000000000000000573313334202347021330 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long--strict.json0000644000000000000000000000573313334202347021406 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/next-file-has-long.json0000644000000000000000000000573313334202347020023 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/null-byte--filter-strict.json0000644000000000000000000000520213334202347021172 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--filter.json0000644000000000000000000000520213334202347017664 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--meta-250-filter-strict.json0000644000000000000000000000520213334202347022422 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--meta-250-filter.json0000644000000000000000000000520213334202347021114 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--meta-250-strict.json0000644000000000000000000000516613334202347021150 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--meta-250.json0000644000000000000000000000516613334202347017642 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte--strict.json0000644000000000000000000000516613334202347017720 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/null-byte.json0000644000000000000000000000516613334202347016335 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "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": { "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "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_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--filter-strict.json0000644000000000000000000000033213334202347021661 0ustar rootroot[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--filter.json0000644000000000000000000000024613334202347020357 0ustar rootroot[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--meta-250-filter-strict.json0000644000000000000000000000033213334202347023111 0ustar rootroot[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--meta-250-filter.json0000644000000000000000000000024613334202347021607 0ustar rootroot[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--meta-250-strict.json0000644000000000000000000000033213334202347021626 0ustar rootroot[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--meta-250.json0000644000000000000000000000024613334202347020324 0ustar rootroot[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing--strict.json0000644000000000000000000000033213334202347020376 0ustar rootroot[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/path-missing.json0000644000000000000000000000024613334202347017017 0ustar rootroot[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/trailing-slash-corner-case--filter-strict.json0000644000000000000000000000775513334202347024416 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--filter.json0000644000000000000000000000775513334202347023110 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json0000644000000000000000000000775513334202347025646 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json0000644000000000000000000000775513334202347024340 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json0000644000000000000000000000773313334202347024357 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--meta-250.json0000644000000000000000000000773313334202347023051 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case--strict.json0000644000000000000000000000773313334202347023127 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/trailing-slash-corner-case.json0000644000000000000000000000773313334202347021544 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--filter-strict.json0000644000000000000000000001105113334202347020144 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--filter.json0000644000000000000000000001105113334202347016636 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--meta-250-filter-strict.json0000644000000000000000000001105113334202347021374 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--meta-250-filter.json0000644000000000000000000001105113334202347020066 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--meta-250-strict.json0000644000000000000000000001102713334202347020114 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--meta-250.json0000644000000000000000000001102713334202347016606 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8--strict.json0000644000000000000000000001102713334202347016664 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/utf8.json0000644000000000000000000001102713334202347015301 0ustar rootroot[ [ "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" ] ] test/fixtures/parse/links-strip--meta-250-filter-strict.json0000644000000000000000000000734013334202347022773 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--meta-250-filter.json0000644000000000000000000000734013334202347021465 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--meta-250-strict.json0000644000000000000000000000731013334202347021505 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--meta-250.json0000644000000000000000000000731013334202347020177 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--filter-strict.json0000644000000000000000000000734013334202347021543 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--filter.json0000644000000000000000000000734013334202347020235 0ustar rootroot[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip--strict.json0000644000000000000000000000731013334202347020255 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] test/fixtures/parse/links-strip.json0000644000000000000000000000731013334202347016672 0ustar rootroot[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "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": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] node-tar-6.1.11/test/fixtures/sync-gzip-fail.tgz000066400000000000000000000004501411173710400215210ustar00rootroot00000000000000:Zj1@7?7>P(;TE oęל\W,!PrѤ&d9w羕m]߷헝N<~h>c=?Xw?۳wgjRgt?B5)3O?B5 3zj{?B̬|F?&j>@#(OI2տOI4?&?B^BPnode-tar-6.1.11/test/fixtures/tars/000077500000000000000000000000001411173710400171115ustar00rootroot00000000000000node-tar-6.1.11/test/fixtures/tars/bad-cksum.tar000066400000000000000000000060001411173710400214630ustar00rootroot00000000000000one-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 anne-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 anode-tar-6.1.11/test/fixtures/tars/body-byte-counts.tar000066400000000000000000000120001411173710400230210ustar00rootroot000000000000001024-bytes.txt000644 000765 000024 00000002000 13072734613 013735 0ustar00isaacsstaff000000 000000 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 512-bytes.txt000644 000765 000024 00000001000 13072736047 013660 0ustar00isaacsstaff000000 000000 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx one-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 azero-byte.txt000644 000765 000024 00000000000 13072735761 014146 0ustar00isaacsstaff000000 000000 node-tar-6.1.11/test/fixtures/tars/dir.tar000066400000000000000000000030001411173710400203700ustar00rootroot00000000000000dir/000755 000765 000024 00000000000 13072735041 012244 5ustar00isaacsstaff000000 000000 node-tar-6.1.11/test/fixtures/tars/emptypax.tar000066400000000000000000000110001411173710400214600ustar00rootroot00000000000000PaxHeader/🌟.txt000644 000765 000024 00000000170 13072735563 015560 xustar00isaacsstaff000000 000000 17 path=🌟.txt 20 ctime=1491843956 20 atime=1491845601 23 SCHILY.dev=16777220 22 SCHILY.ino=9836716 18 SCHILY.nlink=1 🌟.txt000644 000765 000024 00000000152 13072735563 013607 0ustar00isaacsstaff000000 000000 🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 PaxHeader/🌟.txt000644 000765 000024 0000000000 13072735563015430 xustar00isaacsstaff000000 000000 one-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 anode-tar-6.1.11/test/fixtures/tars/file.tar000066400000000000000000000040001411173710400205320ustar00rootroot00000000000000one-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 anode-tar-6.1.11/test/fixtures/tars/global-header.tar000066400000000000000000000060001411173710400223030ustar00rootroot00000000000000PaxHeader/ab000644 0000000013 007054 gustar00000000 000000 11 path=ab one-byte.txt000644 000765 000024 00000000001 13072734654 013751 0ustar00isaacsstaff000000 000000 anode-tar-6.1.11/test/fixtures/tars/links-invalid.tar000066400000000000000000000060001411173710400223610ustar00rootroot00000000000000hardlink-1000644 000765 000024 0000000032 13072756211015074 0hardlink-2ustar00isaacsstaff000000 000000 this link is like diamond hardlink-2000644 000765 000024 0000000000 13072756211013215 1ustar00isaacsstaff000000 000000 symlink000755 000765 000024 00000000000 13072756245 014757 2hardlink-2ustar00isaacsstaff000000 000000 node-tar-6.1.11/test/fixtures/tars/links-strip.tar000066400000000000000000000060001411173710400220740ustar00rootroot00000000000000strip-dir/000755 000000 000000 00000000000 13370171065 011144 5ustar00000000 000000 strip-dir/hardlink-1000644 000000 000000 00000000032 13370171065 013014 0ustar00000000 000000 this link is like diamond strip-dir/hardlink-2000644 000000 000000 00000000000 13370171065 016601 1strip-dir/hardlink-1ustar00000000 000000 strip-dir/1/2/3/hardlink-3000644 000000 000000 00000000000 13370171065 017245 1strip-dir/hardlink-1ustar00000000 000000 strip-dir/symlink000644 000000 000000 00000000000 13370171065 014421 2hardlink-2ustar00000000 000000 node-tar-6.1.11/test/fixtures/tars/links.tar000066400000000000000000000060001411173710400207350ustar00rootroot00000000000000hardlink-1000644 000765 000024 00000000032 13072756211 013340 0ustar00isaacsstaff000000 000000 this link is like diamond hardlink-2000644 000765 000024 00000000000 13072756211 015210 1hardlink-1ustar00isaacsstaff000000 000000 symlink000755 000765 000024 00000000000 13072756245 014757 2hardlink-2ustar00isaacsstaff000000 000000 node-tar-6.1.11/test/fixtures/tars/long-paths.tar000066400000000000000000000640001411173710400216750ustar00rootroot00000000000000100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734156 034400 0ustar00isaacsstaff000000 000000 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccPaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000351 13072734264 034107 xustar00isaacsstaff000000 000000 130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843252 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836297 18 SCHILY.nlink=1 120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734264 034237 0ustar00isaacsstaff000000 000000 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccPaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000433 13072734462 034115 xustar00isaacsstaff000000 000000 180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843378 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836326 18 SCHILY.nlink=1 170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734462 034244 0ustar00isaacsstaff000000 000000 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclong-path/000755 000765 000024 00000000000 13072734104 013356 5ustar00isaacsstaff000000 000000 long-path/r/000755 000765 000024 00000000000 13072734104 013617 5ustar00isaacsstaff000000 000000 long-path/r/e/000755 000765 000024 00000000000 13072734104 014043 5ustar00isaacsstaff000000 000000 long-path/r/e/a/000755 000765 000024 00000000000 13072734104 014263 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/000755 000765 000024 00000000000 13072734104 014516 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/000755 000765 000024 00000000000 13072734104 014751 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/000755 000765 000024 00000000000 13072734104 015221 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/000755 000765 000024 00000000000 13072734104 015355 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/000755 000765 000024 00000000000 13072734104 015600 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/000755 000765 000024 00000000000 13072734104 016024 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/000755 000765 000024 00000000000 13072734104 016250 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/000755 000765 000024 00000000000 13072734104 016507 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/000755 000765 000024 00000000000 13072734104 016643 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/000755 000765 000024 00000000000 13072734104 017070 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/000755 000765 000024 00000000000 13072734104 017326 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/000755 000765 000024 00000000000 13072734104 017561 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/000755 000765 000024 00000000000 13072734104 020004 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/000755 000765 000024 00000000000 13072734104 020230 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/000755 000765 000024 00000000000 13072734104 020471 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/000755 000765 000024 00000000000 13072734104 020625 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/000755 000765 000024 00000000000 13072734104 021064 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/000755 000765 000024 00000000000 13072734104 021304 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/000755 000765 000024 00000000000 13072734104 021547 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/000755 000765 000024 00000000000 13072734707 022007 5ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt000644 000765 000024 00000000006 13072734516 022762 0ustar00isaacsstaff000000 000000 short cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734104 045174 0ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/hcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccch/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000441 13072734104 044701 xustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843140 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836253 18 SCHILY.nlink=1 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734104 045031 0ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/hcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccch/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000523 13072734104 046734 xustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843140 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836254 18 SCHILY.nlink=1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734104 047063 0ustar00isaacsstaff000000 000000 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/hcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclong-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt000644 000765 000024 00000000256 13072734707 025372 xustar00isaacsstaff000000 000000 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 20 ctime=1491843527 20 atime=1491844045 23 SCHILY.dev=16777220 22 SCHILY.ino=9836396 18 SCHILY.nlink=1 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt000644 000765 000024 00000000002 13072734707 023406 0ustar00isaacsstaff000000 000000 Ωnode-tar-6.1.11/test/fixtures/tars/long-pax.tar000066400000000000000000000060001411173710400213420ustar00rootroot00000000000000PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 0000002402 13072734264034131 xustar00isaacsstaff000000 000000 130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy 9 gid=20 15 gname=staff 20 mtime=1491843252 12 size=100 11 uid=501 16 uname=isaacs 120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734264 034237 0ustar00isaacsstaff000000 000000 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnode-tar-6.1.11/test/fixtures/tars/next-file-has-long.tar000066400000000000000000000110001411173710400232120ustar00rootroot00000000000000NextFileHasLongPath0000000252 007674 Lustar00000000 000000 170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 000765 000024 00000000144 13072734462 034244 0ustar00isaacsstaff000000 000000 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccNextFileHasLongLinkpath0000000252 010551 Kustar00000000 000000 170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclonglink000755 000765 000024 00000000000 13073011671 015737 2././@LongSymLinkustar00isaacsstaff000000 000000 node-tar-6.1.11/test/fixtures/tars/null-byte.tar000066400000000000000000000240001411173710400215300ustar00rootroot00000000000000this_is_a_really_long_directory_name_with_a_lot_of_characters/0000775000175000017500000000000013137726606025734 5ustar freitagbfreitagb././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootthis_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgzthis_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_0000664000175000017500000000031013137726601035552 0ustar freitagbfreitagbYij1 a)lca605xT>NPB(} !,>]}_.ķ9c)BM>NZ}CUMX[\ƨB?dE|* 5~?/Q2!ƭ|];^ɿ=ߔUEOy{6uT(node-tar-6.1.11/test/fixtures/tars/path-missing.tar000066400000000000000000000040001411173710400222160ustar00rootroot00000000000000000644 000765 000024 0000000001 13072734654011350 0ustar00isaacsstaff000000 000000 anode-tar-6.1.11/test/fixtures/tars/trailing-slash-corner-case.tar000066400000000000000000000240001411173710400247350ustar00rootroot0000000000000099-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000755000076500000240000000000013312044077032454 5ustar rmgstaff././@LongLink0000644000000000000000000000023100000000000011720 Lustar rootwheel99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000644000076500000240000000106013312044077032453 0ustar rmgstaffBehold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ././@LongLink0000644000000000000000000000017200000000000011724 Lustar rootwheel99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000644000076500000240000000106013312042430032442 0ustar rmgstaffBehold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx node-tar-6.1.11/test/fixtures/tars/utf8.tar000066400000000000000000000160001411173710400205040ustar00rootroot00000000000000PaxHeader/Ω.txt000644 000765 000024 00000000166 13072734036 015054 xustar00isaacsstaff000000 000000 15 path=Ω.txt 20 ctime=1491843102 20 atime=1491843758 23 SCHILY.dev=16777220 22 SCHILY.ino=9836217 18 SCHILY.nlink=1 Ω.txt000644 000765 000024 00000000002 13072734036 013070 0ustar00isaacsstaff000000 000000 ΩPaxHeader/🌟.txt000644 000765 000024 00000000170 13072735563 015560 xustar00isaacsstaff000000 000000 17 path=🌟.txt 20 ctime=1491843956 20 atime=1491843993 23 SCHILY.dev=16777220 22 SCHILY.ino=9836716 18 SCHILY.nlink=1 🌟.txt000644 000765 000024 00000000152 13072735563 013607 0ustar00isaacsstaff000000 000000 🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt000644 000765 000024 00000000256 13072734707 025372 xustar00isaacsstaff000000 000000 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 20 ctime=1491843527 20 atime=1491843758 23 SCHILY.dev=16777220 22 SCHILY.ino=9836396 18 SCHILY.nlink=1 long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt000644 000765 000024 00000000002 13072734707 023406 0ustar00isaacsstaff000000 000000 Ωnode-tar-6.1.11/test/fixtures/test.js000066400000000000000000000007751411173710400174660ustar00rootroot00000000000000const platform = process.platform === 'win32' ? 'win32' : 'posix' const {spawn} = require('child_process') const c = spawn(process.execPath, [ process.env.npm_execpath, 'run', `test:${platform}`, '--', ...process.argv.slice(2), ], { stdio: 'inherit', }) c.on('close', (code, signal) => { process.exitCode = code if (signal) { process.kill(process.pid, signal) setTimeout(() => {}, 200) } }) process.on('SIGTERM', () => c.kill('SIGTERM')) process.on('SIGINT', () => c.kill('SIGINT')) node-tar-6.1.11/test/get-write-flag.js000066400000000000000000000031421411173710400174430ustar00rootroot00000000000000const t = require('tap') // run three scenarios // unix (no fmap) // win32 (without fmap support) // win32 (with fmap support) const fs = require('fs') const hasFmap = !!fs.constants.UV_FS_O_FILEMAP const platform = process.platform const UV_FS_O_FILEMAP = 0x20000000 switch (process.argv[2]) { case 'win32-fmap': { if (!hasFmap) { global.__FAKE_TESTING_FS__ = { constants: { ...fs.constants, ...{ UV_FS_O_FILEMAP }, }, } } const { O_CREAT, O_TRUNC, O_WRONLY } = fs.constants if (platform !== 'win32') process.env.__FAKE_PLATFORM__ = 'win32' const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY) t.equal(getFlag(512 * 1024 + 1), 'w') break } case 'win32-nofmap': { if (hasFmap) { global.__FAKE_TESTING_FS__ = { constants: { ...fs.constants, ...{ UV_FS_O_FILEMAP: 0 }, }, } } if (platform !== 'win32') process.env.__FAKE_PLATFORM__ = 'win32' const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), 'w') t.equal(getFlag(512 * 1024 + 1), 'w') break } case 'unix': { if (platform === 'win32') process.env.__FAKE_PLATFORM__ = 'darwin' const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), 'w') t.equal(getFlag(512 * 1024 + 1), 'w') break } default: { const node = process.execPath t.spawn(node, [__filename, 'win32-fmap']) t.spawn(node, [__filename, 'win32-nofmap']) t.spawn(node, [__filename, 'unix']) } } node-tar-6.1.11/test/header.js000066400000000000000000000550571411173710400160710ustar00rootroot00000000000000'use strict' const t = require('tap') const Header = require('../lib/header.js') t.test('ustar format', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200037373737' + '3737373737373700313236373735363735343000303133303531200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'foo.txt', }) const slab = Buffer.alloc(1024) h.set({ mode: 0o755, uid: 24561, gid: 20, size: 0o77777777777, mtime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode(slab) t.equal(slab.slice(0, 512).toString('hex'), buf.toString('hex')) t.equal(slab.toString('hex'), buf.toString('hex') + (new Array(1025).join('0'))) const h2 = new Header(buf) t.match(h2, { path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 0o77777777777, ctime: null, atime: null, uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 5673, }) t.end() }) t.test('xstar format', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303135313331200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000031323637' + '3735363735343000313236373735363735343000000000000000000000000000' + // just some junk '420420420420420420420420420420420420420420420420420420420420', 'hex') const h = new Header({ path: 'foo.txt', }) h.set({ mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const slab = h.block t.equal(slab.toString('hex'), buf.slice(0, 512).toString('hex')) const h2 = new Header(buf) t.match(h2, { path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 6745, }) t.end() }) t.test('prefix handling', t => { t.plan(4) t.test('no times', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303337323734200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d' + '2f702f612f742f68000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(b2.toString().replace(/\0+/g, ' '), buf.toString().replace(/\0+/g, ' ')) t.equal(b2.toString('hex'), buf.toString('hex')) const h2 = new Header(buf) t.match(h2, { path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: null, type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 16060, needPax: false, }) t.equal(b2.toString().replace(/\0.*$/, ''), 'foo.txt') t.equal(b2.slice(345).toString().replace(/\0.*$/, ''), 'r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/d/e/e/p/-/p/a/t/h') t.end() }) t.test('a/c times, use shorter prefix field', t => { const buf = Buffer.from( '652f702f2d2f702f612f742f682f666f6f2e7478740000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303431353030200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f65000031323637' + '3735363735343000313236373735363735343000000000000000000000000000', 'hex') const h = new Header() h.path = 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt' h.mode = 0o755 h.uid = 24561 h.gid = 20 h.size = 100 h.mtime = new Date('2016-04-01T22:00Z') h.ctime = new Date('2016-04-01T22:00Z') h.atime = new Date('2016-04-01T22:00Z') h.type = 'File' h.uname = 'isaacs' h.gname = 'staff' const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(b2.toString('hex'), buf.toString('hex')) const b3 = Buffer.alloc(1024) h.encode(b3, 100) t.equal(b2.toString('hex'), b3.slice(100, 612).toString('hex')) const h2 = new Header(b3, 100) t.match(h2, { path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 17216, needPax: false, }, 'header from buffer') t.equal(b2.toString().replace(/\0.*$/, ''), 'e/p/-/p/a/t/h/foo.txt') t.equal(b2.slice(345).toString().replace(/\0.*$/, ''), 'r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e') t.end() }) t.test('hella long basename', t => { const buf = Buffer.from( '6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f' + '6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e67' + '2d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66' + '696c650030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303630313431200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d' + '2f702f612f742f68000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/' + (new Array(20).join('long-file-')) + 'long-file.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(513) h.encode(b2, 1) t.equal(b2.toString('hex'), '00' + buf.toString('hex')) t.ok(h.needPax, 'need pax because long filename') const h2 = new Header(b2, 1) t.match(h2, { cksumValid: true, cksum: 24673, path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/long-file-long-file-long-' + 'file-long-file-long-file-long-file-long-file-long-file-long-' + 'file-long-file', needPax: false, }) t.end() }) t.test('long basename, long dirname', t => { const buf = Buffer.from( '6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d64' + '69726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d65' + '2d6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d' + '6469720030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303334323035200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: (new Array(30).join('long-dirname-')) + 'long-dirname/' + (new Array(20).join('long-file-')) + 'long-file.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(h.type, 'File') t.equal(h.typeKey, '0') t.equal(b2.toString('hex'), buf.toString('hex')) t.equal(h.cksum, 14469) t.ok(h.needPax, 'need pax because long filename') const h2 = new Header(b2) t.match(h2, { path: 'long-dirname-long-dirname-long-dirname-long-dirname-' + 'long-dirname-long-dirname-long-dirname-long-dir', cksum: 14469, cksumValid: true, needPax: false, }) t.end() }) }) t.test('throwers', t => { t.throws(_ => new Header(Buffer.alloc(100)), new Error('need 512 bytes for header')) t.throws(_ => new Header({}).encode(Buffer.alloc(100)), new Error('need 512 bytes for header')) t.end() }) t.test('null block', t => { const h = new Header(Buffer.alloc(512)) t.match(h, { cksumValid: false, needPax: false, path: '', type: 'File', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: null, linkpath: '', uname: null, gname: null, devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: true, }) t.end() }) t.test('unknown type', t => { const h = new Header(Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '303030313434200031323637373536373534300030303630373620005a000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex')) t.equal(h.type, 'Z') t.equal(h.typeKey, 'Z') t.end() }) t.test('dir as file with trailing /', t => { const b = Buffer.from( '782f792f00000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000030303030' + '3030303030302000000000000000000000000000303034363136200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.type, 'Directory') b[156] = '0'.charCodeAt(0) const h2 = new Header(b) t.equal(h2.type, 'Directory') t.end() }) t.test('null numeric values do not get written', t => { const b = Buffer.alloc(512) const h = new Header() h.encode(b, 0) t.equal( b.toString('hex'), '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000303033303737200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000') const h2 = new Header(b) t.match(h2, { type: 'File', cksumValid: true, needPax: false, nullBlock: false, path: '', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: 1599, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, }) t.end() }) t.test('big numbers', t => { const b = Buffer.alloc(512) const h = new Header({ path: 'bignum', size: 0o77777777777 + 1, }) h.encode(b, 0) const h2 = new Header(b) t.equal(h2.size, 0o77777777777 + 1) t.end() }) t.test('dir with long body', t => { const b = Buffer.from( '7061636b6167652f76656e646f72000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003030303030302000303030303030200030303030' + '3030313030303020313330363133303232343120303132303236200035000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.type, 'Directory') t.equal(h.size, 0) t.end() }) t.test('null block, global extended header', t => { const h = new Header(Buffer.alloc(512), 0, { undef: undefined, blerg: 'bloo', }, { path: '/global.path', foo: 'global foo', }) t.match(h, { cksumValid: false, needPax: false, path: '', type: 'File', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: null, linkpath: '', uname: null, gname: null, devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: true, blerg: 'bloo', foo: 'global foo', }) t.end() }) t.test('gnutar-generated 10gb file size', t => { const b = Buffer.from( '313067622e696d67000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303030363634003030303137353000303030313735300080000000' + '0000000280000000313334373434303132303500303131313437002030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461722020006973616163730000000000000000000000000000000000' + '0000000000000000006973616163730000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.size, 1024 * 1024 * 1024 * 10, 'should be 10gb file') t.end() }) node-tar-6.1.11/test/high-level-opt.js000066400000000000000000000011411411173710400174460ustar00rootroot00000000000000'use strict' const t = require('tap') const hlo = require('../lib/high-level-opt.js') t.same(hlo(), {}) t.same(hlo({ C: 'dir', f: 'file', z: 'zip', P: 'preserve', U: 'unlink', 'strip-components': 99, foo: 'bar', }), { cwd: 'dir', file: 'file', gzip: 'zip', preservePaths: 'preserve', unlink: 'unlink', strip: 99, foo: 'bar', }) t.same(hlo({ C: 'dir', f: 'file', z: 'zip', P: 'preserve', U: 'unlink', stripComponents: 99, foo: 'bar', }), { cwd: 'dir', file: 'file', gzip: 'zip', preservePaths: 'preserve', unlink: 'unlink', strip: 99, foo: 'bar', }) node-tar-6.1.11/test/index.js000066400000000000000000000034351411173710400157410ustar00rootroot00000000000000const t = require('tap') const tar = require('../') t.match(tar, { create: Function, c: Function, replace: Function, r: Function, list: Function, t: Function, update: Function, u: Function, extract: Function, x: Function, Pack: Function, Unpack: Function, Parse: Function, ReadEntry: Function, WriteEntry: Function, Header: Function, Pax: Function, types: { name: new Map([ ['0', 'File'], ['', 'OldFile'], ['1', 'Link'], ['2', 'SymbolicLink'], ['3', 'CharacterDevice'], ['4', 'BlockDevice'], ['5', 'Directory'], ['6', 'FIFO'], ['7', 'ContiguousFile'], ['g', 'GlobalExtendedHeader'], ['x', 'ExtendedHeader'], ['A', 'SolarisACL'], ['D', 'GNUDumpDir'], ['I', 'Inode'], ['K', 'NextFileHasLongLinkpath'], ['L', 'NextFileHasLongPath'], ['M', 'ContinuationFile'], ['N', 'OldGnuLongPath'], ['S', 'SparseFile'], ['V', 'TapeVolumeHeader'], ['X', 'OldExtendedHeader'], ]), code: new Map([ ['File', '0'], ['OldFile', ''], ['Link', '1'], ['SymbolicLink', '2'], ['CharacterDevice', '3'], ['BlockDevice', '4'], ['Directory', '5'], ['FIFO', '6'], ['ContiguousFile', '7'], ['GlobalExtendedHeader', 'g'], ['ExtendedHeader', 'x'], ['SolarisACL', 'A'], ['GNUDumpDir', 'D'], ['Inode', 'I'], ['NextFileHasLongLinkpath', 'K'], ['NextFileHasLongPath', 'L'], ['ContinuationFile', 'M'], ['OldGnuLongPath', 'N'], ['SparseFile', 'S'], ['TapeVolumeHeader', 'V'], ['OldExtendedHeader', 'X'], ]), }, }) t.match(tar.Pack.Sync, Function) t.match(tar.WriteEntry.Sync, Function) t.match(tar.WriteEntry.Tar, Function) t.match(tar.Pax.parse, Function) node-tar-6.1.11/test/large-numbers.js000066400000000000000000000053261411173710400173760ustar00rootroot00000000000000'use strict' const large = require('../lib/large-numbers.js') const encode = large.encode const parse = large.parse const t = require('tap') t.test('parse', t => { const cases = new Map([ ['ffffffffffffffffffffffff', -1], ['800000000000100000000020', 17592186044448], ['fffffffffffffffe1ecc8020', -8073215968], ['fffffffffffffff000000020', -68719476704], ['80000000001fffffffffffff', 9007199254740991], // MAX_SAFE_INTEGER ['ffffffffffe0000000000001', -9007199254740991], // MIN_SAFE_INTEGER ['800000000000100000000000', 17592186044416], ['fffffffffffffffe1ecc8000', -8073216000], ['fffffffffffffff000000000', -68719476736], ['800000000000000353b66200', 14289363456], ]) t.plan(cases.size) cases.forEach((value, hex) => t.equal(parse(Buffer.from(hex, 'hex')), value)) }) t.test('parse out of range', t => { const cases = [ '800000030000000000000000', '800000000020000000000000', // MAX_SAFE_INTEGER + 1 'ffffffffffe0000000000000', // MIN_SAFE_INTEGER - 1 'fffffffffdd0000000000000', ] t.plan(cases.length) cases.forEach((hex) => t.throws(_ => parse(Buffer.from(hex, 'hex')), Error('parsed number outside of javascript safe integer range'))) }) t.test('parse invalid base256 encoding', t => { const cases = [ '313233343536373131', // octal encoded '700000030000000000000000', // does not start with 0x80 or 0xff ] t.plan(cases.length) cases.forEach((hex) => t.throws(_ => parse(Buffer.from(hex, 'hex')), Error('invalid base256 encoding'))) }) t.test('encode', t => { const cases = new Map([ ['ffffffffffffffffffffffff', -1], ['800000000000100000000020', 17592186044448], ['800000000000100000000000', 17592186044416], ['fffffffffffffffe1ecc8020', -8073215968], ['fffffffffffffff000000020', -68719476704], ['fffffffffffffff000000000', -68719476736], // Allows us to test the case where there's a trailing 00 ['80000000001fffffffffffff', 9007199254740991], // MAX_SAFE_INTEGER ['ffffffffffe0000000000001', -9007199254740991], // MIN_SAFE_INTEGER ]) t.plan(2) t.test('alloc', t => { t.plan(cases.size) cases.forEach((value, hex) => t.equal(encode(value, Buffer.alloc(12)).toString('hex'), hex)) }) t.test('allocUnsafe', t => { t.plan(cases.size) cases.forEach((value, hex) => t.equal(encode(value, Buffer.allocUnsafe(12)).toString('hex'), hex)) }) }) t.test('encode unsafe numbers', t => { const cases = [ Number.MAX_VALUE, Number.MAX_SAFE_INTEGER + 1, Number.MIN_SAFE_INTEGER - 1, Number.MIN_VALUE, ] t.plan(cases.length) cases.forEach((value) => t.throws(_ => encode(value), Error('cannot encode number outside of javascript safe integer range'))) }) node-tar-6.1.11/test/list.js000066400000000000000000000151051411173710400156020ustar00rootroot00000000000000'use strict' const t = require('tap') const list = require('../lib/list.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') t.test('basic', t => { const file = path.resolve(__dirname, 'fixtures/tars/long-paths.tar') const expect = require('./fixtures/parse/long-paths.json').filter( e => Array.isArray(e) && e[0] === 'entry' ).map(e => e[1].path) const check = (actual, t) => { t.same(actual, expect) return Promise.resolve(null) } ;[1000, null].forEach(maxReadSize => { t.test('file maxReadSize=' + maxReadSize, t => { t.test('sync', t => { const actual = [] const onentry = entry => actual.push(entry.path) list({ file: file, sync: true, onentry: onentry, maxReadSize: maxReadSize, }) return check(actual, t) }) t.test('async promise', t => { const actual = [] const onentry = entry => actual.push(entry.path) return list({ file: file, onentry: onentry, maxReadSize: maxReadSize, }).then(_ => check(actual, t)) }) t.test('async cb', t => { const actual = [] const onentry = entry => actual.push(entry.path) list({ file: file, onentry: onentry, maxReadSize: maxReadSize, }, er => { if (er) throw er check(actual, t) t.end() }) }) t.end() }) }) t.test('stream', t => { t.test('sync', t => { const actual = [] const onentry = entry => actual.push(entry.path) const l = list({ sync: true, onentry: onentry }) l.end(fs.readFileSync(file)) return check(actual, t) }) t.test('async', t => { const actual = [] const onentry = entry => actual.push(entry.path) const l = list() l.on('entry', onentry) l.on('end', _ => check(actual, t).then(_ => t.end())) fs.createReadStream(file).pipe(l) }) t.end() }) t.test('no onentry function', t => list({ file: file })) t.test('limit to specific files', t => { const fileList = [ 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc///', ] const expect = [ '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/', '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/a.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', ] t.test('no filter function', t => { const check = _ => t.same(actual, expect) const actual = [] return list({ file: file, onentry: entry => actual.push(entry.path), }, fileList).then(check) }) t.test('no filter function, stream', t => { const check = _ => t.same(actual, expect) const actual = [] const onentry = entry => actual.push(entry.path) fs.createReadStream(file).pipe(list(fileList) .on('entry', onentry) .on('end', _ => { check() t.end() })) }) t.test('filter function', t => { const check = _ => t.same(actual, expect.slice(0, 1)) const actual = [] return list({ file: file, filter: path => path === expect[0], onentry: entry => actual.push(entry.path), }, fileList).then(check) }) return t.test('list is unmunged', t => { t.same(fileList, [ 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc///', ]) t.end() }) }) t.end() }) t.test('bad args', t => { t.throws(_ => list({ file: __filename, sync: true }, _ => _), new TypeError('callback not supported for sync tar functions')) t.throws(_ => list(_ => _), new TypeError('callback only supported with file option')) t.end() }) t.test('stat fails', t => { const poop = new Error('poop') t.teardown(mutateFS.statFail(poop)) t.test('sync', t => { t.plan(1) t.throws(_ => list({ file: __filename, sync: true }), poop) }) t.test('cb', t => { t.plan(1) list({ file: __filename }, er => t.equal(er, poop)) }) t.test('promise', t => { t.plan(1) list({ file: __filename }).catch(er => t.equal(er, poop)) }) t.end() }) t.test('read fail', t => { t.test('sync', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) t.throws(_ => list({ file: __filename, sync: true, maxReadSize: 10, }), poop) }) t.test('cb', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) list({ file: __filename }, er => t.equal(er, poop)) }) t.test('promise', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) list({ file: __filename }).catch(er => t.equal(er, poop)) }) t.end() }) t.test('noResume option', t => { const file = path.resolve(__dirname, 'fixtures/tars/file.tar') t.test('sync', t => { let e list({ file: file, onentry: entry => { e = entry process.nextTick(_ => { t.notOk(entry.flowing) entry.resume() }) }, sync: true, noResume: true, }) t.ok(e) t.notOk(e.flowing) e.on('end', _ => t.end()) }) t.test('async', t => list({ file: file, onentry: entry => { process.nextTick(_ => { t.notOk(entry.flowing) entry.resume() }) }, noResume: true, })) t.end() }) node-tar-6.1.11/test/load-all.js000066400000000000000000000005241411173710400163130ustar00rootroot00000000000000'use strict' // just load all the files so we can't cheat coverage by avoiding something require('../') const fs = require('fs') const path = require('path') const lib = path.resolve(__dirname, '../lib') fs.readdirSync(lib) .filter(f => /\.js$/.test(f)) .forEach(f => require('../lib/' + f)) require('tap').pass('all lib files loaded') node-tar-6.1.11/test/make-tar.js000066400000000000000000000012251411173710400163260ustar00rootroot00000000000000'use strict' // a little utility to create virtual tar data if (module === require.main) return require('tap').pass('this is fine') const Header = require('../lib/header.js') module.exports = chunks => { let dataLen = 0 return Buffer.concat(chunks.map(chunk => { if (Buffer.isBuffer(chunk)) { dataLen += chunk.length return chunk } const size = Math.max(typeof chunk === 'string' ? 512 * Math.ceil(chunk.length / 512) : 512) dataLen += size const buf = Buffer.alloc(size) if (typeof chunk === 'string') buf.write(chunk) else new Header(chunk).encode(buf, 0) return buf }), dataLen) } node-tar-6.1.11/test/map.js000066400000000000000000000004221411173710400154000ustar00rootroot00000000000000const t = require('tap') const map = require('../map.js') t.equal(map('test/index.js'), 'index.js') t.same(map('test/unpack.js'), ['lib/unpack.js', 'lib/mkdir.js']) t.same(map('test/load-all.js'), []) t.equal(map(__filename), 'map.js') t.equal(map('test/asdf'), 'lib/asdf') node-tar-6.1.11/test/mode-fix.js000066400000000000000000000007561411173710400163450ustar00rootroot00000000000000'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) t.equal(mf(0o10664, false, true), 0o644) t.equal(mf(0o10066, false, true), 0o644) t.equal(mf(0o10666, true, true), 0o755) t.equal(mf(0o10604, true, true), 0o705) t.equal(mf(0o10600, true, true), 0o700) t.equal(mf(0o10066, true, true), 0o755) node-tar-6.1.11/test/normalize-unicode.js000066400000000000000000000006561411173710400202600ustar00rootroot00000000000000const t = require('tap') const normalize = require('../lib/normalize-unicode.js') // café const cafe1 = Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString() // cafe with a ` const cafe2 = Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString() t.equal(normalize(cafe1), normalize(cafe2), 'matching unicodes') t.equal(normalize(cafe1), normalize(cafe2), 'cached') t.equal(normalize('foo'), 'foo', 'non-unicdoe string') node-tar-6.1.11/test/normalize-windows-path.js000066400000000000000000000015471411173710400212560ustar00rootroot00000000000000const t = require('tap') const realPlatform = process.platform const fakePlatform = realPlatform === 'win32' ? 'posix' : 'win32' t.test('posix', t => { if (realPlatform === 'win32') process.env.TESTING_TAR_FAKE_PLATFORM = fakePlatform else delete process.env.TESTING_TAR_FAKE_PLATFORM const normPath = t.mock('../lib/normalize-windows-path.js') t.equal(normPath('/some/path/back\\slashes'), '/some/path/back\\slashes') t.equal(normPath('c:\\foo\\bar'), 'c:\\foo\\bar') t.end() }) t.test('win32', t => { if (realPlatform !== 'win32') process.env.TESTING_TAR_FAKE_PLATFORM = fakePlatform else delete process.env.TESTING_TAR_FAKE_PLATFORM const normPath = t.mock('../lib/normalize-windows-path.js') t.equal(normPath('/some/path/back\\slashes'), '/some/path/back/slashes') t.equal(normPath('c:\\foo\\bar'), 'c:/foo/bar') t.end() }) node-tar-6.1.11/test/pack.js000066400000000000000000000771161411173710400155570ustar00rootroot00000000000000'use strict' const t = require('tap') const Pack = require('../lib/pack.js') const PackSync = Pack.Sync const fs = require('fs') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const files = path.resolve(fixtures, 'files') const tars = path.resolve(fixtures, 'tars') const chmodr = require('chmodr') const Header = require('../lib/header.js') const zlib = require('zlib') const miniz = require('minizlib') const mutateFS = require('mutate-fs') const MiniPass = require('minipass') process.env.USER = 'isaacs' const EE = require('events').EventEmitter const rimraf = require('rimraf') const mkdirp = require('mkdirp') const ReadEntry = require('../lib/read-entry.js') const isWindows = process.platform === 'win32' const normPath = require('../lib/normalize-windows-path.js') const ctime = new Date('2017-05-10T01:03:12.000Z') const atime = new Date('2017-04-17T00:00:00.000Z') const mtime = new Date('2016-04-01T19:00:00.000Z') t.teardown(mutateFS.statMutate((er, st) => { if (st) { st.ctime = ctime st.atime = atime st.mtime = mtime } })) t.test('set up', t => { const one = fs.statSync(files + '/hardlink-1') const two = fs.statSync(files + '/hardlink-2') if (one.dev !== two.dev || one.ino !== two.ino) { try { fs.unlinkSync(files + '/hardlink-2') } catch (e) {} fs.linkSync(files + '/hardlink-1', files + '/hardlink-2') } chmodr.sync(files, 0o644) t.end() }) t.test('pack a file', t => { const out = [] new Pack({ cwd: files }) .end('one-byte.txt') .on('data', c => out.push(c)) .on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(512).toString(), /^a\0{511}\0{1024}$/) const h = new Header(data) const expect = { cksumValid: true, needPax: false, path: 'one-byte.txt', mode: isWindows ? 0o666 : 0o644, size: 1, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, type: 'File', } t.match(h, expect) || console.log(h, expect) const ps = new PackSync({ cwd: files }) const sout = [] ps.on('data', chunk => sout.push(chunk)) ps.add('one-byte.txt').end() const sync = Buffer.concat(sout) if (sync.length === 0) throw new Error('no data!') t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('pack a file with a prefix', t => { const out = [] new Pack({ cwd: files, prefix: 'package/' }) .end('.dotfile') .on('data', c => out.push(c)) .on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(512).toString(), /^.\n\0{510}\0{1024}$/) const h = new Header(data) const expect = { cksumValid: true, needPax: false, path: 'package/.dotfile', mode: isWindows ? 0o666 : 0o644, size: 2, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, type: 'File', } t.match(h, expect) const sync = new PackSync({ cwd: files, prefix: 'package' }) .add('.dotfile').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('portable pack a dir', t => { const out = [] new Pack({ cwd: files, portable: true, gzip: true }) .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const zipped = Buffer.concat(out) t.equal(zipped[9], 255, 'gzip OS flag set to "unknown"') const data = new miniz.Gunzip().end(zipped).read() // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: 0o755, size: 0, mtime: null, cksum: Number, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: false, } t.match(h, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const syncgz = new PackSync({ cwd: files, portable: true, gzip: true }) .add('dir').end().read() t.equal(syncgz[9], 255, 'gzip OS flag set to "unknown"') const sync = new miniz.Gunzip().end(zipped).read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) const expect2 = { type: 'File', cksumValid: true, needPax: false, path: 'dir/x', mode: 0o644, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: false, } t.match(new Header(data.slice(512)), expect2) t.match(new Header(sync.slice(512)), expect2) t.end() }) }) t.test('use process cwd if cwd not specified', t => { const cwd = process.cwd() t.teardown(_ => process.chdir(cwd)) process.chdir(files) const out = [] new Pack() .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files }) .add('dir').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) const expect2 = { type: 'File', cksumValid: true, needPax: false, path: 'dir/x', mode: isWindows ? 0o666 : 0o644, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(new Header(data.slice(512)), expect2) t.match(new Header(sync.slice(512)), expect2) t.end() }) }) t.test('filter', t => { const out = [] const filter = (path, stat) => stat.isDirectory() // only include directories, so dir/x should not appear new Pack({ cwd: files, filter: filter }) .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 1536) t.match(data.slice(512).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files, filter: filter }) .add('dir').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('add the same dir twice (exercise cache code)', t => { const out = [] const filter = (path, stat) => stat.isDirectory() // only include directories, so dir/x should not appear const pack = new Pack({ cwd: files, filter: filter }) .add('dir') .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) const h2 = new Header(data.slice(512)) t.match(h2, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files, filter: filter, linkCache: pack.linkCache, readdirCache: pack.readdirCache, statCache: pack.statCache, }) .add('dir').add('dir').end().read() t.equal(sync.slice(1024).toString(), data.slice(1024).toString()) const hs = new Header(sync) t.match(hs, expect) const hs2 = new Header(sync.slice(512)) t.match(hs2, expect) t.end() }) }) t.test('if gzip is truthy, make it an object', t => { const opt = { gzip: true } new Pack(opt) t.type(opt.gzip, 'object') t.end() }) t.test('gzip, also a very deep path', t => { const out = [] new Pack({ cwd: files, gzip: { flush: 1 }, }) .add('dir') .add('long-path') .on('data', c => out.push(c)) .end() .on('end', _ => { const zipped = Buffer.concat(out) const data = zlib.unzipSync(zipped) const entries = [] for (var i = 0; i < data.length; i += 512) { const slice = data.slice(i, i + 512) const h = new Header(slice) if (h.nullBlock) entries.push('null block') else if (h.cksumValid) entries.push([h.type, h.path]) else if (entries[entries.length - 1][0] === 'File') entries[entries.length - 1].push(slice.toString().replace(/\0.*$/, '')) } const expect = [ ['Directory', 'dir/'], ['Directory', 'long-path/'], ['File', 'dir/x'], ['Directory', 'long-path/r/'], ['Directory', 'long-path/r/e/'], ['Directory', 'long-path/r/e/a/'], ['Directory', 'long-path/r/e/a/l/'], ['Directory', 'long-path/r/e/a/l/l/'], ['Directory', 'long-path/r/e/a/l/l/y/'], ['Directory', 'long-path/r/e/a/l/l/y/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt', 'short\n'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'], ['ExtendedHeader', 'PaxHeader/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222'], ['ExtendedHeader', 'PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc', 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['ExtendedHeader', 'PaxHeader/Ω.txt'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'Ω'], 'null block', 'null block', ] let ok = true entries.forEach((entry, i) => { ok = ok && t.equal(entry[0], expect[i][0]) && t.equal(entry[1], expect[i][1]) && (!entry[2] || t.equal(entry[2], expect[i][2])) }) // t.match(entries, expect) t.end() }) }) t.test('very deep gzip path, sync', t => { const pack = new PackSync({ cwd: files, gzip: true, }).add('dir') .add('long-path') .end() // these do nothing! pack.pause() pack.resume() const zipped = pack.read() t.type(zipped, Buffer) const data = zlib.unzipSync(zipped) const entries = [] for (var i = 0; i < data.length; i += 512) { const slice = data.slice(i, i + 512) const h = new Header(slice) if (h.nullBlock) entries.push('null block') else if (h.cksumValid) entries.push([h.type, h.path]) else if (entries[entries.length - 1][0] === 'File') entries[entries.length - 1].push(slice.toString().replace(/\0.*$/, '')) } const expect = [ ['Directory', 'dir/'], ['File', 'dir/x'], ['Directory', 'long-path/'], ['Directory', 'long-path/r/'], ['Directory', 'long-path/r/e/'], ['Directory', 'long-path/r/e/a/'], ['Directory', 'long-path/r/e/a/l/'], ['Directory', 'long-path/r/e/a/l/l/'], ['Directory', 'long-path/r/e/a/l/l/y/'], ['Directory', 'long-path/r/e/a/l/l/y/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt', 'short\n'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'], ['ExtendedHeader', 'PaxHeader/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222'], ['ExtendedHeader', 'PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc', 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['ExtendedHeader', 'PaxHeader/Ω.txt'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'Ω'], 'null block', 'null block', ] let ok = true entries.forEach((entry, i) => { ok = ok && t.equal(entry[0], expect[i][0]) && t.equal(entry[1], expect[i][1]) && (!entry[2] || t.equal(entry[2], expect[i][2])) }) // t.match(entries, expect) t.end() }) t.test('write after end', t => { const p = new Pack() p.end() t.throws(_ => p.add('nope'), new Error('write after end')) t.end() }) t.test('emit error when stat fail', t => { t.teardown(mutateFS.statFail(new Error('xyz'))) t.throws(_ => new PackSync({ cwd: files }).add('one-byte.txt'), new Error('xyz')) new Pack({ cwd: files }).add('one-byte.txt').on('error', e => { t.match(e, { message: 'xyz' }) t.end() }) }) t.test('readdir fail', t => { t.teardown(mutateFS.fail('readdir', new Error('xyz'))) t.throws(_ => new PackSync({ cwd: files }).add('dir'), new Error('xyz')) new Pack({ cwd: files }).add('dir').on('error', e => { t.match(e, { message: 'xyz' }) t.end() }) }) t.test('pipe into a slow reader', t => { const out = [] const mp = new MiniPass() const mp2 = new MiniPass() const p = new Pack({ cwd: files }).add('long-path').end() p.pause() p.pipe(mp).pipe(mp2) setTimeout(_ => { mp2.on('data', c => out.push(c)) setTimeout(_ => p.resume(), 100) }, 100) mp.on('end', _ => { const data = Buffer.concat(out) const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'long-path/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 21504) t.match(data.slice(data.length - 1024).toString(), /^\0{1024}$/) t.end() }) }) t.test('pipe into a slow gzip reader', t => { const out = [] const mp2 = new miniz.Unzip() const p = new Pack({ cwd: files, gzip: true }).add('long-path').end() p.pause() class SlowStream extends EE { write (chunk) { mp2.write(chunk) setTimeout(_ => { this.emit('drain') p.resume() }) return false } end (chunk) { return mp2.end(chunk) } } const ss = new SlowStream() setTimeout(_ => { p.pipe(ss) p.resume() }) mp2.on('data', c => out.push(c)) mp2.on('end', _ => { t.pass('mp2 end') const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'long-path/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 21504) t.match(data.slice(data.length - 1024).toString(), /^\0{1024}$/) t.end() }) }) t.test('ignores mid-queue', t => { // we let the first one through, and then ignore all the others // so that we trigger the case where an ignored entry is not the // head of the queue. let didFirst = false const p = new Pack({ cwd: tars, filter: (p, st) => { if (p === './') return true if (!didFirst) return didFirst = true return false }, }) const out = [] const files = fs.readdirSync(tars) p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), './') const file = data.slice(512, 612).toString().replace(/\0.*$/, '') t.not(files.indexOf(file), -1) t.end() }) p.add('') p.end() }) t.test('warnings', t => { const f = path.resolve(files, '512-bytes.txt') t.test('preservePaths=false strict=false', t => { const warnings = [] const p = new Pack({ cwd: files, onwarn: (c, m, p) => warnings.push([c, m, p]), }).end(f).on('data', c => out.push(c)) const out = [] p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(warnings, [[ 'TAR_ENTRY_INFO', /stripping .* from absolute path/, { path: normPath(f) }, ]]) t.match(new Header(data), { path: normPath(f).replace(/^(\/|[a-z]:\/)/i, ''), }) t.end() }) }) t.test('preservePaths=true', t => { t.plan(2) // with preservePaths, strictness doens't matter ;[true, false].forEach(strict => { t.test('strict=' + strict, t => { const warnings = [] const out = [] const p = new Pack({ cwd: files, strict: strict, preservePaths: true, onwarn: (c, m, p) => warnings.push([c, m, p]), }).end(f).on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(warnings.length, 0) t.match(new Header(data), { path: normPath(f), }) t.end() }) }) }) }) t.test('preservePaths=false strict=true', t => { new Pack({ strict: true, cwd: files, }).end(f).on('error', e => { t.match(e, { message: /stripping .* from absolute path/, path: normPath(f), }) t.end() }) }) t.end() }) t.test('no dir recurse', t => { const dir = path.resolve(fixtures, 'pack-no-dir-recurse') t.teardown(_ => rimraf.sync(dir)) t.beforeEach(() => { rimraf.sync(dir) mkdirp.sync(dir + '/x') fs.writeFileSync(dir + '/x/y', 'y') }) const check = (t, data) => { t.equal(data.length, 512 + 1024) t.equal(data.slice(512).toString(), new Array(1025).join('\0')) t.match(new Header(data), { type: 'Directory', path: 'x/', size: 0, }) t.end() } t.test('async', t => { const p = new Pack({ cwd: dir, noDirRecurse: true, }) const out = [] p.end('x') .on('data', c => out.push(c)) .on('end', _ => check(t, Buffer.concat(out))) }) t.test('sync', t => { const p = new Pack.Sync({ cwd: dir, noDirRecurse: true, }) p.end('x') check(t, p.read()) }) t.end() }) t.test('follow', { skip: isWindows && 'file symlinks not available' }, t => { const check = (out, t) => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(new Header(data, 0), { type: 'File', cksumValid: true, needPax: false, path: 'symlink', mode: isWindows ? 0o666 : 0o644, size: 26, }) t.match(data.slice(512).toString(), /this link is like diamond\n\0+$/) t.end() } t.test('async', t => { const out = [] const p = new Pack({ cwd: files, follow: true }) p.on('data', c => out.push(c)) p.on('end', _ => check(out, t)) p.end('symlink') }) t.test('sync', t => { const out = [] const p = new Pack.Sync({ cwd: files, follow: true }) p.on('data', c => out.push(c)) p.end('symlink') check(out, t) }) t.end() }) t.test('pack ReadEntries', t => { t.test('basic', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const p = new Pack() p.end(readEntry) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) const buf = Buffer.alloc(512) buf.write('x') readEntry.end(buf) }) t.test('prefix', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const p = new Pack({ prefix: 'y' }) p.end(readEntry) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'y/x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) const buf = Buffer.alloc(512) buf.write('x') readEntry.end(buf) }) t.test('filter out', t => { const re1 = new ReadEntry(new Header({ path: 'a', type: 'File', size: 1, })) const re2 = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const re3 = new ReadEntry(new Header({ path: 'y', type: 'File', size: 1, })) const p = new Pack({ filter: p => p === 'x' }) p.add(re1) p.add(re2) p.end(re3) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) { const buf = Buffer.alloc(512) buf.write('x') re1.end(buf) } { const buf = Buffer.alloc(512) buf.write('x') re2.end(buf) } { const buf = Buffer.alloc(512) buf.write('x') re3.end(buf) } }) t.end() }) t.test('filter out everything', t => { const filter = _ => false const check = (out, t) => { const data = Buffer.concat(out) t.equal(data.length, 1024) t.match(data.toString(), /^\0+$/) t.end() } t.test('sync', t => { const out = [] const p = new Pack.Sync({ cwd: files, filter: filter }) p.on('data', c => out.push(c)) p.end('./') check(out, t) }) t.test('async', t => { const out = [] const p = new Pack.Sync({ cwd: files, filter: filter }) p.on('data', c => out.push(c)) p.on('end', _ => check(out, t)) p.end('./') }) t.end() }) t.test('fs.open fails', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.test('async', t => { t.plan(1) new Pack({ cwd: files }) .on('error', er => t.equal(er, poop)) .end('one-byte.txt') }) t.test('sync', t => { t.plan(1) t.throws(_ => new Pack.Sync({ cwd: files }).end('one-byte.txt'), poop) }) t.end() }) const write = opts => new Promise((resolve, reject) => { const p = new Pack() let totalSize = 0 p.on('data', d => totalSize += d.length) p.once('error', reject) p.once('end', () => resolve(totalSize)) const file1 = new ReadEntry(new Header({ path: 'file1.txt', size: 5, })) if (opts.before) { file1.end('file1') p.add(file1) } else { p.add(file1) file1.end('file1') } p.end() }) t.test('padding works regardless of arite/add order', t => Promise.all([ write({ before: true }), write({ before: false }), ]).then(res => t.equal(res[0], res[1], 'length is the same regardless of write/add order'))) t.test('prefix and subdirs', t => { const dir = path.resolve(fixtures, 'pack-prefix-subdirs') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/a/b/c') fs.writeFileSync(dir + '/in/a/b/c/d', 'ddd') fs.writeFileSync(dir + '/in/a/b/d', 'ddd') fs.writeFileSync(dir + '/in/a/d', 'ddd') fs.writeFileSync(dir + '/in/d', 'ddd') const expect = [ 'out/x/\0', 'out/x/a/\0', 'out/x/d\0', 'ddd\0', 'out/x/a/b/\0', 'out/x/a/d\0', 'ddd\0', 'out/x/a/b/c/\0', 'out/x/a/b/d\0', 'ddd\0', 'out/x/a/b/c/d\0', 'ddd\0', '\0', '\0', ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => t.equal(e, data.slice(i * 512, i * 512 + e.length).toString())) t.end() } const runTest = (t, path, Class) => { const p = new Class({ cwd: dir + '/in', prefix: 'out/x', }) const out = [] p.on('data', d => out.push(d)) p.on('end', _ => check(out, t)) p.end(path) } t.test('async', t => { t.test('.', t => runTest(t, '.', Pack)) return t.test('./', t => runTest(t, './', Pack)) }) return t.test('sync', t => { t.test('.', t => runTest(t, '.', Pack.Sync)) return t.test('./', t => runTest(t, './', Pack.Sync)) }) }) // https://github.com/npm/node-tar/issues/284 t.test('prefix and hard links', t => { const dir = path.resolve(fixtures, 'pack-prefix-hardlinks') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const expect = [ 'out/x/\0', { type: 'File', size: 3, path: 'out/x/target', linkpath: '', }, 'ddd\0\0\0\0\0\0\0\0\0\0\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, 'out/x/z/\0', 'out/x/z/b/\0', { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, 'out/x/z/b/c/\0', { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, '\0', '\0', ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) else t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) }) t.end() } const runTest = (t, path, Class) => { const p = new Class({ cwd: dir + '/in', prefix: 'out/x', noDirRecurse: true, }) const out = [] p.on('data', d => out.push(d)) p.on('end', () => check(out, t)) p.write(path) if (path === '.') path = './' p.write(`${path}target`) p.write(`${path}y`) p.write(`${path}z`) p.write(`${path}z/b`) p.write(`${path}z/d`) p.write(`${path}z/b/c`) p.write(`${path}z/b/d`) p.write(`${path}z/b/c/d`) p.end() } t.test('async', t => { t.test('.', t => runTest(t, '.', Pack)) return t.test('./', t => runTest(t, './', Pack)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', Pack.Sync)) return t.test('./', t => runTest(t, './', Pack.Sync)) }) t.end() }) node-tar-6.1.11/test/parse.js000066400000000000000000000370471411173710400157520ustar00rootroot00000000000000'use strict' const t = require('tap') const Parse = require('../lib/parse.js') const makeTar = require('./make-tar.js') const fs = require('fs') const path = require('path') const tardir = path.resolve(__dirname, 'fixtures/tars') const zlib = require('zlib') const MiniPass = require('minipass') const Header = require('../lib/header.js') const EE = require('events').EventEmitter t.test('fixture tests', t => { class ByteStream extends MiniPass { write (chunk) { for (let i = 0; i < chunk.length - 1; i++) super.write(chunk.slice(i, i + 1)) return super.write(chunk.slice(chunk.length - 1, chunk.length)) } } const trackEvents = (t, expect, p, slow) => { let ok = true let cursor = 0 p.on('entry', entry => { ok = ok && t.match(['entry', entry], expect[cursor++], entry.path) if (slow) setTimeout(_ => entry.resume()) else entry.resume() }) p.on('ignoredEntry', entry => { ok = ok && t.match(['ignoredEntry', entry], expect[cursor++], 'ignored: ' + entry.path) }) p.on('warn', (c, message, data) => { ok = ok && t.match(['warn', c, message], expect[cursor++], 'warn') }) p.on('nullBlock', _ => { ok = ok && t.match(['nullBlock'], expect[cursor++], 'null') }) p.on('error', er => { ok = ok && t.match(['error', er], expect[cursor++], 'error') }) p.on('meta', meta => { ok = ok && t.match(['meta', meta], expect[cursor++], 'meta') }) p.on('eof', _ => { ok = ok && t.match(['eof'], expect[cursor++], 'eof') }) p.on('end', _ => { ok = ok && t.match(['end'], expect[cursor++], 'end') t.end() }) } t.jobs = 4 const path = require('path') const parsedir = path.resolve(__dirname, 'fixtures/parse') const files = fs.readdirSync(tardir) const maxMetaOpt = [250, null] const filterOpt = [true, false] const strictOpt = [true, false] const runTest = (file, maxMeta, filter, strict) => { const tardata = fs.readFileSync(file) const base = path.basename(file, '.tar') t.test('file=' + base + '.tar' + ' maxmeta=' + maxMeta + ' filter=' + filter + ' strict=' + strict, t => { const o = (maxMeta ? '-meta-' + maxMeta : '') + (filter ? '-filter' : '') + (strict ? '-strict' : '') const tail = (o ? '-' + o : '') + '.json' const eventsFile = parsedir + '/' + base + tail const expect = require(eventsFile) t.test('one byte at a time', t => { const bs = new ByteStream() const opt = (maxMeta || filter || strict) ? { maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, } : null const bp = new Parse(opt) trackEvents(t, expect, bp) bs.pipe(bp) bs.end(tardata) }) t.test('all at once', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p) p.end(tardata) }) t.test('gzipped all at once', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p) p.end(zlib.gzipSync(tardata)) }) t.test('gzipped byte at a time', t => { const bs = new ByteStream() const bp = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, bp) bs.pipe(bp) bs.end(zlib.gzipSync(tardata)) }) t.test('async chunks', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p, true) p.write(tardata.slice(0, Math.floor(tardata.length / 2))) process.nextTick(_ => p.end(tardata.slice(Math.floor(tardata.length / 2)))) }) t.end() }) } files .map(f => path.resolve(tardir, f)).forEach(file => maxMetaOpt.forEach(maxMeta => strictOpt.forEach(strict => filterOpt.forEach(filter => runTest(file, maxMeta, filter, strict))))) t.end() }) t.test('strict warn with an error emits that error', t => { t.plan(1) const p = new Parse({ strict: true, }) p.on('error', emitted => t.equal(emitted, er)) const er = new Error('yolo') p.warn('TAR_TEST', er) }) t.test('onwarn gets added to the warn event', t => { t.plan(1) const p = new Parse({ onwarn (code, message) { t.equal(message, 'this is fine') }, }) p.warn('TAR_TEST', 'this is fine') }) t.test('onentry gets added to entry event', t => { t.plan(1) const p = new Parse({ onentry: entry => t.equal(entry, 'yes hello this is dog'), }) p.emit('entry', 'yes hello this is dog') }) t.test('drain event timings', t => { let sawOndone = false const ondone = function () { sawOndone = true this.emit('prefinish') this.emit('finish') this.emit('end') this.emit('close') } // write 1 header and body, write 2 header, verify false return // wait for drain event before continuing. // write 2 body, 3 header and body, 4 header, verify false return // wait for drain event // write 4 body and null blocks const data = [ [ { path: 'one', size: 513, type: 'File', }, new Array(513).join('1'), '1', { path: 'two', size: 513, type: 'File', }, new Array(513).join('2'), '2', { path: 'three', size: 1024, type: 'File', }, ], [ new Array(513).join('3'), new Array(513).join('3'), { path: 'four', size: 513, type: 'File', }, ], [ new Array(513).join('4'), '4', { path: 'five', size: 1024, type: 'File', }, new Array(513).join('5'), new Array(513).join('5'), { path: 'six', size: 1024, type: 'File', }, new Array(513).join('6'), new Array(513).join('6'), { path: 'seven', size: 1024, type: 'File', }, new Array(513).join('7'), new Array(513).join('7'), { path: 'eight', size: 1024, type: 'File', }, new Array(513).join('8'), new Array(513).join('8'), { path: 'four', size: 513, type: 'File', }, new Array(513).join('4'), '4', { path: 'five', size: 1024, type: 'File', }, new Array(513).join('5'), new Array(513).join('5'), { path: 'six', size: 1024, type: 'File', }, new Array(513).join('6'), new Array(513).join('6'), { path: 'seven', size: 1024, type: 'File', }, new Array(513).join('7'), new Array(513).join('7'), { path: 'eight', size: 1024, type: 'File', }, new Array(513).join('8'), ], [ new Array(513).join('8'), { path: 'nine', size: 1537, type: 'File', }, new Array(513).join('9'), ], [new Array(513).join('9')], [new Array(513).join('9')], ['9'], ].map(chunks => makeTar(chunks)) const expect = [ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'four', 'five', 'six', 'seven', 'eight', 'nine', ] class SlowStream extends EE { write () { setTimeout(_ => this.emit('drain')) return false } end () { return this.write() } } let currentEntry const autoPipe = true const p = new Parse({ ondone, onentry: entry => { t.equal(entry.path, expect.shift()) currentEntry = entry if (autoPipe) setTimeout(_ => entry.pipe(new SlowStream())) }, }) data.forEach(d => { if (!t.equal(p.write(d), false, 'write should return false')) return t.end() }) let interval const go = _ => { const d = data.shift() if (d === undefined) return p.end() let paused if (currentEntry) { currentEntry.pause() paused = true } const hunklen = Math.floor(d.length / 2) const hunks = [ d.slice(0, hunklen), d.slice(hunklen), ] p.write(hunks[0]) if (currentEntry && !paused) { console.error('has current entry') currentEntry.pause() paused = true } if (!t.equal(p.write(hunks[1]), false, 'write should return false: ' + d)) return t.end() p.once('drain', go) if (paused) currentEntry.resume() } p.once('drain', go) p.on('end', _ => { clearInterval(interval) t.ok(sawOndone) t.end() }) go() }) t.test('consume while consuming', t => { const data = makeTar([ { path: 'one', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, { path: 'two', size: 513, type: 'File', }, new Array(513).join('2'), '2', { path: 'three', size: 1024, type: 'File', }, new Array(513).join('3'), new Array(513).join('3'), { path: 'zero', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, { path: 'four', size: 1024, type: 'File', }, new Array(513).join('4'), new Array(513).join('4'), { path: 'zero', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, ]) const runTest = (t, size) => { const p = new Parse() const first = data.slice(0, size) const rest = data.slice(size) p.once('entry', entry => { for (let pos = 0; pos < rest.length; pos += size) p.write(rest.slice(pos, pos + size)) p.end() }) .on('entry', entry => entry.resume()) .on('end', _ => t.end()) .write(first) } // one that aligns, and another that doesn't, so that we // get some cases where there's leftover chunk and a buffer t.test('size=1000', t => runTest(t, 1000)) t.test('size=1024', t => runTest(t, 4096)) t.end() }) t.test('truncated input', t => { const data = makeTar([ { path: 'foo/', type: 'Directory', }, { path: 'foo/bar', type: 'File', size: 18, }, ]) t.test('truncated at block boundary', t => { const warnings = [] const p = new Parse({ onwarn: (c, message) => warnings.push(message) }) p.end(data) t.same(warnings, [ 'Truncated input (needed 512 more bytes, only 0 available)', ]) t.end() }) t.test('truncated mid-block', t => { const warnings = [] const p = new Parse({ onwarn: (c, message) => warnings.push(message) }) p.write(data) p.end(Buffer.from('not a full block')) t.same(warnings, [ 'Truncated input (needed 512 more bytes, only 16 available)', ]) t.end() }) t.end() }) t.test('truncated gzip input', t => { const raw = makeTar([ { path: 'foo/', type: 'Directory', }, { path: 'foo/bar', type: 'File', size: 18, }, new Array(19).join('x'), '', '', ]) const tgz = zlib.gzipSync(raw) const split = Math.floor(tgz.length * 2 / 3) const trunc = tgz.slice(0, split) const skipEarlyEnd = process.version.match(/^v4\./) t.test('early end', { skip: skipEarlyEnd ? 'not a zlib error on v4' : false, }, t => { const warnings = [] const p = new Parse() p.on('error', er => warnings.push(er.message)) let aborted = false p.on('abort', _ => aborted = true) p.end(trunc) t.equal(aborted, true, 'aborted writing') t.same(warnings, ['zlib: unexpected end of file']) t.end() }) t.test('just wrong', t => { const warnings = [] const p = new Parse() p.on('error', er => warnings.push(er.message)) let aborted = false p.on('abort', _ => aborted = true) p.write(trunc) p.write(trunc) p.write(tgz.slice(split)) p.end() t.equal(aborted, true, 'aborted writing') t.same(warnings, ['zlib: incorrect data check']) t.end() }) t.end() }) t.test('end while consuming', t => { // https://github.com/npm/node-tar/issues/157 const data = zlib.gzipSync(makeTar([ { path: 'package/package.json', type: 'File', size: 130, }, new Array(131).join('x'), { path: 'package/node_modules/@c/d/node_modules/e/package.json', type: 'File', size: 30, }, new Array(31).join('e'), { path: 'package/node_modules/@c/d/package.json', type: 'File', size: 33, }, new Array(34).join('d'), { path: 'package/node_modules/a/package.json', type: 'File', size: 59, }, new Array(60).join('a'), { path: 'package/node_modules/b/package.json', type: 'File', size: 30, }, new Array(31).join('b'), '', '', ])) const actual = [] const expect = [ 'package/package.json', 'package/node_modules/@c/d/node_modules/e/package.json', 'package/node_modules/@c/d/package.json', 'package/node_modules/a/package.json', 'package/node_modules/b/package.json', ] const mp = new MiniPass() const p = new Parse({ onentry: entry => { actual.push(entry.path) entry.resume() }, onwarn: (c, m, data) => t.fail(`${c}: ${m}`, data), }) p.on('end', () => { t.same(actual, expect) t.end() }) mp.end(data) mp.pipe(p) }) t.test('bad archives', t => { const p = new Parse() const warnings = [] p.on('warn', (code, msg, data) => { warnings.push([code, msg, data]) }) p.on('end', () => { // last one should be 'this archive sucks' t.match(warnings.pop(), [ 'TAR_BAD_ARCHIVE', 'Unrecognized archive format', { code: 'TAR_BAD_ARCHIVE', tarCode: 'TAR_BAD_ARCHIVE' }, ]) t.end() }) // javascript test is not a tarball. p.end(fs.readFileSync(__filename)) }) t.test('header that throws', t => { const p = new Parse() p.on('warn', (c, m, d) => { t.equal(m, 'invalid base256 encoding') t.match(d, { code: 'TAR_ENTRY_INVALID', }) t.end() }) const h = new Header({ path: 'path', mode: 0o07777, // gonna make this one invalid uid: 1234, gid: 4321, type: 'File', size: 1, }) h.encode() const buf = h.block const bad = Buffer.from([0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]) bad.copy(buf, 100) t.throws(() => new Header(buf), 'the header with that buffer throws') p.write(buf) }) t.test('warnings that are not so bad', t => { const p = new Parse() const warnings = [] p.on('warn', (code, m, d) => { warnings.push([code, m, d]) t.fail('should get no warnings') }) // the parser doesn't actually decide what's "ok" or "supported", // it just parses. So we have to set it ourselves like unpack does p.once('entry', entry => entry.invalid = true) p.on('entry', entry => entry.resume()) const data = makeTar([ { path: '/a/b/c', type: 'File', size: 1, }, 'a', { path: 'a/b/c', type: 'Directory', }, '', '', ]) p.on('end', () => { t.same(warnings, []) t.end() }) p.end(data) }) node-tar-6.1.11/test/path-reservations.js000066400000000000000000000100701411173710400203010ustar00rootroot00000000000000const t = require('tap') // load up the posix and windows versions of the reserver if (process.platform === 'win32') process.env.TESTING_TAR_FAKE_PLATFORM = 'posix' const { reserve } = t.mock('../lib/path-reservations.js', { path: require('path').posix, })() delete process.env.TESTING_TAR_FAKE_PLATFORM if (process.platform !== 'win32') process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' const { reserve: winReserve } = t.mock('../lib/path-reservations.js', { path: require('path').win32, })() t.test('basic race', t => { // simulate the race conditions we care about let didFile = false const file = done => { t.equal(didFile, false, 'only call file once') didFile = true t.equal(didLink, false, 'do file before link') setTimeout(done) } let didLink = false const link = done => { t.equal(didLink, false, 'only call once') t.equal(didFile, true, 'do file before link') didLink = true // make sure this one is super duper cleared lol // the subsequent calls are no-ops, but verify as much done() done() done() } let didDir = false const dir = done => { t.equal(didDir, false, 'only do dir once') t.equal(didLink, true, 'do link before dir') didDir = true done() } let didDir2 = false const dir2 = done => { t.equal(didDir, true, 'did dir before dir2') t.equal(didDir2, false, 'only do dir2 once') didDir2 = true done() } let didDir3 = false const dir3 = done => { t.equal(didDir2, true, 'did dir2 before dir3') t.equal(didDir3, false, 'only do dir3 once') didDir3 = true done() t.end() } t.ok(reserve(['a/b/c/d'], file), 'file starts right away') t.notOk(reserve(['a/B/c////D', 'a/b/e'], link), 'link waits') t.notOk(reserve(['a/b/e/f'], dir), 'dir waits') t.notOk(reserve(['a/b'], dir2), 'dir2 waits') t.notOk(reserve(['a/b/x'], dir3), 'dir3 waits') }) t.test('unicode shenanigans', t => { const e1 = Buffer.from([0xc3, 0xa9]) const e2 = Buffer.from([0x65, 0xcc, 0x81]) let didCafe1 = false const cafe1 = done => { t.equal(didCafe1, false, 'did cafe1 only once') t.equal(didCafe2, false, 'did cafe1 before cafe2') didCafe1 = true setTimeout(done) } let didCafe2 = false const cafe2 = done => { t.equal(didCafe1, true, 'did cafe1 before cafe2') t.equal(didCafe2, false, 'did cafe2 only once') didCafe2 = true done() t.end() } const cafePath1 = `c/a/f/${e1}` const cafePath2 = `c/a/f/${e2}` t.ok(reserve([cafePath1], cafe1)) t.notOk(reserve([cafePath2], cafe2)) }) t.test('absolute paths and trailing slash', t => { let calledA1 = false let calledA2 = false const a1 = done => { t.equal(calledA1, false, 'called a1 only once') t.equal(calledA2, false, 'called a1 before 2') calledA1 = true setTimeout(done) } const a2 = done => { t.equal(calledA1, true, 'called a1 before 2') t.equal(calledA2, false, 'called a2 only once') calledA2 = true done() if (calledR2) t.end() } let calledR1 = false let calledR2 = false const r1 = done => { t.equal(calledR1, false, 'called r1 only once') t.equal(calledR2, false, 'called r1 before 2') calledR1 = true setTimeout(done) } const r2 = done => { t.equal(calledR1, true, 'called r1 before 2') t.equal(calledR2, false, 'called r1 only once') calledR2 = true done() if (calledA2) t.end() } t.ok(reserve(['/p/a/t/h'], a1)) t.notOk(reserve(['/p/a/t/h/'], a2)) t.ok(reserve(['p/a/t/h'], r1)) t.notOk(reserve(['p/a/t/h/'], r2)) }) t.test('on windows, everything collides with everything', t => { const reserve = winReserve let called1 = false let called2 = false const f1 = done => { t.equal(called1, false, 'only call 1 once') t.equal(called2, false, 'call 1 before 2') called1 = true setTimeout(done) } const f2 = done => { t.equal(called1, true, 'call 1 before 2') t.equal(called2, false, 'only call 2 once') called2 = true done() t.end() } t.equal(reserve(['some/path'], f1), true) t.equal(reserve(['other/path'], f2), false) }) node-tar-6.1.11/test/pax.js000066400000000000000000000205521411173710400154210ustar00rootroot00000000000000'use strict' const t = require('tap') const Pax = require('../lib/pax.js') t.test('create a pax', t => { const p = new Pax({ atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('1979-07-01T19:10:00.000Z'), mtime: new Date('1979-07-01T19:10:00.000Z'), gid: 20, gname: 'staff', uid: 24561, uname: 'isaacs', path: 'foo.txt', size: 100, dev: 123456, ino: 7890, nlink: 1, }) // console.log(p.encode().toString('hex').split('').reduce((s,c)=>{if(s[s.length-1].length<64)s[s.length-1]+=c;else s.push(c);return s},[''])) const buf = Buffer.from( // pax entry header '5061784865616465722f666f6f2e747874000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303036343420003035373736312000303030303234200030303030' + '3030303330342000323136373231373631302000303136373332200078000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000032313637' + '3231373631302000323136373231373631302000000000000000000000000000' + // entry body '313620706174683d666f6f2e7478740a3139206374696d653d32393937303432' + '30300a3139206174696d653d3239393730343230300a323120534348494c592e' + '6465763d3132333435360a313920534348494c592e696e6f3d373839300a3138' + '20534348494c592e6e6c696e6b3d310a39206769643d32300a313520676e616d' + '653d73746166660a3139206d74696d653d3239393730343230300a3132207369' + '7a653d3130300a3133207569643d32343536310a313620756e616d653d697361' + '6163730a00000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const actual = p.encode() t.equal(actual.toString('hex'), buf.toString('hex')) t.end() }) t.test('null pax', t => { const p = new Pax({}) t.equal(p.encode(), null) t.end() }) t.test('tiny pax', t => { // weird to have a global setting a path. Maybe this should be // an error? const p = new Pax({path: 'ab'}, true) const actual = p.encode() // console.log(actual.toString('hex').split('').reduce((s,c)=>{if(s[s.length-1].length<64)s[s.length-1]+=c;else s.push(c);return s},[''])) // return Promise.resolve() const buf = Buffer.from( // header '5061784865616465722f61620000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303036343420000000000000000000000000000000000030303030' + '3030303031332000000000000000000000000000303037303534200067000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + // body // note that a 2-char path is 11, but a 1 char path is 9, because // adding the second char bumps the n to 10, which adds 1, which // means it has to be 11. // a 1-char path COULD be encoded as EITHER "10 path=x\n", or as // "9 path=x\n", and it'd be true either way. '313120706174683d61620a000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') t.equal(actual.toString('hex'), buf.toString('hex')) t.end() }) t.test('parse', t => { t.same(Pax.parse('11 path=ab\n', { uid: 24561 }, true), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: null, path: 'ab', size: null, uid: 24561, uname: null, dev: null, ino: null, nlink: null, global: true, }) t.same(Pax.parse('11 path=ab\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: null, path: 'ab', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('9 gid=20\n9 path=x\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('9 gid=20\n9 path=x\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('20 mtime=1491436800\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: new Date('2017-04-06'), path: null, size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) const breaky = '93 NODETAR.package.readme=karma-moment\n' + '=================\n' + '\n' + 'Karma plugin for Moment framework\n' + '\n' const noKey = '10 =pathx\n' t.same(Pax.parse(breaky + '9 gid=20\n10 path=x\n' + noKey, null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.end() }) node-tar-6.1.11/test/read-entry.js000066400000000000000000000120171411173710400167000ustar00rootroot00000000000000'use strict' const t = require('tap') const ReadEntry = require('../lib/read-entry.js') const Header = require('../lib/header.js') t.test('create read entry', t => { const h = new Header({ path: 'oof.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const entry = new ReadEntry(h, { x: 'y', path: 'foo.txt' }, { z: 0, a: null, b: undefined }) t.ok(entry.header.cksumValid, 'header checksum should be valid') t.match(entry, { extended: { x: 'y', path: 'foo.txt' }, globalExtended: { z: 0, a: null, b: undefined }, header: { cksumValid: true, needPax: false, path: 'oof.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), typeKey: '0', type: 'File', linkpath: null, uname: 'isaacs', gname: 'staff', devmaj: 0, devmin: 0, atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), }, blockRemain: 512, remain: 100, type: 'File', meta: false, ignore: false, path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, uname: 'isaacs', gname: 'staff', size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), linkpath: null, x: 'y', z: 0, }) let data = '' let ended = false entry.on('data', c => data += c) entry.on('end', _ => ended = true) const body = Buffer.alloc(512) body.write(new Array(101).join('z'), 0) entry.write(body) entry.end() t.equal(data, new Array(101).join('z')) t.ok(ended, 'saw end event') t.end() }) t.test('meta entry', t => { const h = new Header({ path: 'PaxHeader/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 23, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'NextFileHasLongLinkpath', uname: 'isaacs', gname: 'staff', }) const body = Buffer.alloc(512) body.write('not that long, actually') const expect = 'not that long, actually' let actual = '' const entry = new ReadEntry(h) entry.on('data', c => actual += c) entry.write(body.slice(0, 1)) entry.write(body.slice(1, 25)) entry.write(body.slice(25)) t.throws(_ => entry.write(Buffer.alloc(1024))) t.equal(actual, expect) t.match(entry, { meta: true, type: 'NextFileHasLongLinkpath' }) t.end() }) t.test('unknown entry type', t => { const h = new Header({ path: 'PaxHeader/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 23, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), uname: 'isaacs', gname: 'staff', }) h.encode() h.block.write('9', 156, 1, 'ascii') const body = Buffer.alloc(512) body.write('not that long, actually') const expect = '' let actual = '' const entry = new ReadEntry(new Header(h.block)) entry.on('data', c => actual += c) entry.write(body.slice(0, 1)) entry.write(body.slice(1, 25)) entry.write(body.slice(25)) t.throws(_ => entry.write(Buffer.alloc(1024))) t.equal(actual, expect) t.match(entry, { ignore: true }) t.end() }) t.test('entry without mode', t => { const h = new Header({ path: 'foo.txt', uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const entry = new ReadEntry(h) t.ok(entry.header.cksumValid, 'header checksum should be valid') t.match(entry, { header: { cksumValid: true, needPax: false, path: 'foo.txt', mode: null, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), typeKey: '0', type: 'File', linkpath: null, uname: 'isaacs', gname: 'staff', devmaj: 0, devmin: 0, atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), }, blockRemain: 512, remain: 100, type: 'File', meta: false, ignore: false, path: 'foo.txt', mode: null, uid: 24561, gid: 20, uname: 'isaacs', gname: 'staff', size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), linkpath: null, }) let data = '' let ended = false entry.on('data', c => data += c) entry.on('end', _ => ended = true) const body = Buffer.alloc(512) body.write(new Array(101).join('z'), 0) entry.write(body) entry.end() t.equal(data, new Array(101).join('z')) t.ok(ended, 'saw end event') t.end() }) node-tar-6.1.11/test/replace.js000066400000000000000000000226661411173710400162540ustar00rootroot00000000000000'use strict' const t = require('tap') const r = require('../lib/replace.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') const list = require('../lib/list.js') const {resolve} = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const zlib = require('zlib') const spawn = require('child_process').spawn const data = fs.readFileSync(tars + '/body-byte-counts.tar') const dataNoNulls = data.slice(0, data.length - 1024) const fixtureDef = { 'body-byte-counts.tar': data, 'no-null-eof.tar': dataNoNulls, 'truncated-head.tar': Buffer.concat([dataNoNulls, data.slice(0, 500)]), 'truncated-body.tar': Buffer.concat([dataNoNulls, data.slice(0, 700)]), 'zero.tar': Buffer.from(''), 'empty.tar': Buffer.alloc(512), 'compressed.tgz': zlib.gzipSync(data), } t.test('basic file add to archive (good or truncated)', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file], { stdio: [0, 'pipe', 2] }) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) t.end() }) } const files = [ 'body-byte-counts.tar', 'no-null-eof.tar', 'truncated-head.tar', 'truncated-body.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) const fileList = [path.basename(__filename)] t.test('sync', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ sync: true, file: resolve(dir, file), cwd: __dirname, }, fileList) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, fileList, er => { if (er) throw er check(resolve(dir, file), t) }) }) } }) t.test('async', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, fileList).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('add to empty archive', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split('\n') t.same(actual, [ path.basename(__filename), ]) t.end() }) } const files = [ 'empty.tar', 'zero.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) files.push('not-existing.tar') t.test('sync', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ sync: true, file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)], er => { if (er) throw er check(resolve(dir, file), t) }) }) } }) t.test('async', async t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('cannot append to gzipped archives', async t => { const dir = t.testdir({ 'compressed.tgz': fixtureDef['compressed.tgz'], }) const file = resolve(dir, 'compressed.tgz') const expect = new Error('cannot append to compressed archives') const expectT = new TypeError('cannot append to compressed archives') t.throws(_ => r({ file, cwd: __dirname, gzip: true, }, [path.basename(__filename)]), expectT) t.throws(_ => r({ file, cwd: __dirname, sync: true, }, [path.basename(__filename)]), expect) return r({ file, cwd: __dirname, }, [path.basename(__filename)], er => t.match(er, expect)) }) t.test('other throws', t => { t.throws(_ => r({}, ['asdf']), new TypeError('file is required')) t.throws(_ => r({file: 'asdf'}, []), new TypeError('no files or directories specified')) t.end() }) t.test('broken open', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) r({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('broken fstat', t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } const poop = new Error('poop') t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) t.end() }) t.test('async', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) r({ file }, ['README.md'], async er => { t.match(er, poop) t.end() }) }) t.end() }) t.test('broken read', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) r({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('mtime cache', async t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } let mtimeCache const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) const mtc = {} mtimeCache.forEach((v, k) => mtc[k] = mtimeCache.get(k).toISOString()) t.same(mtc, { '1024-bytes.txt': '2017-04-10T16:57:47.000Z', '512-bytes.txt': '2017-04-10T17:08:55.000Z', 'one-byte.txt': '2017-04-10T16:58:20.000Z', 'zero-byte.txt': '2017-04-10T17:08:01.000Z', }) t.end() }) } t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ sync: true, file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)]) check(file, t) }) t.test('async cb', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)], er => { if (er) throw er check(file, t) }) }) t.test('async promise', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)]).then(_ => check(file, t)) }) t.end() }) t.test('create tarball out of another tarball', t => { const td = { 'out.tar': fs.readFileSync(path.resolve(tars, 'dir.tar')), } const check = (out, t) => { const expect = [ 'dir/', 'Ω.txt', '🌟.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', ] list({ f: out, sync: true, onentry: entry => { t.equal(entry.path, expect.shift()) }}) t.same(expect, []) t.end() } t.test('sync', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, sync: true, }, ['@utf8.tar']) check(out, t) }) t.test('async cb', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, }, ['@utf8.tar'], er => { if (er) throw er check(out, t) }) }) t.test('async', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, }, ['@utf8.tar']).then(() => check(out, t)) }) t.end() }) node-tar-6.1.11/test/strip-absolute-path.js000066400000000000000000000031761411173710400205430ustar00rootroot00000000000000const t = require('tap') const stripAbsolutePath = require('../lib/strip-absolute-path.js') const cwd = process.cwd() t.test('basic', t => { const cases = { '/': ['/', ''], '////': ['////', ''], 'c:///a/b/c': ['c:///', 'a/b/c'], '\\\\foo\\bar\\baz': ['\\\\foo\\bar\\', 'baz'], '//foo//bar//baz': ['//', 'foo//bar//baz'], 'c:\\c:\\c:\\c:\\\\d:\\e/f/g': ['c:\\c:\\c:\\c:\\\\d:\\', 'e/f/g'], } for (const [input, [root, stripped]] of Object.entries(cases)) t.strictSame(stripAbsolutePath(input, cwd), [root, stripped], input) t.end() }) t.test('drive-local paths', t => { const env = process.env t.teardown(() => process.env = env) const cwd = 'D:\\safety\\land' const realPath = require('path') // be windowsy const path = { ...realPath.win32, win32: realPath.win32, posix: realPath.posix, } const stripAbsolutePath = t.mock('../lib/strip-absolute-path.js', { path }) const cases = { '/': ['/', ''], '////': ['////', ''], 'c:///a/b/c': ['c:///', 'a/b/c'], '\\\\foo\\bar\\baz': ['\\\\foo\\bar\\', 'baz'], '//foo//bar//baz': ['//', 'foo//bar//baz'], 'c:\\c:\\c:\\c:\\\\d:\\e/f/g': ['c:\\c:\\c:\\c:\\\\d:\\', 'e/f/g'], 'c:..\\system\\explorer.exe': ['c:', '..\\system\\explorer.exe'], 'd:..\\..\\unsafe\\land': ['d:', '..\\..\\unsafe\\land'], 'c:foo': ['c:', 'foo'], 'D:mark': ['D:', 'mark'], '//?/X:/y/z': ['//?/X:/', 'y/z'], '\\\\?\\X:\\y\\z': ['\\\\?\\X:\\', 'y\\z'], } for (const [input, [root, stripped]] of Object.entries(cases)) { if (!t.strictSame(stripAbsolutePath(input, cwd), [root, stripped], input)) break } t.end() }) node-tar-6.1.11/test/strip-trailing-slashes.js000066400000000000000000000005001411173710400212300ustar00rootroot00000000000000const t = require('tap') const stripSlash = require('../lib/strip-trailing-slashes.js') const short = '///a///b///c///' const long = short.repeat(10) + '/'.repeat(1000000) t.equal(stripSlash('no slash'), 'no slash') t.equal(stripSlash(short), '///a///b///c') t.equal(stripSlash(long), short.repeat(9) + '///a///b///c') node-tar-6.1.11/test/types.js000066400000000000000000000003001411173710400157620ustar00rootroot00000000000000'use strict' // not much to test here, just 2 maps. const t = require('tap') const types = require('../lib/types.js') t.equal(types.name.get('0'), 'File') t.equal(types.code.get('File'), '0') node-tar-6.1.11/test/unpack.js000066400000000000000000002362441411173710400161210ustar00rootroot00000000000000'use strict' process.umask(0o022) const Unpack = require('../lib/unpack.js') const UnpackSync = Unpack.Sync const t = require('tap') const MiniPass = require('minipass') const makeTar = require('./make-tar.js') const Header = require('../lib/header.js') const z = require('minizlib') const fs = require('fs') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const parses = path.resolve(fixtures, 'parse') const unpackdir = path.resolve(fixtures, 'unpack') const {promisify} = require('util') const rimraf = promisify(require('rimraf')) const mkdirp = require('mkdirp') const mutateFS = require('mutate-fs') const eos = require('end-of-stream') const normPath = require('../lib/normalize-windows-path.js') // On Windows in particular, the "really deep folder path" file // often tends to cause problems, which don't indicate a failure // of this library, it's just what happens on Windows with super // long file paths. const isWindows = process.platform === 'win32' const isLongFile = f => f.match(/r.e.a.l.l.y.-.d.e.e.p.-.f.o.l.d.e.r.-.p.a.t.h/) t.teardown(_ => rimraf(unpackdir)) t.before(async () => { await rimraf(unpackdir) await mkdirp(unpackdir) }) t.test('basic file unpack tests', t => { const basedir = path.resolve(unpackdir, 'basic') t.teardown(_ => rimraf(basedir)) const cases = { 'emptypax.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'one-byte.txt': 'a', }, 'body-byte-counts.tar': { '1024-bytes.txt': new Array(1024).join('x') + '\n', '512-bytes.txt': new Array(512).join('x') + '\n', 'one-byte.txt': 'a', 'zero-byte.txt': '', }, 'utf8.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'Ω.txt': 'Ω', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', }, 'file.tar': { 'one-byte.txt': 'a', }, 'global-header.tar': { 'one-byte.txt': 'a', }, 'long-pax.tar': { '120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', }, 'long-paths.tar': { '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt': 'short\n', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', }, } const tarfiles = Object.keys(cases) t.plan(tarfiles.length) t.jobs = tarfiles.length tarfiles.forEach(tarfile => { t.test(tarfile, t => { const tf = path.resolve(tars, tarfile) const dir = path.resolve(basedir, tarfile) const linkdir = path.resolve(basedir, tarfile + '.link') t.beforeEach(async () => { await rimraf(dir) await rimraf(linkdir) await mkdirp(dir) fs.symlinkSync(dir, linkdir, 'junction') }) const check = t => { const expect = cases[tarfile] Object.keys(expect).forEach(file => { const f = path.resolve(dir, file) if (isWindows && isLongFile(file)) return t.equal(fs.readFileSync(f, 'utf8'), expect[file], file) }) t.end() } t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: linkdir, strict: true }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) t.test('loose', t => { const unpack = new Unpack({ cwd: linkdir }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new UnpackSync({ cwd: linkdir }) unpack.end(fs.readFileSync(tf)) check(t) }) t.test('loose', t => { const unpack = new UnpackSync({ cwd: linkdir }) unpack.end(fs.readFileSync(tf)) check(t) }) }) }) }) }) t.test('cwd default to process cwd', t => { const u = new Unpack() const us = new UnpackSync() const cwd = normPath(process.cwd()) t.equal(u.cwd, cwd) t.equal(us.cwd, cwd) t.end() }) 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(6) t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { const hl1 = fs.lstatSync(dir + '/hardlink-1') const hl2 = fs.lstatSync(dir + '/hardlink-2') t.equal(hl1.dev, hl2.dev) t.equal(hl1.ino, hl2.ino) t.equal(hl1.nlink, 2) t.equal(hl2.nlink, 2) if (!isWindows) { // doesn't work on win32 without special privs const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) 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) if (!isWindows) { const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') } t.end() } const checkForStrip3 = t => { // strips the linkpath entirely, so the link doesn't get extracted. t.throws(() => fs.lstatSync(dir + '/3'), { code: 'ENOENT' }) t.end() } t.test('async', t => { const unpack = new Unpack({ cwd: dir }) let finished = false unpack.on('finish', _ => finished = true) unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('sync strip', t => { const unpack = new UnpackSync({ cwd: dir, strip: 1 }) unpack.end(stripData) 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 => { const dir = path.resolve(unpackdir, 'links') const data = fs.readFileSync(tars + '/links.tar') t.plan(6) mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) t.beforeEach(() => { // clobber this junk try { mkdirp.sync(dir + '/hardlink-1') mkdirp.sync(dir + '/hardlink-2') fs.writeFileSync(dir + '/symlink', 'not a symlink') } catch (er) {} }) const check = t => { const hl1 = fs.lstatSync(dir + '/hardlink-1') const hl2 = fs.lstatSync(dir + '/hardlink-2') t.equal(hl1.dev, hl2.dev) t.equal(hl1.ino, hl2.ino) t.equal(hl1.nlink, 2) t.equal(hl2.nlink, 2) if (!isWindows) { const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') } t.end() } t.test('async', t => { const unpack = new Unpack({ cwd: dir }) let prefinished = false unpack.on('prefinish', _ => prefinished = true) unpack.on('finish', _ => t.ok(prefinished, 'emitted prefinish before finish')) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('async again', t => { const unpack = new Unpack({ cwd: dir }) eos(unpack, _ => check(t)) unpack.end(data) }) t.test('sync again', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('async unlink', t => { const unpack = new Unpack({ cwd: dir, unlink: true }) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync unlink', t => { const unpack = new UnpackSync({ cwd: dir, unlink: true }) unpack.end(data) check(t) }) }) t.test('nested dir dupe', t => { const dir = path.resolve(unpackdir, 'nested-dir') mkdirp.sync(dir + '/d/e/e/p') t.teardown(_ => rimraf(dir)) const expect = { 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt': 'short\n', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', } const check = t => { const entries = fs.readdirSync(dir) t.equal(entries.length, 1) t.equal(entries[0], 'd') Object.keys(expect).forEach(f => { const file = dir + '/' + f t.equal(fs.readFileSync(file, 'utf8'), expect[f]) }) t.end() } const unpack = new Unpack({ cwd: dir, strip: 8 }) const data = fs.readFileSync(tars + '/long-paths.tar') // while we're at it, why not use gzip too? const zip = new z.Gzip() zip.pipe(unpack) unpack.on('close', _ => check(t)) zip.end(data) }) t.test('symlink in dir path', { skip: isWindows && 'symlinks not fully supported', }, t => { const dir = path.resolve(unpackdir, 'symlink-junk') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i', type: 'Directory', }, { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/link', type: 'Link', linkpath: 'd/i/r/file', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink/x', type: 'File', size: 0, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) t.test('no clobbering', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.on('close', _ => { t.equal(fs.lstatSync(dir + '/d/i').mode & 0o7777, isWindows ? 0o666 : 0o755) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') if (!isWindows) { t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) } t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') if (!isWindows) { t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) } t.equal(warnings.length, 1) t.end() }) u.end(data) }) t.test('no clobbering, sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') if (!isWindows) { t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) } t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) t.test('extract through symlink', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), preservePaths: true, }) u.on('close', _ => { t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.ok(fs.lstatSync(dir + '/d/i/r/dir/x').isFile(), 'x thru link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) u.end(data) }) t.test('extract through symlink sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), preservePaths: true, }) u.end(data) t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.ok(fs.lstatSync(dir + '/d/i/r/dir/x').isFile(), 'x thru link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) t.test('clobber through symlink', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.on('close', _ => { t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.notOk(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'no link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isDirectory(), 'sym is dir') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) u.end(data) }) t.test('clobber through symlink with busted unlink', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('unlink', poop)) const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.on('close', _ => { t.same(warnings, [['TAR_ENTRY_ERROR', 'poop', poop]]) t.end() }) u.end(data) }) t.test('clobber through symlink sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.notOk(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'no link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isDirectory(), 'sym is dir') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) t.test('clobber dirs', t => { mkdirp.sync(dir + '/d/i/r/dir') mkdirp.sync(dir + '/d/i/r/file') mkdirp.sync(dir + '/d/i/r/link') mkdirp.sync(dir + '/d/i/r/symlink') const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => { warnings.push([c, w, d]) }, }) u.on('close', _ => { t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) u.end(data) }) t.test('clobber dirs sync', t => { mkdirp.sync(dir + '/d/i/r/dir') mkdirp.sync(dir + '/d/i/r/file') mkdirp.sync(dir + '/d/i/r/link') mkdirp.sync(dir + '/d/i/r/symlink') const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => { warnings.push([c, w, d]) }, }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) t.end() }) t.test('unsupported entries', t => { const dir = path.resolve(unpackdir, 'unsupported-entries') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const unknown = new Header({ path: 'qux', type: 'File', size: 4 }) unknown.type = 'Z' unknown.encode() const data = makeTar([ { path: 'dev/random', type: 'CharacterDevice', }, { path: 'dev/hd0', type: 'BlockDevice', }, { path: 'dev/fifo0', type: 'FIFO', }, // note: unrecognized types are ignored, so this won't emit a warning. // gnutar and bsdtar treat unrecognized types as 'file', so it may be // worth doing the same thing, but with a warning. unknown.block, 'asdf', '', '', ]) t.test('basic, warns', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]) }) const c = 'TAR_ENTRY_UNSUPPORTED' const expect = [ [c, 'unsupported entry type: CharacterDevice', { entry: { path: 'dev/random' }}], [c, 'unsupported entry type: BlockDevice', { entry: { path: 'dev/hd0' }}], [c, 'unsupported entry type: FIFO', { entry: { path: 'dev/fifo0' }}], ] u.on('close', _ => { t.equal(fs.readdirSync(dir).length, 0) t.match(warnings, expect) t.end() }) u.end(data) }) t.test('strict, throws', t => { const warnings = [] const errors = [] const u = new Unpack({ cwd: dir, strict: true, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.on('error', e => errors.push(e)) u.on('close', _ => { t.equal(fs.readdirSync(dir).length, 0) t.same(warnings, []) t.match(errors, [ { message: 'unsupported entry type: CharacterDevice', entry: { path: 'dev/random' }, }, { message: 'unsupported entry type: BlockDevice', entry: { path: 'dev/hd0' }, }, { message: 'unsupported entry type: FIFO', entry: { path: 'dev/fifo0' }, }, ]) t.end() }) u.end(data) }) t.end() }) t.test('file in dir path', t => { const dir = path.resolve(unpackdir, 'file-junk') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/file/a/b/c', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'b', '', '', ]) t.test('fail because of file', t => { const check = t => { t.equal(fs.readFileSync(dir + '/d/i/r/file', 'utf8'), 'a') t.throws(_ => fs.statSync(dir + '/d/i/r/file/a/b/c')) t.end() } t.plan(2) t.test('async', t => { new Unpack({ cwd: dir }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir }).end(data) check(t) }) }) t.test('clobber on through', t => { const check = t => { t.ok(fs.statSync(dir + '/d/i/r/file').isDirectory()) t.equal(fs.readFileSync(dir + '/d/i/r/file/a/b/c', 'utf8'), 'b') t.end() } t.plan(2) t.test('async', t => { new Unpack({ cwd: dir, unlink: true }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, unlink: true }).end(data) check(t) }) }) t.end() }) t.test('set umask option', t => { const dir = path.resolve(unpackdir, 'umask') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const data = makeTar([ { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, }, '', '', ]) new Unpack({ umask: 0o027, cwd: dir, }).on('close', _ => { t.equal(fs.statSync(dir + '/d/i/r').mode & 0o7777, isWindows ? 0o666 : 0o750) t.equal(fs.statSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.end() }).end(data) }) t.test('absolute paths', t => { const dir = path.join(unpackdir, 'absolute-paths') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const absolute = path.resolve(dir, 'd/i/r/absolute') const root = path.parse(absolute).root const extraAbsolute = root + root + root + absolute t.ok(path.isAbsolute(extraAbsolute)) t.ok(path.isAbsolute(absolute)) const parsed = path.parse(absolute) const relative = absolute.substr(parsed.root.length) t.notOk(path.isAbsolute(relative)) const data = makeTar([ { path: extraAbsolute, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) t.test('warn and correct', t => { const check = t => { const r = normPath(root) t.match(warnings, [[ `stripping ${r}${r}${r}${r} from absolute path`, { path: normPath(absolute), code: 'TAR_ENTRY_INFO' }, ]]) t.ok(fs.lstatSync(path.resolve(dir, relative)).isFile(), 'is file') t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('preserve absolute path', t => { // if we use the extraAbsolute path here, we end up creating a dir // like C:\C:\C:\C:\path\to\absolute, which is both 100% valid on // windows, as well as SUUUUUPER annoying. const data = makeTar([ { path: isWindows ? absolute : extraAbsolute, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) const check = t => { t.same(warnings, []) t.ok(fs.lstatSync(absolute).isFile(), 'is file') t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.end() }) t.test('.. paths', t => { const dir = path.join(unpackdir, 'dotted-paths') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const fmode = 0o755 const dotted = 'a/b/c/../d' const resolved = path.resolve(dir, dotted) const data = makeTar([ { path: dotted, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'd', '', '', ]) t.test('warn and skip', t => { const check = t => { t.match(warnings, [[ 'path contains \'..\'', { path: dotted, code: 'TAR_ENTRY_ERROR' }, ]]) t.throws(_ => fs.lstatSync(resolved)) t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ fmode: fmode, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ fmode: fmode, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('preserve dotted path', t => { const check = t => { t.same(warnings, []) t.ok(fs.lstatSync(resolved).isFile(), 'is file') t.equal(fs.lstatSync(resolved).mode & 0o777, isWindows ? 0o666 : fmode) t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ fmode: fmode, preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ fmode: fmode, preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.end() }) t.test('fail all stats', t => { const poop = new Error('poop') poop.code = 'EPOOP' const dir = normPath(path.join(unpackdir, 'stat-fail')) const { stat, fstat, lstat, statSync, fstatSync, lstatSync, } = fs const unmutate = () => Object.assign(fs, { stat, fstat, lstat, statSync, fstatSync, lstatSync, }) const mutate = () => { fs.stat = fs.lstat = fs.fstat = (...args) => { // don't fail statting the cwd, or we get different errors if (normPath(args[0]) === dir) return lstat(dir, args.pop()) process.nextTick(() => args.pop()(poop)) } fs.statSync = fs.lstatSync = fs.fstatSync = (...args) => { if (normPath(args[0]) === dir) return lstatSync(dir) throw poop } } const warnings = [] t.beforeEach(() => { warnings.length = 0 mkdirp.sync(dir) mutate() }) t.afterEach(async () => { unmutate() await rimraf(dir) }) const data = makeTar([ { path: 'd/i/r/file/', type: 'Directory', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/link', type: 'Link', linkpath: 'd/i/r/file', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [ ['poop', poop], ['poop', poop], ] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [ [ String, { code: 'EISDIR', path: normPath(path.resolve(dir, 'd/i/r/file')), syscall: 'open', }, ], [ String, { dest: normPath(path.resolve(dir, 'd/i/r/link')), path: normPath(path.resolve(dir, 'd/i/r/file')), syscall: 'link', }, ], ] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail symlink', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('symlink', poop) const dir = path.join(unpackdir, 'symlink-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [['poop', poop]] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [['poop', poop]] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail chmod', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('chmod', poop) const dir = path.join(unpackdir, 'chmod-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/dir/', type: 'Directory', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [['poop', poop]] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [['poop', poop]] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail mkdir', t => { const poop = new Error('poop') poop.code = 'EPOOP' let unmutate const dir = path.join(unpackdir, 'mkdir-fail') t.teardown(_ => rimraf(dir)) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) unmutate = mutateFS.fail('mkdir', poop) }) t.afterEach(() => unmutate()) const data = makeTar([ { path: 'dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const expect = [[ 'ENOENT: no such file or directory', { code: 'ENOENT', syscall: 'lstat', path: normPath(path.resolve(dir, 'dir')), }, ]] const check = t => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('sync', t => { new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.test('async', t => { new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.end() }) t.test('fail write', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('write', poop) const dir = path.join(unpackdir, 'write-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'x', '', '', ]) const expect = [['poop', poop]] const check = t => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('skip existing', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) const date = new Date('2011-03-27T22:16:31.000Z') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) fs.writeFileSync(dir + '/x', 'y') fs.utimesSync(dir + '/x', date, date) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2013-12-19T17:00:00.000Z'), }, 'x', '', '', ]) const check = t => { const st = fs.lstatSync(dir + '/x') t.equal(st.atime.toISOString(), date.toISOString()) t.equal(st.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x', 'utf8') t.equal(data, 'y') t.end() } t.test('async', t => { new Unpack({ cwd: dir, keep: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, keep: true, }).end(data) check(t) }) t.end() }) t.test('skip newer', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) const date = new Date('2013-12-19T17:00:00.000Z') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) fs.writeFileSync(dir + '/x', 'y') fs.utimesSync(dir + '/x', date, date) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'x', '', '', ]) const check = t => { const st = fs.lstatSync(dir + '/x') t.equal(st.atime.toISOString(), date.toISOString()) t.equal(st.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x', 'utf8') t.equal(data, 'y') t.end() } t.test('async', t => { new Unpack({ cwd: dir, newer: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, newer: true, }).end(data) check(t) }) t.end() }) t.test('no mtime', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const date = new Date('2011-03-27T22:16:31.000Z') const data = makeTar([ { path: 'x/', type: 'Directory', size: 0, atime: date, ctime: date, mtime: date, }, { path: 'x/y', type: 'File', size: 1, mode: 0o751, atime: date, ctime: date, mtime: date, }, 'x', '', '', ]) const check = t => { // this may fail if it's run on March 27, 2011 const stx = fs.lstatSync(dir + '/x') t.not(stx.atime.toISOString(), date.toISOString()) t.not(stx.mtime.toISOString(), date.toISOString()) const sty = fs.lstatSync(dir + '/x/y') t.not(sty.atime.toISOString(), date.toISOString()) t.not(sty.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x/y', 'utf8') t.equal(data, 'x') t.end() } t.test('async', t => { new Unpack({ cwd: dir, noMtime: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, noMtime: true, }).end(data) check(t) }) t.end() }) t.test('unpack big enough to pause/drain', t => { const dir = path.resolve(unpackdir, 'drain-clog') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const stream = fs.createReadStream(fixtures + '/parses.tar') const u = new Unpack({ cwd: dir, strip: 3, strict: true, }) u.on('ignoredEntry', entry => t.fail('should not get ignored entry: ' + entry.path)) u.on('close', _ => { t.pass('extraction finished') const actual = fs.readdirSync(dir) const expected = fs.readdirSync(parses) t.same(actual, expected) t.end() }) stream.pipe(u) }) t.test('set owner', t => { // fake it on platforms that don't have getuid const myUid = 501 const myGid = 1024 const getuid = process.getuid const getgid = process.getgid process.getuid = _ => myUid process.getgid = _ => myGid t.teardown(_ => (process.getuid = getuid, process.getgid = getgid)) // can't actually do this because it requires root, but we can // verify that chown gets called. t.test('as root, defaults to true', t => { const getuid = process.getuid process.getuid = _ => 0 const u = new Unpack() t.equal(u.preserveOwner, true, 'preserveOwner enabled') process.getuid = getuid t.end() }) t.test('as non-root, defaults to false', t => { const getuid = process.getuid process.getuid = _ => 501 const u = new Unpack() t.equal(u.preserveOwner, false, 'preserveOwner disabled') process.getuid = getuid t.end() }) const data = makeTar([ { uid: 2456124561, gid: 813708013, path: 'foo/', type: 'Directory', }, { uid: myUid, gid: 813708013, path: 'foo/my-uid-different-gid', type: 'File', size: 3, }, 'qux', { uid: 2456124561, path: 'foo/different-uid-nogid', type: 'Directory', }, { uid: 2456124561, path: 'foo/different-uid-nogid/bar', type: 'File', size: 3, }, 'qux', { gid: 813708013, path: 'foo/different-gid-nouid/bar', type: 'File', size: 3, }, 'qux', { uid: myUid, gid: myGid, path: 'foo-mine/', type: 'Directory', }, { uid: myUid, gid: myGid, path: 'foo-mine/bar', type: 'File', size: 3, }, 'qux', { uid: myUid, path: 'foo-mine/nogid', type: 'Directory', }, { uid: myUid, path: 'foo-mine/nogid/bar', type: 'File', size: 3, }, 'qux', '', '', ]) t.test('chown failure results in unpack failure', 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(async () => { un() unf() unl() await rimraf(dir) }) t.test('sync', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) let warned = false const u = new Unpack.Sync({ cwd: dir, preserveOwner: true, onwarn: (c, m, er) => { if (!warned) { warned = true t.equal(er, poop) t.end() } }, }) u.end(data) }) t.test('async', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) let warned = false const u = new Unpack({ cwd: dir, preserveOwner: true, onwarn: (c, m, er) => { if (!warned) { warned = true t.equal(er, poop) t.end() } }, }) u.end(data) }) t.end() }) t.test('chown when true', t => { const dir = path.resolve(unpackdir, 'chown') const chown = fs.chown const lchown = fs.lchown const fchown = fs.fchown const chownSync = fs.chownSync const fchownSync = fs.fchownSync const lchownSync = fs.lchownSync let called = 0 fs.fchown = fs.chown = fs.lchown = (path, owner, group, cb) => { called++ cb() } fs.chownSync = fs.lchownSync = fs.fchownSync = _ => called++ t.teardown(_ => { fs.chown = chown fs.fchown = fchown fs.lchown = lchown fs.chownSync = chownSync fs.fchownSync = fchownSync fs.lchownSync = lchownSync }) t.test('sync', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) called = 0 const u = new Unpack.Sync({ cwd: dir, preserveOwner: true }) u.end(data) t.ok(called >= 5, 'called chowns') t.end() }) t.test('async', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) called = 0 const u = new Unpack({ cwd: dir, preserveOwner: true }) u.end(data) u.on('close', _ => { t.ok(called >= 5, 'called chowns') t.end() }) }) t.end() }) t.test('no chown when false', t => { const dir = path.resolve(unpackdir, 'nochown') 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(async _ => { un() unf() unl() await rimraf(dir) }) t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { const dirStat = fs.statSync(dir + '/foo') t.not(dirStat.uid, 2456124561) t.not(dirStat.gid, 813708013) const fileStat = fs.statSync(dir + '/foo/my-uid-different-gid') t.not(fileStat.uid, 2456124561) t.not(fileStat.gid, 813708013) const dirStat2 = fs.statSync(dir + '/foo/different-uid-nogid') t.not(dirStat2.uid, 2456124561) const fileStat2 = fs.statSync(dir + '/foo/different-uid-nogid/bar') t.not(fileStat2.uid, 2456124561) t.end() } t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, preserveOwner: false }) u.end(data) check(t) }) t.test('async', t => { const u = new Unpack({ cwd: dir, preserveOwner: false }) u.end(data) u.on('close', _ => check(t)) }) t.end() }) t.end() }) t.test('unpack when dir is not writable', t => { const data = makeTar([ { path: 'a/', type: 'Directory', mode: 0o444, }, { path: 'a/b', type: 'File', size: 1, }, 'a', '', '', ]) const dir = path.resolve(unpackdir, 'nowrite-dir') t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { t.equal(fs.statSync(dir + '/a').mode & 0o7777, isWindows ? 0o666 : 0o744) t.equal(fs.readFileSync(dir + '/a/b', 'utf8'), 'a') t.end() } t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, strict: true }) u.end(data) check(t) }) t.test('async', t => { const u = new Unpack({ cwd: dir, strict: true }) u.end(data) u.on('close', _ => check(t)) }) t.end() }) t.test('transmute chars on windows', t => { const data = makeTar([ { path: '<|>?:.txt', size: 5, type: 'File', }, '<|>?:', '', '', ]) const dir = path.resolve(unpackdir, 'winchars') t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const hex = 'ef80bcef81bcef80beef80bfef80ba2e747874' const uglyName = Buffer.from(hex, 'hex').toString() const ugly = path.resolve(dir, uglyName) const check = t => { t.same(fs.readdirSync(dir), [uglyName]) t.equal(fs.readFileSync(ugly, 'utf8'), '<|>?:') t.end() } t.test('async', t => { const u = new Unpack({ cwd: dir, win32: true, }) u.end(data) u.on('close', _ => check(t)) }) t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, win32: true, }) u.end(data) check(t) }) t.end() }) t.test('safely transmute chars on windows with absolutes', t => { // don't actually make the directory const poop = new Error('poop') t.teardown(mutateFS.fail('mkdir', poop)) const data = makeTar([ { path: 'c:/x/y/z/<|>?:.txt', size: 5, type: 'File', }, '<|>?:', '', '', ]) const hex = 'ef80bcef81bcef80beef80bfef80ba2e747874' const uglyName = Buffer.from(hex, 'hex').toString() const uglyPath = 'c:/x/y/z/' + uglyName const u = new Unpack({ win32: true, preservePaths: true, }) u.on('entry', entry => { t.equal(entry.path, uglyPath) t.end() }) u.end(data) }) t.test('use explicit chmod when required by umask', t => { process.umask(0o022) const basedir = path.resolve(unpackdir, 'umask-chmod') const data = makeTar([ { path: 'x/y/z', mode: 0o775, type: 'Directory', }, '', '', ]) const check = async t => { const st = fs.statSync(basedir + '/x/y/z') t.equal(st.mode & 0o777, isWindows ? 0o666 : 0o775) await rimraf(basedir) t.end() } t.test('async', t => { mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir }) unpack.on('close', _ => check(t)) unpack.end(data) }) return t.test('sync', t => { mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir }) unpack.end(data) check(t) }) }) t.test('dont use explicit chmod if noChmod flag set', t => { process.umask(0o022) const { umask } = process t.teardown(() => process.umask = umask) process.umask = () => { throw new Error('should not call process.umask()') } const basedir = path.resolve(unpackdir, 'umask-no-chmod') const data = makeTar([ { path: 'x/y/z', mode: 0o775, type: 'Directory', }, '', '', ]) const check = async t => { const st = fs.statSync(basedir + '/x/y/z') t.equal(st.mode & 0o777, isWindows ? 0o666 : 0o755) await rimraf(basedir) t.end() } t.test('async', t => { mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir, noChmod: true }) unpack.on('close', _ => check(t)) unpack.end(data) }) return t.test('sync', t => { mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir, noChmod: true}) unpack.end(data) check(t) }) }) t.test('chown implicit dirs and also the entries', t => { const basedir = path.resolve(unpackdir, 'chownr') // 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 }) let chowns = 0 let currentTest = null fs.lchown = fs.fchown = fs.chown = (path, uid, gid, cb) => { currentTest.equal(uid, 420, 'chown(' + path + ') uid') currentTest.equal(gid, 666, 'chown(' + path + ') gid') chowns++ cb() } fs.lchownSync = fs.chownSync = fs.fchownSync = (path, uid, gid) => { currentTest.equal(uid, 420, 'chownSync(' + path + ') uid') currentTest.equal(gid, 666, 'chownSync(' + path + ') gid') chowns++ } const data = makeTar([ { path: 'a/b/c', mode: 0o775, type: 'File', size: 1, uid: null, gid: null, }, '.', { path: 'x/y/z', mode: 0o775, uid: 12345, gid: 54321, type: 'File', size: 1, }, '.', '', '', ]) const check = async t => { currentTest = null t.equal(chowns, 8) chowns = 0 await rimraf(basedir) t.end() } t.test('throws when setting uid/gid improperly', t => { t.throws(_ => new Unpack({ uid: 420 }), TypeError('cannot set owner without number uid and gid')) t.throws(_ => new Unpack({ gid: 666 }), TypeError('cannot set owner without number uid and gid')) t.throws(_ => new Unpack({ uid: 1, gid: 2, preserveOwner: true }), TypeError('cannot preserve owner in archive and also set owner explicitly')) t.end() }) const tests = () => t.test('async', t => { currentTest = t mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir, uid: 420, gid: 666 }) unpack.on('close', _ => check(t)) unpack.end(data) }).then(t.test('sync', t => { currentTest = t mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir, uid: 420, gid: 666 }) unpack.end(data) check(t) })) tests() t.test('make it look like processUid is 420', t => { process.getuid = () => 420 t.end() }) tests() t.test('make it look like processGid is 666', t => { process.getuid = getuid process.getgid = () => 666 t.end() }) return tests() }) t.test('bad cwd setting', t => { const basedir = path.resolve(unpackdir, 'bad-cwd') mkdirp.sync(basedir) t.teardown(_ => rimraf(basedir)) const cases = [ // the cwd itself { path: './', type: 'Directory', }, // a file directly in the cwd { path: 'a', type: 'File', }, // a file nested within a subdir of the cwd { path: 'a/b/c', type: 'File', }, ] fs.writeFileSync(basedir + '/file', 'xyz') cases.forEach(c => t.test(c.type + ' ' + c.path, t => { const data = makeTar([ { path: c.path, mode: 0o775, type: c.type, size: 0, uid: null, gid: null, }, '', '', ]) t.test('cwd is a file', t => { const cwd = basedir + '/file' const opt = { cwd: cwd } t.throws(_ => new Unpack.Sync(opt).end(data), { name: 'CwdError', message: 'ENOTDIR: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOTDIR', }) new Unpack(opt).on('error', er => { t.match(er, { name: 'CwdError', message: 'ENOTDIR: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOTDIR', }) t.end() }).end(data) }) return t.test('cwd is missing', t => { const cwd = basedir + '/asdf/asdf/asdf' const opt = { cwd: cwd } t.throws(_ => new Unpack.Sync(opt).end(data), { name: 'CwdError', message: 'ENOENT: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOENT', }) new Unpack(opt).on('error', er => { t.match(er, { name: 'CwdError', message: 'ENOENT: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOENT', }) t.end() }).end(data) }) })) t.end() }) t.test('transform', t => { const basedir = path.resolve(unpackdir, 'transform') t.teardown(_ => rimraf(basedir)) const cases = { 'emptypax.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'one-byte.txt': '[a]', }, 'body-byte-counts.tar': { '1024-bytes.txt': new Array(1024).join('[x]') + '[\n]', '512-bytes.txt': new Array(512).join('[x]') + '[\n]', 'one-byte.txt': '[a]', 'zero-byte.txt': '', }, 'utf8.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'Ω.txt': '[Ω]', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': '[Ω]', }, } const txFn = entry => { switch (path.basename(entry.path)) { case 'zero-bytes.txt': return entry case 'one-byte.txt': case '1024-bytes.txt': case '512-bytes.txt': case 'Ω.txt': return new Bracer() } } class Bracer extends MiniPass { write (data) { const d = data.toString().split('').map(c => '[' + c + ']').join('') return super.write(d) } } const tarfiles = Object.keys(cases) t.plan(tarfiles.length) t.jobs = tarfiles.length tarfiles.forEach(tarfile => { t.test(tarfile, t => { const tf = path.resolve(tars, tarfile) const dir = path.resolve(basedir, tarfile) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = t => { const expect = cases[tarfile] Object.keys(expect).forEach(file => { const f = path.resolve(dir, file) t.equal(fs.readFileSync(f, 'utf8'), expect[file], file) }) t.end() } t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, transform: txFn }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, transform: txFn }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new UnpackSync({ cwd: dir, strict: true, transform: txFn }) unpack.end(fs.readFileSync(tf)) check(t) }) t.test('loose', t => { const unpack = new UnpackSync({ cwd: dir, transform: txFn }) unpack.end(fs.readFileSync(tf)) check(t) }) }) }) }) }) t.test('transform error', t => { const dir = path.resolve(unpackdir, 'transform-error') mkdirp.sync(dir) t.teardown(_ => rimraf(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', (code, 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', (code, 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') const tardata = fs.readFileSync(archive) const poop = new Error('poop') const second = new Error('second error') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) t.teardown(() => rimraf(dir)) const methods = ['utimes', 'chown'] methods.forEach(method => { const fc = method === 'chown' t.test(method + ' fallback', t => { t.teardown(mutateFS.fail('f' + method, poop)) // forceChown will fail on systems where the user is not root // and/or the uid/gid in the archive aren't valid. We're just // verifying coverage here, so make the method auto-pass. t.teardown(mutateFS.pass(method)) t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, forceChown: fc }) unpack.on('finish', t.end) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, forceChown: fc }) unpack.on('finish', t.end) unpack.on('warn', t.fail) unpack.end(tardata) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack.Sync({ cwd: dir, strict: true, forceChown: fc }) unpack.end(tardata) t.end() }) t.test('loose', t => { const unpack = new Unpack.Sync({ cwd: dir, forceChown: fc }) unpack.on('warn', t.fail) unpack.end(tardata) t.end() }) }) }) t.test('also fail ' + method, t => { const unmutate = mutateFS.fail('f' + method, poop) const unmutate2 = mutateFS.fail(method, second) t.teardown(() => { unmutate() unmutate2() }) t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, forceChown: fc }) t.plan(3) unpack.on('error', er => t.equal(er, poop)) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, forceChown: fc }) t.plan(3) unpack.on('warn', (code, m, er) => t.equal(er, poop)) unpack.end(tardata) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack.Sync({ cwd: dir, strict: true, forceChown: fc }) t.plan(3) unpack.on('error', er => t.equal(er, poop)) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack.Sync({ cwd: dir, forceChown: fc }) t.plan(3) unpack.on('warn', (c, m, er) => t.equal(er, poop)) unpack.end(tardata) }) }) }) }) t.end() }) t.test('onentry option is preserved', t => { const basedir = path.resolve(unpackdir, 'onentry-method') mkdirp.sync(basedir) t.teardown(() => rimraf(basedir)) let oecalls = 0 const onentry = entry => oecalls++ const data = makeTar([ { path: 'd/i', type: 'Directory', }, { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) const check = t => { t.equal(oecalls, 3) oecalls = 0 t.end() } t.test('sync', t => { const dir = path.join(basedir, 'sync') mkdirp.sync(dir) const unpack = new UnpackSync({ cwd: dir, onentry }) unpack.end(data) check(t) }) t.test('async', t => { const dir = path.join(basedir, 'async') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onentry }) unpack.on('finish', () => check(t)) unpack.end(data) }) 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(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 (const 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() }) t.test('trying to unpack a non-zlib gzip file should fail', t => { const data = Buffer.from('hello this is not gzip data') const dataGzip = Buffer.concat([Buffer.from([0x1f, 0x8b]), data]) const basedir = path.resolve(unpackdir, 'bad-archive') t.test('abort if gzip has an error', t => { t.plan(2) const expect = { message: /^zlib/, errno: Number, code: /^Z/, recoverable: false, cwd: normPath(basedir), tarCode: 'TAR_ABORT', } const opts = { cwd: basedir, gzip: true, } new Unpack(opts) .once('error', er => t.match(er, expect, 'async emits')) .end(dataGzip) const skip = !/^v([0-9]|1[0-3])\./.test(process.version) ? false : 'node prior to v14 did not raise sync zlib errors properly' t.throws(() => new UnpackSync(opts).end(dataGzip), expect, 'sync throws', {skip}) }) t.test('bad archive if no gzip', t => { t.plan(2) const expect = { tarCode: 'TAR_BAD_ARCHIVE', recoverable: false, } const opts = { cwd: basedir } new Unpack(opts) .on('error', er => t.match(er, expect, 'async emits')) .end(data) t.throws(() => new UnpackSync(opts).end(data), expect, 'sync throws') }) t.end() }) t.test('handle errors on fs.close', t => { const poop = new Error('poop') const { close, closeSync } = fs // have to actually close them, or else windows gets mad fs.close = (fd, cb) => close(fd, () => cb(poop)) fs.closeSync = (fd) => { closeSync(fd) throw poop } t.teardown(() => Object.assign(fs, { close, closeSync })) const dir = path.resolve(unpackdir, 'close-fail') mkdirp.sync(dir + '/sync') mkdirp.sync(dir + '/async') const data = makeTar([ { path: 'file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) t.plan(2) new Unpack({ cwd: dir + '/async', strict: true }) .on('error', er => t.equal(er, poop, 'async')) .end(data) t.throws(() => new UnpackSync({ cwd: normPath(dir + '/sync'), strict: true, }).end(data), poop, 'sync') }) t.test('drop entry from dirCache if no longer a directory', { skip: isWindows && 'symlinks not fully supported', }, t => { const dir = path.resolve(unpackdir, 'dir-cache-error') mkdirp.sync(dir + '/sync/y') mkdirp.sync(dir + '/async/y') const data = makeTar([ { path: 'x', type: 'Directory', }, { path: 'x', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/ginkoid', type: 'File', size: 'ginkoid'.length, }, 'ginkoid', '', '', ]) t.plan(2) const WARNINGS = {} const check = (t, path) => { t.equal(fs.statSync(path + '/x').isDirectory(), true) t.equal(fs.lstatSync(path + '/x').isSymbolicLink(), true) t.equal(fs.statSync(path + '/y').isDirectory(), true) t.strictSame(fs.readdirSync(path + '/y'), []) t.throws(() => fs.readFileSync(path + '/x/ginkoid'), { code: 'ENOENT' }) t.strictSame(WARNINGS[path], [ 'TAR_ENTRY_ERROR', 'Cannot extract through symbolic link', ]) t.end() } t.test('async', t => { const path = dir + '/async' new Unpack({ cwd: path }) .on('warn', (code, msg) => WARNINGS[path] = [code, msg]) .on('end', () => check(t, path)) .end(data) }) t.test('sync', t => { const path = dir + '/sync' new UnpackSync({ cwd: path }) .on('warn', (code, msg) => WARNINGS[path] = [code, msg]) .end(data) check(t, path) }) }) t.test('using strip option when top level file exists', t => { const dir = path.resolve(unpackdir, 'strip-with-top-file') mkdirp.sync(dir + '/sync/y') mkdirp.sync(dir + '/async/y') const data = makeTar([ { path: 'top', type: 'File', size: 0, }, { path: 'x', type: 'Directory', }, { path: 'x/a', type: 'File', size: 'a'.length, }, 'a', { path: 'y', type: 'GNUDumpDir', }, { path: 'y/b', type: 'File', size: 'b'.length, }, 'b', '', '', ]) t.plan(2) const check = (t, path) => { t.equal(fs.statSync(path).isDirectory(), true) t.equal(fs.readFileSync(path + '/a', 'utf8'), 'a') t.equal(fs.readFileSync(path + '/b', 'utf8'), 'b') t.throws(() => fs.statSync(path + '/top'), { code: 'ENOENT' }) t.end() } t.test('async', t => { const path = dir + '/async' new Unpack({ cwd: path, strip: 1 }) .on('end', () => check(t, path)) .end(data) }) t.test('sync', t => { const path = dir + '/sync' new UnpackSync({ cwd: path, strip: 1 }).end(data) check(t, path) }) }) t.test('handle EPERMs when creating symlinks', t => { // https://github.com/npm/node-tar/issues/265 const msg = 'You do not have sufficient privilege to perform this operation.' const er = Object.assign(new Error(msg), { code: 'EPERM', }) t.teardown(mutateFS.fail('symlink', er)) const data = makeTar([ { path: 'x', type: 'Directory', }, { path: 'x/y', type: 'File', size: 'hello, world'.length, }, 'hello, world', { path: 'x/link1', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/link2', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/link3', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/z', type: 'File', size: 'hello, world'.length, }, 'hello, world', '', '', ]) const dir = path.resolve(unpackdir, 'eperm-symlinks') mkdirp.sync(`${dir}/sync`) mkdirp.sync(`${dir}/async`) const check = path => { t.match(WARNINGS, [ ['TAR_ENTRY_ERROR', msg], ['TAR_ENTRY_ERROR', msg], ['TAR_ENTRY_ERROR', msg], ], 'got expected warnings') t.equal(WARNINGS.length, 3) WARNINGS.length = 0 t.equal(fs.readFileSync(`${path}/x/y`, 'utf8'), 'hello, world') t.equal(fs.readFileSync(`${path}/x/z`, 'utf8'), 'hello, world') t.throws(() => fs.statSync(`${path}/x/link1`), { code: 'ENOENT' }) t.throws(() => fs.statSync(`${path}/x/link2`), { code: 'ENOENT' }) t.throws(() => fs.statSync(`${path}/x/link3`), { code: 'ENOENT' }) } const WARNINGS = [] const u = new Unpack({ cwd: `${dir}/async`, onwarn: (code, msg, er) => WARNINGS.push([code, msg]), }) u.on('end', () => { check(`${dir}/async`) const u = new UnpackSync({ cwd: `${dir}/sync`, onwarn: (code, msg, er) => WARNINGS.push([code, msg]), }) u.end(data) check(`${dir}/sync`) t.end() }) u.end(data) }) t.test('close fd when error writing', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 1, path: 'x/y', }, '.', '', '', ]) t.teardown(mutateFS.fail('write', new Error('nope'))) const CLOSES = [] const OPENS = {} const {open} = require('fs') t.teardown(() => fs.open = open) fs.open = (...args) => { const cb = args.pop() args.push((er, fd) => { OPENS[args[0]] = fd cb(er, fd) }) return open.call(fs, ...args) } t.teardown(mutateFS.mutateArgs('close', ([fd]) => { CLOSES.push(fd) return [fd] })) const WARNINGS = [] const dir = path.resolve(unpackdir, 'close-on-write-error') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { for (const [path, fd] of Object.entries(OPENS)) t.equal(CLOSES.includes(fd), true, 'closed fd for ' + path) t.end() }) unpack.end(data) }) t.test('close fd when error setting mtime', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 1, path: 'x/y', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '.', '', '', ]) // have to clobber these both, because we fall back t.teardown(mutateFS.fail('futimes', new Error('nope'))) t.teardown(mutateFS.fail('utimes', new Error('nooooope'))) const CLOSES = [] const OPENS = {} const {open} = require('fs') t.teardown(() => fs.open = open) fs.open = (...args) => { const cb = args.pop() args.push((er, fd) => { OPENS[args[0]] = fd cb(er, fd) }) return open.call(fs, ...args) } t.teardown(mutateFS.mutateArgs('close', ([fd]) => { CLOSES.push(fd) return [fd] })) const WARNINGS = [] const dir = path.resolve(unpackdir, 'close-on-futimes-error') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { for (const [path, fd] of Object.entries(OPENS)) t.equal(CLOSES.includes(fd), true, 'closed fd for ' + path) t.end() }) unpack.end(data) }) t.test('do not hang on large files that fail to open()', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 31745, path: 'x/y', }, 'x'.repeat(31745), '', '', ]) t.teardown(mutateFS.fail('open', new Error('nope'))) const dir = path.resolve(unpackdir, 'no-hang-for-large-file-failures') mkdirp.sync(dir) const WARNINGS = [] const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { t.strictSame(WARNINGS, [['TAR_ENTRY_ERROR', 'nope']]) t.end() }) unpack.write(data.slice(0, 2048)) setTimeout(() => { unpack.write(data.slice(2048, 4096)) setTimeout(() => { unpack.write(data.slice(4096)) setTimeout(() => { unpack.end() }) }) }) }) t.test('dirCache pruning unicode normalized collisions', { skip: isWindows && 'symlinks not fully supported', }, t => { const data = makeTar([ { type: 'Directory', path: 'foo', }, { type: 'File', path: 'foo/bar', size: 1, }, 'x', { type: 'Directory', // café path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString(), }, { type: 'SymbolicLink', // cafe with a ` path: Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString(), linkpath: 'foo', }, { type: 'Directory', path: 'foo', }, { type: 'File', path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString() + '/bar', size: 1, }, 'y', '', '', ]) const check = (path, dirCache, t) => { path = path.replace(/\\/g, '/') t.strictSame([...dirCache.entries()][0], [`${path}/foo`, true]) t.equal(fs.readFileSync(path + '/foo/bar', 'utf8'), 'x') t.end() } t.test('sync', t => { const path = t.testdir() const dirCache = new Map() new UnpackSync({ cwd: path, dirCache }).end(data) check(path, dirCache, t) }) t.test('async', t => { const path = t.testdir() const dirCache = new Map() new Unpack({ cwd: path, dirCache }) .on('close', () => check(path, dirCache, t)) .end(data) }) t.end() }) t.test('dircache prune all on windows when symlink encountered', t => { if (process.platform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' t.teardown(() => { delete process.env.TESTING_TAR_FAKE_PLATFORM }) } const symlinks = [] const Unpack = t.mock('../lib/unpack.js', { fs: { ...fs, symlink: (target, dest, cb) => { symlinks.push(['async', target, dest]) process.nextTick(cb) }, symlinkSync: (target, dest) => symlinks.push(['sync', target, dest]), }, }) const UnpackSync = Unpack.Sync const data = makeTar([ { type: 'Directory', path: 'foo', }, { type: 'File', path: 'foo/bar', size: 1, }, 'x', { type: 'Directory', // café path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString(), }, { type: 'SymbolicLink', // cafe with a ` path: Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString(), linkpath: 'safe/actually/but/cannot/be/too/careful', }, { type: 'File', path: 'bar/baz', size: 1, }, 'z', '', '', ]) const check = (path, dirCache, t) => { // symlink blew away all dirCache entries before it path = path.replace(/\\/g, '/') t.strictSame([...dirCache.entries()], [ [`${path}/bar`, true], ]) t.equal(fs.readFileSync(`${path}/foo/bar`, 'utf8'), 'x') t.equal(fs.readFileSync(`${path}/bar/baz`, 'utf8'), 'z') t.end() } t.test('sync', t => { const path = t.testdir() const dirCache = new Map() new UnpackSync({ cwd: path, dirCache }).end(data) check(path, dirCache, t) }) t.test('async', t => { const path = t.testdir() const dirCache = new Map() new Unpack({ cwd: path, dirCache }) .on('close', () => check(path, dirCache, t)) .end(data) }) t.end() }) t.test('recognize C:.. as a dot path part', t => { if (process.platform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' t.teardown(() => { delete process.env.TESTING_TAR_FAKE_PLATFORM }) } const Unpack = t.mock('../lib/unpack.js', { path: { ...path.win32, win32: path.win32, posix: path.posix, }, }) const UnpackSync = Unpack.Sync const data = makeTar([ { type: 'File', path: 'C:../x/y/z', size: 1, }, 'z', { type: 'File', path: 'x:..\\y\\z', size: 1, }, 'x', { type: 'File', path: 'Y:foo', size: 1, }, 'y', '', '', ]) const check = (path, warnings, t) => { t.equal(fs.readFileSync(`${path}/foo`, 'utf8'), 'y') t.strictSame(warnings, [ [ 'TAR_ENTRY_ERROR', "path contains '..'", 'C:../x/y/z', 'C:../x/y/z', ], ['TAR_ENTRY_ERROR', "path contains '..'", 'x:../y/z', 'x:../y/z'], [ 'TAR_ENTRY_INFO', 'stripping Y: from absolute path', 'Y:foo', 'foo', ], ]) t.end() } t.test('async', t => { const warnings = [] const path = t.testdir() new Unpack({ cwd: path, onwarn: (c, w, { entry, path }) => warnings.push([c, w, path, entry.path]), }) .on('close', () => check(path, warnings, t)) .end(data) }) t.test('sync', t => { const warnings = [] const path = t.testdir() new UnpackSync({ cwd: path, onwarn: (c, w, { entry, path }) => warnings.push([c, w, path, entry.path]), }).end(data) check(path, warnings, t) }) t.end() }) node-tar-6.1.11/test/update.js000066400000000000000000000214461411173710400161160ustar00rootroot00000000000000'use strict' const t = require('tap') const u = require('../lib/update.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') const {resolve} = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const zlib = require('zlib') const spawn = require('child_process').spawn const data = fs.readFileSync(tars + '/body-byte-counts.tar') const dataNoNulls = data.slice(0, data.length - 1024) const fixtureDef = { 'body-byte-counts.tar': data, 'no-null-eof.tar': dataNoNulls, 'truncated-head.tar': Buffer.concat([dataNoNulls, data.slice(0, 500)]), 'truncated-body.tar': Buffer.concat([dataNoNulls, data.slice(0, 700)]), 'zero.tar': Buffer.from(''), 'empty.tar': Buffer.alloc(512), 'compressed.tgz': zlib.gzipSync(data), } t.test('basic file add to archive (good or truncated)', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) t.end() }) } const files = [ 'body-byte-counts.tar', 'no-null-eof.tar', 'truncated-head.tar', 'truncated-body.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) const fileList = [path.basename(__filename)] t.test('sync', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ sync: true, file: resolve(dir, file), cwd: __dirname, }, fileList) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, fileList, er => { if (er) throw er check(resolve(dir, file), t) }) }) } }) t.test('async', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, fileList).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('add to empty archive', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ path.basename(__filename), ]) t.end() }) } const files = [ 'empty.tar', 'zero.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) files.push('not-existing.tar') t.test('sync', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ sync: true, file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)], er => { if (er) throw er check(resolve(dir, file), t) }) }) } }) t.test('async', async t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('cannot append to gzipped archives', t => { const dir = t.testdir({ 'compressed.tgz': fixtureDef['compressed.tgz'], }) const file = resolve(dir, 'compressed.tgz') const expect = new Error('cannot append to compressed archives') const expectT = new TypeError('cannot append to compressed archives') t.throws(_ => u({ file, cwd: __dirname, gzip: true, }, [path.basename(__filename)]), expectT) t.throws(_ => u({ file, cwd: __dirname, sync: true, }, [path.basename(__filename)]), expect) u({ file, cwd: __dirname, }, [path.basename(__filename)], er => { t.match(er, expect) t.end() }) }) t.test('other throws', t => { t.throws(_ => u({}, ['asdf']), new TypeError('file is required')) t.throws(_ => u({file: 'asdf'}, []), new TypeError('no files or directories specified')) t.end() }) t.test('broken open', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.throws(_ => u({ sync: true, file: file }, ['README.md']), poop) u({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('broken fstat', t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } const poop = new Error('poop') t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) t.throws(_ => u({ sync: true, file }, ['README.md']), poop) t.end() }) t.test('async', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) u({ file }, ['README.md'], async er => { t.match(er, poop) t.end() }) }) t.end() }) t.test('broken read', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => u({ sync: true, file }, ['README.md']), poop) u({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('do not add older file', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], '1024-bytes.txt': '.'.repeat(1024), foo: 'foo', }) const file = resolve(dir, 'body-byte-counts.tar') const f = resolve(dir, '1024-bytes.txt') const oldDate = new Date('1997-04-10T16:57:47.000Z') fs.utimesSync(f, oldDate, oldDate) // file size should not change const expect = fixtureDef['body-byte-counts.tar'].length const check = t => { t.equal(fs.statSync(file).size, expect) t.end() } t.test('sync', t => { u({ mtimeCache: new Map(), file, cwd: dir, sync: true, filter: path => path === '1024-bytes.txt', }, ['1024-bytes.txt', 'foo']) check(t) }) t.test('async', t => { u({ file, cwd: dir }, ['1024-bytes.txt']).then(_ => check(t)) }) t.test('async cb', t => { u({ file, cwd: dir }, ['1024-bytes.txt'], er => { if (er) throw er check(t) }) }) t.end() }) t.test('do add newer file', t => { const setup = t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], '1024-bytes.txt': '.'.repeat(1024), foo: 'foo', }) const f = resolve(dir, '1024-bytes.txt') const newDate = new Date(Date.now() + 24 * 60 * 60 * 1000) fs.utimesSync(f, newDate, newDate) return dir } // a chunk for the header, then 2 for the body const expect = fixtureDef['body-byte-counts.tar'].length + 512 + 1024 const check = (file, t) => { t.equal(fs.statSync(file).size, expect) t.end() } t.test('sync', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ mtimeCache: new Map(), file, cwd: dir, sync: true, filter: path => path === '1024-bytes.txt', }, ['1024-bytes.txt', 'foo']) check(file, t) }) t.test('async', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ file, cwd: dir }, ['1024-bytes.txt']).then(_ => check(file, t)) }) t.test('async cb', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ file, cwd: dir }, ['1024-bytes.txt'], er => { if (er) throw er check(file, t) }) }) t.end() }) node-tar-6.1.11/test/warn-mixin.js000066400000000000000000000020731411173710400167200ustar00rootroot00000000000000const t = require('tap') const EE = require('events').EventEmitter const warner = require('../lib/warn-mixin.js') const Warner = warner(EE) const w = new Warner() t.type(w.warn, 'function') const warning = [] w.once('warn', (code, msg, data) => warning.push(code, msg, data)) w.warn('code', 'hello') t.same(warning, ['code', 'hello', { tarCode: 'code', code: 'code' }]) warning.length = 0 w.once('warn', (code, msg, data) => warning.push(code, msg, data)) w.warn('ok', new Error('this is fine'), { foo: 'bar' }) t.match(warning, ['ok', 'this is fine', { message: 'this is fine', foo: 'bar', }]) w.strict = true t.throws(_ => w.warn('code', 'hello', { data: 123 }), { message: 'hello', data: 123 }) const poop = new Error('poop') t.throws(_ => w.warn('ok', poop), poop) w.file = 'some/file' t.throws(_ => w.warn('ok', 'this is fine'), { file: 'some/file' }) w.cwd = 'some/dir' t.throws(_ => w.warn('ok', 'this is fine'), { cwd: 'some/dir' }) w.strict = false t.throws(_ => w.warn('ok', 'this is fine', { recoverable: false }), { cwd: 'some/dir', recoverable: false }) node-tar-6.1.11/test/winchars.js000066400000000000000000000003701411173710400164430ustar00rootroot00000000000000'use strict' const t = require('tap') const wc = require('../lib/winchars.js') t.equal(wc.encode('<>'), '\uf03c\uf03e', 'encode') t.equal(wc.decode(wc.encode('<>')), '<>', 'decode') t.equal(wc.decode(wc.encode('\\|<>?:')), '\\|<>?:', 'all chars') node-tar-6.1.11/test/write-entry.js000066400000000000000000001226161411173710400171260ustar00rootroot00000000000000'use strict' const t = require('tap') const mkdirp = require('mkdirp') // make our tests verify that windows link targets get turned into / paths const fs = require('fs') const {readlink, readlinkSync} = fs fs.readlink = (path, cb) => { readlink(path, (er, path) => { if (er) return cb(er) else cb(null, path.replace(/\//g, '\\')) }) } fs.readlinkSync = path => readlinkSync(path).replace(/\//g, '\\') const ReadEntry = require('../lib/read-entry.js') const makeTar = require('./make-tar.js') const WriteEntry = require('../lib/write-entry.js') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const files = path.resolve(fixtures, 'files') const Header = require('../lib/header.js') const mutateFS = require('mutate-fs') process.env.USER = 'isaacs' const chmodr = require('chmodr') const Parser = require('../lib/parse.js') const rimraf = require('rimraf') const isWindows = process.platform === 'win32' const normPath = require('../lib/normalize-windows-path.js') t.test('set up', t => { const one = fs.statSync(files + '/hardlink-1') const two = fs.statSync(files + '/hardlink-2') if (one.dev !== two.dev || one.ino !== two.ino) { fs.unlinkSync(files + '/hardlink-2') fs.linkSync(files + '/hardlink-1', files + '/hardlink-2') } chmodr.sync(files, isWindows ? 0o666 : 0o644) t.end() }) t.test('100 byte filename', t => { // do this one twice, so we have it with and without cache let statCache = null let linkCache = null t.plan(2) const runTest = t => { const f = '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files, linkCache: linkCache, statCache: statCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws, { header: { cksumValid: true, needPax: false, path: '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }, }) const wss = new WriteEntry.Sync(f, { cwd: files, linkCache: linkCache, statCache: statCache, }) linkCache = ws.linkCache statCache = ws.statCache t.equal(out.slice(512).toString('hex'), wss.read().slice(512).toString('hex')) t.equal(out.length, 1024) t.equal(out.slice(0, 100).toString(), f) const h = new Header(out.slice(0, 512)) t.match(h, { cksumValid: true, needPax: false, path: '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, }) t.equal(out.slice(512).toString('hex'), '6363636363636363636363636363636363636363636363636363636363636363' + '6363636363636363636363636363636363636363636363636363636363636363' + '6363636363636363636363636363636363636363636363636363636363636363' + '6363636300000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000') t.end() }) } t.test('uncached', runTest) t.test('cached', runTest) }) t.test('directory', t => { const ws = new WriteEntry('dir', { cwd: files, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 512) const wss = new WriteEntry.Sync('dir', { cwd: files }) t.equal(wss.read().length, 512) t.match(wss.header, { cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('empty path for cwd', t => { const ws = new WriteEntry('') let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: false, path: './', mode: isWindows ? 0o777 : fs.statSync('./').mode & 0o7777, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('symlink', { skip: isWindows && 'symlinks not fully supported', }, t => { const ws = new WriteEntry('symlink', { cwd: files }) let out = [] ws.on('data', c => out.push(c)) const header = { cksumValid: true, needPax: false, path: 'symlink', size: 0, linkpath: 'hardlink-2', uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, } const wss = new WriteEntry.Sync('symlink', { cwd: files }) t.match(wss.header, header) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, header) t.end() }) }) t.test('zero-byte file', t => { const ws = new WriteEntry('files/zero-byte.txt', { cwd: fixtures }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, { path: 'files/zero-byte.txt', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('zero-byte file, but close fails', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('close', poop)) const ws = new WriteEntry('files/1024-bytes.txt', { cwd: fixtures }) ws.on('end', _ => t.fail('should not get an end, because the close fails')) ws.on('error', er => { t.match(er, { message: 'poop' }) t.end() }) ws.resume() }) t.test('hardlinks', t => { const wss = new WriteEntry.Sync('hardlink-1', { cwd: files, }) const ws = new WriteEntry('files/hardlink-2', { cwd: fixtures, linkCache: wss.linkCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, { type: 'Link', path: 'files/hardlink-2', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 0, linkpath: 'files/hardlink-1', uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('hardlinks far away', t => { const h1 = 'hardlink-1' const f = path.resolve(files, h1) const stat = fs.statSync(f) const linkCache = new Map([[stat.dev + ':' + stat.ino, '/a/b/c/d/e']]) const ws = new WriteEntry('files/hardlink-2', { cwd: fixtures, linkCache: linkCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(ws.header, { path: 'files/hardlink-2', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 26, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('really deep path', t => { const f = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: true, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 2048) t.end() }) }) t.test('no pax', t => { const f = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files, noPax: true }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: true, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 1024) t.end() }) }) t.test('nonexistent file', t => { const f = path.resolve(files, 'does not exist') const ws = new WriteEntry('does not exist', { cwd: files }) ws.on('error', er => { t.match(er, { message: 'ENOENT: no such file or directory, lstat \'' + f + '\'', code: 'ENOENT', path: f, syscall: 'lstat', }) t.end() }) }) t.test('absolute path', t => { const absolute = path.resolve(files, '512-bytes.txt') const { root } = path.parse(absolute) const f = root + root + root + absolute const warn = normPath(isWindows ? root : root + root + root + root) t.test('preservePaths=false strict=false', t => { const warnings = [] // on windows, c:\c:\c:\... is a valid path, so just use the // single-root absolute version of it. const ws = new WriteEntry(isWindows ? absolute : f, { cwd: files, onwarn: (c, m, p) => warnings.push([c, m, p]), }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(warnings, [[ 'TAR_ENTRY_INFO', `stripping ${warn} from absolute path`, { path: normPath(isWindows ? absolute : f) }, ]]) t.match(ws.header, { cksumValid: true, needPax: false, path: normPath(absolute.replace(/^(\/|[a-z]:[/\\])*/i, '')), mode: isWindows ? 0o666 : 0o644, size: 512, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('preservePaths=true', t => { t.plan(2) // with preservePaths, strictness doens't matter ;[true, false].forEach(strict => { t.test('strict=' + strict, t => { const warnings = [] const ws = new WriteEntry(isWindows ? absolute : f, { cwd: files, strict: strict, preservePaths: true, onwarn: (c, m, p) => warnings.push([c, m, p]), }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(warnings.length, 0) t.match(ws.header, { cksumValid: true, needPax: false, path: normPath(isWindows ? absolute : f), mode: isWindows ? 0o666 : 0o644, size: 512, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) }) }) t.test('preservePaths=false strict=true', t => { t.throws(_ => { new WriteEntry(isWindows ? absolute : f, { strict: true, cwd: files, }) }, { message: /stripping .* from absolute path/, path: normPath(isWindows ? absolute : f), }) t.end() }) t.end() }) t.throws(_ => new WriteEntry(null), new TypeError('path is required')) t.test('no user environ, sets uname to empty string', t => { delete process.env.USER const ws = new WriteEntry('512-bytes.txt', { cwd: files }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(ws.header, { cksumValid: true, needPax: false, path: '512-bytes.txt', mode: isWindows ? 0o666 : 0o644, size: 512, uname: '', linkpath: null, gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('an unsuppored type', { skip: isWindows && '/dev/random on windows', }, t => { const ws = new WriteEntry('/dev/random', { preservePaths: true }) ws.on('data', c => { throw new Error('should not get data from random') }) ws.on('stat', stat => { t.match(stat, { dev: Number, mode: 0o020666, nlink: 1, rdev: Number, blksize: Number, ino: Number, size: 0, blocks: 0, }) t.ok(stat.isCharacterDevice(), 'random is a character device') }) ws.on('end', _ => { t.match(ws, { type: 'Unsupported', path: '/dev/random' }) t.end() }) }) t.test('readlink fail', t => { const expect = { syscall: 'readlink', path: String, } // pretend everything is a symbolic link, then read something that isn't t.teardown(mutateFS.statType('SymbolicLink')) t.throws(_ => { return new WriteEntry.Sync('write-entry.js', { cwd: __dirname }) }, expect) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.equal(normPath(er.path), normPath(__filename)) t.end() }) }) t.test('open fail', t => { t.teardown(mutateFS.fail('open', new Error('pwn'))) t.throws(_ => new WriteEntry.Sync('write-entry.js', { cwd: __dirname }), { message: 'pwn' }) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, { message: 'pwn' }) t.end() }) }) t.test('read fail', t => { const expect = { message: 'EISDIR: illegal operation on a directory, read', code: 'EISDIR', syscall: 'read', } // pretend everything is a file, then read something that isn't t.teardown(mutateFS.statMutate((er, st) => { if (er) return [er, st] st.isFile = () => true st.size = 123 })) t.throws(_ => new WriteEntry.Sync('fixtures', { cwd: __dirname, }), expect) new WriteEntry('fixtures', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.end() }) }) t.test('read invalid EOF', t => { t.teardown(mutateFS.mutate('read', (er, br) => [er, 0])) const expect = { message: 'encountered unexpected EOF', path: normPath(__filename), syscall: 'read', code: 'EOF', } t.throws(_ => new WriteEntry.Sync('write-entry.js', { cwd: __dirname }), expect) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.end() }) }) 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: normPath(path.resolve(files, f)), syscall: 'read', code: 'EOF', } t.plan(2) 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) }).resume() }) t.test('short reads', t => { t.teardown(mutateFS.zenoRead()) const cases = { '1024-bytes.txt': new Array(1024).join('x') + '\n', '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': new Array(101).join('c'), } const maxReadSize = [null, 1024, 100, 111] Object.keys(cases).forEach(filename => { t.test(filename.split('byte').shift() + 'byte', t => { const contents = cases[filename] maxReadSize.forEach(mRS => { t.test('maxReadSize=' + mRS, t => { let out = [] const ws = new WriteEntry(filename, { maxReadSize: mRS, cwd: files, }) ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512 * Math.ceil(1 + contents.length / 512)) t.equal(out.slice(512).toString().replace(/\0.*$/, ''), contents) const wss = new WriteEntry.Sync(filename, { cwd: files }) const syncOut = wss.read() t.equal(syncOut.length, out.length) t.equal(syncOut.slice(512).toString(), out.slice(512).toString()) t.end() }) }) }) t.end() }) }) t.end() }) t.test('win32 path conversion', { skip: isWindows && 'no need to test on windows', }, t => { const ws = new WriteEntry('long-path\\r', { cwd: files, win32: true, }) t.equal(ws.path, 'long-path/r') t.end() }) t.test('win32 <|>? in paths', { skip: isWindows && 'do not create annoying junk on windows systems', }, t => { const file = path.resolve(fixtures, '<|>?.txt') const uglyName = Buffer.from('ef80bcef81bcef80beef80bf2e747874', 'hex').toString() const ugly = path.resolve(fixtures, uglyName) t.teardown(_ => { rimraf.sync(file) rimraf.sync(ugly) }) fs.writeFileSync(ugly, '<|>?') const wc = new WriteEntry(uglyName, { cwd: fixtures, win32: true, }) const out = [] wc.on('data', c => out.push(c)) wc.on('end', _ => { const data = Buffer.concat(out).toString() t.equal(data.substr(0, 4), '<|>?') t.end() }) t.equal(wc.path, '<|>?.txt') t.equal(wc.absolute, ugly) }) t.test('uid doesnt match, dont set uname', t => { t.teardown(mutateFS.statMutate((er, st) => { if (st) st.uid -= 1 })) const ws = new WriteEntry('long-path/r', { cwd: files, }) t.notOk(ws.uname) t.end() }) t.test('override absolute to some other file', t => { const ws = new WriteEntry('blerg', { absolute: files + '/one-byte.txt', }) const out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 1024) t.match(data.slice(512).toString(), /^a\0{511}$/) t.match(ws, { path: 'blerg', header: { size: 1 }, }) const wss = new WriteEntry.Sync('blerg', { absolute: files + '/one-byte.txt', }) const sdata = wss.read() t.equal(sdata.length, 1024) t.match(sdata.slice(512).toString(), /^a\0{511}$/) t.match(wss, { path: 'blerg', header: { size: 1 }, }) t.end() }) }) t.test('portable entries, nothing platform-specific', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const ws = new WriteEntry(om, { cwd: files, portable: true, }) const pexpect = { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: 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: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('no mtime', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const ws = new WriteEntry(om, { cwd: files, noMtime: true, portable: true, }) const pexpect = { atime: null, mtime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: 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: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, mtime: null, uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, noMtime: true, }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('force mtime', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const date = new Date('1979-07-01T19:10:00.000Z') const ws = new WriteEntry(om, { cwd: files, mtime: date, portable: true, }) const pexpect = { atime: null, mtime: new Date('1979-07-01T19:10:00.000Z'), charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: 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: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, mtime: new Date('1979-07-01T19:10:00.000Z'), uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, mtime: new Date('1979-07-01T19:10:00.000Z'), }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('portable dir entries, no mtime', t => { const dir = 'long-path/' const ws = new WriteEntry(dir, { cwd: files, portable: true, }) const hexpect = { path: 'long-path/', ctime: null, atime: null, uid: null, uname: '', gid: null, gname: '', mtime: null, } const ps = new Parser() const wss = new WriteEntry.Sync(dir, { cwd: files, portable: true, }) ps.on('entry', entry => { t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.header, hexpect) t.end() }) }) t.test('writing more data than is appropriate', t => { const path = t.testdir({ file: 'hello', }) const wss = new WriteEntry(`${path}/file`) wss.on('error', er => { t.match(er, { message: 'writing more data than expected', }) t.end() }) wss.on('stat', () => wss.write(Buffer.from('some more stuff'))) }) t.test('write entry from read entry', t => { const data = makeTar([ { path: '$', type: 'File', size: 10, mode: isWindows ? 0o777 : 0o755, uid: 123, gid: 321, ctime: new Date('1979-07-01'), atime: new Date('1980-08-17'), }, '$$$$$$$$$$', { path: 'blep', type: 'SymbolicLink', linkpath: 'xyz', }, '', '', ]) t.test('basic file', t => { const fileEntry = new ReadEntry(new Header(data)) const wetFile = new WriteEntry.Tar(fileEntry) const out = [] let wetFileEnded = false wetFile.on('data', c => out.push(c)) wetFile.on('end', _ => wetFileEnded = true) fileEntry.write(data.slice(512, 550)) fileEntry.write(data.slice(550, 1000)) fileEntry.end(data.slice(1000, 1024)) t.equal(wetFileEnded, true) const result = Buffer.concat(out) t.equal(result.length, 1024) t.equal(result.toString().replace(/\0.*$/, ''), '$') const body = result.slice(512).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('basic file', t => { const data = makeTar([ { path: '$', type: 'Directory', size: 0, mode: isWindows ? 0o777 : 0o755, uid: 123, gid: 321, ctime: new Date('1979-07-01'), atime: new Date('1980-08-17'), mtime: new Date('1997-06-21'), }, '', '', ]) const fileEntry = new ReadEntry(new Header(data)) const wetFile = new WriteEntry.Tar(fileEntry, { portable: true }) const out = [] let wetFileEnded = false wetFile.on('data', c => out.push(c)) wetFile.on('end', _ => wetFileEnded = true) fileEntry.end() t.equal(wetFileEnded, true) const result = Buffer.concat(out) t.match(new Header(result), { mtime: null }) t.end() }) t.test('with pax header', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) const body = result.slice(1536).toString().replace(/\0*$/, '') t.match(new Header(result), { type: 'ExtendedHeader' }) t.equal(body, '$$$$$$$$$$') t.end() }) t.test('pax and portable', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax, { portable: true }) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) t.match(new Header(result), { type: 'ExtendedHeader' }) t.match(new Header(result.slice(1024)), { ctime: null, atime: null, uname: '', gname: '', }) const body = result.slice(1536).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('pax, portable, and noMtime', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax, { noMtime: true, portable: true, }) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) t.match(new Header(result), { type: 'ExtendedHeader' }) t.match(new Header(result.slice(1024)), { mtime: null, ctime: null, atime: null, uname: '', gname: '', }) const body = result.slice(1536).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('abs path', t => { const fileEntry = new ReadEntry(new Header(data)) fileEntry.path = '/a/b/c' t.test('warn', t => { const warnings = [] new WriteEntry.Tar(fileEntry, { onwarn: (code, msg, data) => warnings.push(code, msg, data), }) t.match(warnings, ['TAR_ENTRY_INFO', 'stripping / from absolute path', { path: '/a/b/c', }]) t.end() }) t.test('preserve', t => { const warnings = [] new WriteEntry.Tar(fileEntry, { onwarn: (code, msg, data) => warnings.push(code, msg, data), preservePaths: true, }) t.same(warnings, []) t.end() }) t.test('throw', t => { t.throws(_ => new WriteEntry.Tar(fileEntry, { strict: true, })) t.end() }) t.end() }) t.test('no block remain', t => { const readEntry = new ReadEntry(new Header({ size: 512, type: 'File', path: 'x', })) const wet = new WriteEntry.Tar(readEntry) const out = [] wet.on('data', c => out.push(c)) let wetEnded = false wet.on('end', _ => wetEnded = true) t.equal(wetEnded, false) readEntry.end(Buffer.from(new Array(513).join('@'))) t.equal(wetEnded, true) const res = Buffer.concat(out) t.equal(res.length, 1024) t.match(res.slice(512).toString(), /^@+$/) t.end() }) t.test('write more than appropriate', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: '1', })) const wet = new WriteEntry.Tar(readEntry) t.throws(_ => wet.write(Buffer.from(new Array(1024).join('x')))) t.end() }) t.end() }) // https://github.com/npm/node-tar/issues/284 t.test('prefix and hard links', t => { const dir = path.resolve(fixtures, 'writeentry-prefix-hardlinks') rimraf.sync(dir) t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const long = 'y'.repeat(250) fs.linkSync(dir + '/in/target', dir + '/in/' + long) const expect = [ { type: 'Directory', path: 'out/x/', }, { type: 'File', size: 3, path: 'out/x/target', }, 'ddd\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', }, new RegExp('^266 path=out.x.' + long + '[\\w\\W]*linkpath=out.x.target'), { path: 'out/x/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/', }, { type: 'Directory', path: 'out/x/z/b/', }, { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/b/c/', }, { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) else if (e instanceof RegExp) t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) else t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) }) } const runTest = async (t, path, Class) => { const linkCache = new Map() const statCache = new Map() const opt = { cwd: dir + '/in', prefix: 'out/x', noDirRecurse: true, linkCache, statCache, } const out = [] const entry = (path) => new Promise(resolve => { const p = new Class(path, opt) p.on('end', resolve) p.on('data', d => out.push(d)) }) await entry(path) if (path === '.') path = './' await entry(`${path}target`) await entry(`${path}y`) await entry(`${path}${long}`) await entry(`${path}z`) await entry(`${path}z/b`) await entry(`${path}z/d`) await entry(`${path}z/b/c`) await entry(`${path}z/b/d`) await entry(`${path}z/b/c/d`) check(out, t) } t.test('async', t => { t.test('.', t => runTest(t, '.', WriteEntry)) return t.test('./', t => runTest(t, './', WriteEntry)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', WriteEntry.Sync)) return t.test('./', t => runTest(t, './', WriteEntry.Sync)) }) t.end() }) t.test('prefix and hard links from tar entries', t => { const long = 'y'.repeat(250) const expect = [ { type: 'Directory', path: 'out/x/', }, { type: 'File', size: 3, path: 'out/x/target', }, 'ddd\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', }, new RegExp('^266 path=out.x.' + long + '[\\w\\W]*linkpath=out.x.target'), { path: 'out/x/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/', }, { type: 'Directory', path: 'out/x/z/b/', }, { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/b/c/', }, { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, ] const data = makeTar([ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', size: ('260 path=' + long + '\n19 linkpath=target\n').length, }, '260 path=' + long + '\n19 linkpath=target\n', { path: 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, '', '', ]) const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) else if (e instanceof RegExp) t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) else t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) }) } const runTest = async (t, path) => { const linkCache = new Map() const statCache = new Map() const opt = { prefix: 'out/x', noDirRecurse: true, linkCache, statCache, } const out = [] const parser = new Parser({ strict: true, onentry: readEntry => { const p = new WriteEntry.Tar(readEntry, opt) p.on('data', d => out.push(d)) }, }) parser.on('end', () => check(out, t)) parser.end(data) } t.test('.', t => runTest(t, '.')) t.test('./', t => runTest(t, './')) t.end() }) t.test('hard links and no prefix', t => { const dir = path.resolve(fixtures, 'writeentry-prefix-hardlinks') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const expect = [ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) else t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) }) } const runTest = async (t, path, Class) => { const linkCache = new Map() const statCache = new Map() const opt = { cwd: dir + '/in', linkCache, statCache, } const out = [] const entry = (path) => new Promise(resolve => { const p = new Class(path, opt) p.on('end', resolve) p.on('data', d => out.push(d)) }) await entry(path) if (path === '.') path = './' await entry(`${path}target`) await entry(`${path}y`) await entry(`${path}z`) await entry(`${path}z/b`) await entry(`${path}z/d`) await entry(`${path}z/b/c`) await entry(`${path}z/b/d`) await entry(`${path}z/b/c/d`) check(out, t) } t.test('async', t => { t.test('.', t => runTest(t, '.', WriteEntry)) return t.test('./', t => runTest(t, './', WriteEntry)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', WriteEntry.Sync)) return t.test('./', t => runTest(t, './', WriteEntry.Sync)) }) t.end() }) t.test('hard links from tar entries and no prefix', t => { const expect = [ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ] const data = makeTar([ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ]) const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) else if (e instanceof RegExp) t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) else t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) }) } const runTest = async (t, path) => { const linkCache = new Map() const statCache = new Map() const opt = { noDirRecurse: true, linkCache, statCache, } const out = [] const parser = new Parser({ onentry: readEntry => { const p = new WriteEntry.Tar(readEntry, opt) p.on('data', d => out.push(d)) }, }) parser.on('end', () => check(out, t)) parser.end(data) } t.test('.', t => runTest(t, '.')) t.test('./', t => runTest(t, './')) t.end() }) t.test('myuid set by getuid() if available, otherwise 0', t => { const {getuid} = process process.getuid = null const noUid = new WriteEntry(__filename) t.equal(noUid.myuid, 0, 'set to zero if no getuid function') process.getuid = () => 123456789 const hasUid = new WriteEntry(__filename) t.equal(hasUid.myuid, 123456789, 'set to process.getuid()') process.getuid = getuid t.end() })