diff options
-rw-r--r-- | doc/cli/npm-ls.md | 2 | ||||
-rw-r--r-- | node_modules/fstream/lib/reader.js | 6 | ||||
-rw-r--r-- | node_modules/fstream/package.json | 10 | ||||
-rw-r--r-- | node_modules/tar/README.md | 2 | ||||
-rw-r--r-- | node_modules/tar/examples/packer.js | 10 | ||||
-rw-r--r-- | node_modules/tar/lib/parse.js | 7 | ||||
-rw-r--r-- | node_modules/tar/package.json | 18 | ||||
-rw-r--r-- | node_modules/tar/test/extract.js | 23 | ||||
-rw-r--r-- | package.json | 4 |
9 files changed, 52 insertions, 30 deletions
diff --git a/doc/cli/npm-ls.md b/doc/cli/npm-ls.md index 21f54264c..fc9769b7d 100644 --- a/doc/cli/npm-ls.md +++ b/doc/cli/npm-ls.md @@ -29,7 +29,7 @@ in parentheses after the name@version to make it easier for users to recognize potential forks of a project. When run as `ll` or `la`, it shows extended information by default. - + ## CONFIGURATION ### json diff --git a/node_modules/fstream/lib/reader.js b/node_modules/fstream/lib/reader.js index eaf921cd0..0edb794d3 100644 --- a/node_modules/fstream/lib/reader.js +++ b/node_modules/fstream/lib/reader.js @@ -210,13 +210,15 @@ Reader.prototype._stat = function (currentStat) { return } - if (me._paused) { + if (me._paused && me.type !== "Directory") { me.once("resume", go) return } var ev = events[e ++] - if (!ev) return me._read() + if (!ev) { + return me._read() + } me.emit(ev, props) go() })() diff --git a/node_modules/fstream/package.json b/node_modules/fstream/package.json index 0cd0aa318..fcdda9c65 100644 --- a/node_modules/fstream/package.json +++ b/node_modules/fstream/package.json @@ -6,7 +6,7 @@ }, "name": "fstream", "description": "Advanced file system stream things", - "version": "0.1.27", + "version": "0.1.28", "repository": { "type": "git", "url": "git://github.com/isaacs/fstream.git" @@ -30,12 +30,12 @@ "license": "BSD", "readme": "Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don't change its contents, or to create\na symlink, etc.\n\nSo, for example, you can \"write\" a directory, and it'll call `mkdir`. You\ncan specify a uid and gid, and it'll call `chown`. You can specify a\n`mtime` and `atime`, and it'll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it'll call `symlink`.\n\nNote that it won't automatically resolve symbolic links. So, if you\ncall `fstream.Reader('/some/symlink')` then you'll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:'/some/symlink', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n })\n .write(\"hello\\n\")\n .end()\n```\n\nThis will create the directories if they're missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it's done.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n , flags: \"a\"\n })\n .write(\"hello\\n\")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/symlink\"\n , linkpath: \"./file\"\n , SymbolicLink: true\n , mode: \"0755\" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it'll be called, and if it returns\ntrue, then it'll treat it as a symlink. If it's not a function, then\nany truish value will make a symlink, or you can set `type:\n'SymbolicLink'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader(\"path/to/dir\")\n .pipe(fstream.Writer(\"path/to/other/dir\"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn't a directory, then it'll emit an error. It'll also\nset the uid, gid, mode, etc. to be identical. In this way, it's more\nlike `rsync -a` than simply a copy.\n", "readmeFilename": "README.md", - "gitHead": "f20c223a2d0edce458c6443a89f8274824eb29b0", + "gitHead": "f757159eb6a5198a9ebc6cde1c4c1b9ae8e0d7b2", "bugs": { "url": "https://github.com/isaacs/fstream/issues" }, "homepage": "https://github.com/isaacs/fstream", - "_id": "fstream@0.1.27", - "_shasum": "80f0a1e56efef322a3f55a1a29774ca64ab7341e", - "_from": "fstream@~0.1.26" + "_id": "fstream@0.1.28", + "_shasum": "2b9286f3a646e30075efd0354729361c4b762a29", + "_from": "fstream@~0.1.27" } diff --git a/node_modules/tar/README.md b/node_modules/tar/README.md index 5bcc82cd8..424a2782b 100644 --- a/node_modules/tar/README.md +++ b/node_modules/tar/README.md @@ -19,6 +19,8 @@ Returns a through stream. Use pack stream and you will receive tar archive data from the pack stream. +This only works with directories, it does not work with individual files. + The optional `properties` object are used to set properties in the tar 'Global Extended Header'. diff --git a/node_modules/tar/examples/packer.js b/node_modules/tar/examples/packer.js new file mode 100644 index 000000000..ebe38926e --- /dev/null +++ b/node_modules/tar/examples/packer.js @@ -0,0 +1,10 @@ +var tar = require("../tar.js") + , fstream = require("fstream") + , fs = require("fs") + +var dir_destination = fs.createWriteStream('dir.tar') + +// This must be a "directory" +fstream.Reader({ path: __dirname, type: "Directory" }) + .pipe(tar.Pack({ noProprietary: true })) + .pipe(dir_destination)
\ No newline at end of file diff --git a/node_modules/tar/lib/parse.js b/node_modules/tar/lib/parse.js index 884e73dba..009a85f41 100644 --- a/node_modules/tar/lib/parse.js +++ b/node_modules/tar/lib/parse.js @@ -37,6 +37,7 @@ function Parse () { me.readable = true me._stream = new BlockStream(512) me.position = 0 + me._ended = false me._stream.on("error", function (e) { me.emit("error", e) @@ -118,13 +119,13 @@ Parse.prototype._process = function (c) { // so appending one tarball to another is technically valid. // ending without the eof null blocks is not allowed, however. if (zero) { - this._ended = this._eofStarted + if (this._eofStarted) + this._ended = true this._eofStarted = true } else { - this._ended = this._eofStarted = false + this._eofStarted = false this._startEntry(c) } - } this.position += 512 diff --git a/node_modules/tar/package.json b/node_modules/tar/package.json index 4c69c4ba2..2f261b890 100644 --- a/node_modules/tar/package.json +++ b/node_modules/tar/package.json @@ -6,7 +6,7 @@ }, "name": "tar", "description": "tar for node", - "version": "0.1.19", + "version": "0.1.20", "repository": { "type": "git", "url": "git://github.com/isaacs/node-tar.git" @@ -16,25 +16,23 @@ "test": "tap test/*.js" }, "dependencies": { - "inherits": "2", "block-stream": "*", - "fstream": "~0.1.8" + "fstream": "~0.1.28", + "inherits": "2" }, "devDependencies": { "tap": "0.x", "rimraf": "1.x" }, "license": "BSD", - "readme": "# node-tar\n\nTar for Node.js.\n\n[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/)\n\n## API\n\nSee `examples/` for usage examples.\n\n### var tar = require('tar')\n\nReturns an object with `.Pack`, `.Extract` and `.Parse` methods.\n\n### tar.Pack([properties])\n\nReturns a through stream. Use\n[fstream](https://npmjs.org/package/fstream) to write files into the\npack stream and you will receive tar archive data from the pack\nstream.\n\nThe optional `properties` object are used to set properties in the tar\n'Global Extended Header'.\n\n### tar.Extract([options])\n\nReturns a through stream. Write tar data to the stream and the files\nin the tarball will be extracted onto the filesystem.\n\n`options` can be:\n\n```js\n{\n path: '/path/to/extract/tar/into',\n strip: 0, // how many path segments to strip from the root when extracting\n}\n```\n\n`options` also get passed to the `fstream.Writer` instance that `tar`\nuses internally.\n\n### tar.Parse()\n\nReturns a writable stream. Write tar data to it and it will emit\n`entry` events for each entry parsed from the tarball. This is used by\n`tar.Extract`.\n", + "readme": "# node-tar\n\nTar for Node.js.\n\n[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/)\n\n## API\n\nSee `examples/` for usage examples.\n\n### var tar = require('tar')\n\nReturns an object with `.Pack`, `.Extract` and `.Parse` methods.\n\n### tar.Pack([properties])\n\nReturns a through stream. Use\n[fstream](https://npmjs.org/package/fstream) to write files into the\npack stream and you will receive tar archive data from the pack\nstream.\n\nThis only works with directories, it does not work with individual files.\n\nThe optional `properties` object are used to set properties in the tar\n'Global Extended Header'.\n\n### tar.Extract([options])\n\nReturns a through stream. Write tar data to the stream and the files\nin the tarball will be extracted onto the filesystem.\n\n`options` can be:\n\n```js\n{\n path: '/path/to/extract/tar/into',\n strip: 0, // how many path segments to strip from the root when extracting\n}\n```\n\n`options` also get passed to the `fstream.Writer` instance that `tar`\nuses internally.\n\n### tar.Parse()\n\nReturns a writable stream. Write tar data to it and it will emit\n`entry` events for each entry parsed from the tarball. This is used by\n`tar.Extract`.\n", "readmeFilename": "README.md", + "gitHead": "b5931010907cd1ef5a186bc947954391050cbcce", "bugs": { "url": "https://github.com/isaacs/node-tar/issues" }, "homepage": "https://github.com/isaacs/node-tar", - "_id": "tar@0.1.19", - "dist": { - "shasum": "fe45941799e660ce1ea52d875d37481b4bf13eac" - }, - "_from": "tar@0.1.19", - "_resolved": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz" + "_id": "tar@0.1.20", + "_shasum": "42940bae5b5f22c74483699126f9f3f27449cb13", + "_from": "tar@~0.1.19" } diff --git a/node_modules/tar/test/extract.js b/node_modules/tar/test/extract.js index fff481816..a68144be9 100644 --- a/node_modules/tar/test/extract.js +++ b/node_modules/tar/test/extract.js @@ -1,3 +1,6 @@ +// Set the umask, so that it works the same everywhere. +process.umask(parseInt('22', 8)) + var tap = require("tap") , tar = require("../tar.js") , fs = require("fs") @@ -114,6 +117,13 @@ var tap = require("tap") size: 200, linkpath: undefined, nlink: 2 }, + { path: '/200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', + mode: '120755', + type: 'SymbolicLink', + depth: 1, + size: 200, + linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', + nlink: 1 }, { path: '/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: '100644', type: 'Link', @@ -121,13 +131,6 @@ var tap = require("tap") size: 200, linkpath: path.join(target, '200-hard'), nlink: 2 }, - { path: '/200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', - mode: '120777', - type: 'SymbolicLink', - depth: 1, - size: 200, - linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - nlink: 1 }, { path: '/c.txt', mode: '100644', type: 'File', @@ -280,6 +283,12 @@ var tap = require("tap") // So, this is as much a test of fstream.Reader and fstream.Writer // as it is of tar.Extract, but it sort of makes sense. +tap.test("preclean", function (t) { + require("rimraf").sync(__dirname + "/tmp/extract-test") + t.pass("cleaned!") + t.end() +}) + tap.test("extract test", function (t) { var extract = tar.Extract(target) var inp = fs.createReadStream(file) diff --git a/package.json b/package.json index d0c825351..b44797094 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "cmd-shim": "~1.1.1", "columnify": "~1.1.0", "editor": "~0.1.0", - "fstream": "~0.1.27", + "fstream": "~0.1.28", "fstream-npm": "~0.1.7", "github-url-from-git": "1.1.1", "github-url-from-username-repo": "~0.2.0", @@ -79,7 +79,7 @@ "sha": "~1.2.1", "slide": "~1.1.5", "sorted-object": "~1.0.0", - "tar": "~0.1.19", + "tar": "~0.1.20", "text-table": "~0.2.0", "uid-number": "0.0.5", "which": "1" |