Browse Source

npm: Upgrade to v1.2.15

v0.10.2-release
isaacs 12 years ago
parent
commit
dea0634f60
  1. 21
      deps/npm/doc/cli/disputes.md
  2. 21
      deps/npm/html/doc/disputes.html
  3. 10
      deps/npm/lib/cache.js
  4. 25
      deps/npm/man/man1/disputes.1
  5. 12
      deps/npm/node_modules/lru-cache/README.md
  6. 54
      deps/npm/node_modules/lru-cache/lib/lru-cache.js
  7. 9
      deps/npm/node_modules/lru-cache/package.json
  8. 25
      deps/npm/node_modules/lru-cache/s.js
  9. 28
      deps/npm/node_modules/lru-cache/test/basic.js
  10. 7
      deps/npm/node_modules/node-gyp/addon.gypi
  11. 29
      deps/npm/node_modules/node-gyp/lib/build.js
  12. 15
      deps/npm/node_modules/node-gyp/lib/configure.js
  13. 2
      deps/npm/node_modules/node-gyp/lib/install.js
  14. 1
      deps/npm/node_modules/node-gyp/lib/node-gyp.js
  15. 20
      deps/npm/node_modules/node-gyp/package.json
  16. 13
      deps/npm/node_modules/tar/package.json
  17. 3
      deps/npm/node_modules/tar/test/pack.js
  18. 6
      deps/npm/package.json

21
deps/npm/doc/cli/disputes.md

@ -15,9 +15,9 @@ There sometimes arise cases where a user publishes a module, and then
later, some other user wants to use that name. Here are some common later, some other user wants to use that name. Here are some common
ways that happens (each of these is based on actual events.) ways that happens (each of these is based on actual events.)
1. Bob writes a JavaScript module `foo`, which is not node-specific. 1. Joe writes a JavaScript module `foo`, which is not node-specific.
Bob doesn't use node at all. Joe wants to use `foo` in node, so he Joe doesn't use node at all. Bob wants to use `foo` in node, so he
wraps it in an npm module. Some time later, Bob starts using node, wraps it in an npm module. Some time later, Joe starts using node,
and wants to take over management of his program. and wants to take over management of his program.
2. Bob writes an npm module `foo`, and publishes it. Perhaps much 2. Bob writes an npm module `foo`, and publishes it. Perhaps much
later, Joe finds a bug in `foo`, and fixes it. He sends a pull later, Joe finds a bug in `foo`, and fixes it. He sends a pull
@ -49,7 +49,8 @@ Joe's appropriate course of action in each case is the same.
the `foo` package. the `foo` package.
3. After a reasonable amount of time, if Bob has not responded, or if 3. After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can't come to any sort of resolution, email isaacs Bob and Joe can't come to any sort of resolution, email isaacs
<i@izs.me> and we'll sort it out. <i@izs.me> and we'll sort it out. ("Reasonable" is usually about 4
weeks, but extra time is allowed around common holidays.)
## REASONING ## REASONING
@ -71,17 +72,23 @@ Some things are not allowed, and will be removed without discussion if
they are brought to the attention of the npm registry admins, including they are brought to the attention of the npm registry admins, including
but not limited to: but not limited to:
1. Malware (that is, a module designed to exploit or harm the machine on 1. Malware (that is, a package designed to exploit or harm the machine on
which it is installed) which it is installed).
2. Violations of copyright or licenses (for example, cloning an 2. Violations of copyright or licenses (for example, cloning an
MIT-licensed program, and then removing or changing the copyright and MIT-licensed program, and then removing or changing the copyright and
license statement) license statement).
3. Illegal content. 3. Illegal content.
4. "Squatting" on a package name that you *plan* to use, but aren't 4. "Squatting" on a package name that you *plan* to use, but aren't
actually using. Sorry, I don't care how great the name is, or how actually using. Sorry, I don't care how great the name is, or how
perfect a fit it is for the thing that someday might happen. If perfect a fit it is for the thing that someday might happen. If
someone wants to use it today, and you're just taking up space with someone wants to use it today, and you're just taking up space with
an empty tarball, you're going to be evicted. an empty tarball, you're going to be evicted.
5. Putting empty packages in the registry. Packages must have SOME
functionality. It can be silly, but it can't be *nothing*. (See
also: squatting.)
6. Doing weird things with the registry, like using it as your own
personal application database or otherwise putting non-packagey
things into it.
If you see bad behavior like this, please report it right away. If you see bad behavior like this, please report it right away.

21
deps/npm/html/doc/disputes.html

@ -20,9 +20,9 @@
later, some other user wants to use that name. Here are some common later, some other user wants to use that name. Here are some common
ways that happens (each of these is based on actual events.)</p> ways that happens (each of these is based on actual events.)</p>
<ol><li>Bob writes a JavaScript module <code>foo</code>, which is not node-specific. <ol><li>Joe writes a JavaScript module <code>foo</code>, which is not node-specific.
Bob doesn&#39;t use node at all. Joe wants to use <code>foo</code> in node, so he Joe doesn&#39;t use node at all. Bob wants to use <code>foo</code> in node, so he
wraps it in an npm module. Some time later, Bob starts using node, wraps it in an npm module. Some time later, Joe starts using node,
and wants to take over management of his program.</li><li>Bob writes an npm module <code>foo</code>, and publishes it. Perhaps much and wants to take over management of his program.</li><li>Bob writes an npm module <code>foo</code>, and publishes it. Perhaps much
later, Joe finds a bug in <code>foo</code>, and fixes it. He sends a pull later, Joe finds a bug in <code>foo</code>, and fixes it. He sends a pull
request to Bob, but Bob doesn&#39;t have the time to deal with it, request to Bob, but Bob doesn&#39;t have the time to deal with it,
@ -49,7 +49,8 @@ isaacs <a href="mailto:i@izs.me">i@izs.me</a> to the CC list of the email. Ment
that Bob can run <code>npm owner add joe foo</code> to add Joe as an owner of that Bob can run <code>npm owner add joe foo</code> to add Joe as an owner of
the <code>foo</code> package.</li><li>After a reasonable amount of time, if Bob has not responded, or if the <code>foo</code> package.</li><li>After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can&#39;t come to any sort of resolution, email isaacs Bob and Joe can&#39;t come to any sort of resolution, email isaacs
<a href="mailto:i@izs.me">i@izs.me</a> and we&#39;ll sort it out.</li></ol> <a href="mailto:i@izs.me">i@izs.me</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is usually about 4
weeks, but extra time is allowed around common holidays.)</li></ol>
<h2 id="REASONING">REASONING</h2> <h2 id="REASONING">REASONING</h2>
@ -71,14 +72,18 @@ feeling good about the interaction.</p>
they are brought to the attention of the npm registry admins, including they are brought to the attention of the npm registry admins, including
but not limited to:</p> but not limited to:</p>
<ol><li>Malware (that is, a module designed to exploit or harm the machine on <ol><li>Malware (that is, a package designed to exploit or harm the machine on
which it is installed)</li><li>Violations of copyright or licenses (for example, cloning an which it is installed).</li><li>Violations of copyright or licenses (for example, cloning an
MIT-licensed program, and then removing or changing the copyright and MIT-licensed program, and then removing or changing the copyright and
license statement)</li><li>Illegal content.</li><li>&quot;Squatting&quot; on a package name that you <em>plan</em> to use, but aren&#39;t license statement).</li><li>Illegal content.</li><li>&quot;Squatting&quot; on a package name that you <em>plan</em> to use, but aren&#39;t
actually using. Sorry, I don&#39;t care how great the name is, or how actually using. Sorry, I don&#39;t care how great the name is, or how
perfect a fit it is for the thing that someday might happen. If perfect a fit it is for the thing that someday might happen. If
someone wants to use it today, and you&#39;re just taking up space with someone wants to use it today, and you&#39;re just taking up space with
an empty tarball, you&#39;re going to be evicted.</li></ol> an empty tarball, you&#39;re going to be evicted.</li><li>Putting empty packages in the registry. Packages must have SOME
functionality. It can be silly, but it can&#39;t be <em>nothing</em>. (See
also: squatting.)</li><li>Doing weird things with the registry, like using it as your own
personal application database or otherwise putting non-packagey
things into it.</li></ol>
<p>If you see bad behavior like this, please report it right away.</p> <p>If you see bad behavior like this, please report it right away.</p>

10
deps/npm/lib/cache.js

@ -140,6 +140,7 @@ function read (name, ver, forceBypass, cb) {
} }
readJson(jsonFile, function (er, data) { readJson(jsonFile, function (er, data) {
er = needName(er, data)
er = needVersion(er, data) er = needVersion(er, data)
if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er) if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
if (er) return addNamed(name, ver, c) if (er) return addNamed(name, ver, c)
@ -722,6 +723,7 @@ function addNameVersion (name, ver, data, cb) {
if (!er) readJson( path.join( npm.cache, name, ver if (!er) readJson( path.join( npm.cache, name, ver
, "package", "package.json" ) , "package", "package.json" )
, function (er, data) { , function (er, data) {
er = needName(er, data)
er = needVersion(er, data) er = needVersion(er, data)
if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er) if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
if (er) return fetchit() if (er) return fetchit()
@ -1011,6 +1013,7 @@ function addPlacedTarball_ (p, name, uid, gid, resolvedSum, cb) {
return cb(er) return cb(er)
} }
readJson(path.join(folder, "package.json"), function (er, data) { readJson(path.join(folder, "package.json"), function (er, data) {
er = needName(er, data)
er = needVersion(er, data) er = needVersion(er, data)
if (er) { if (er) {
log.error("addPlacedTarball", "Couldn't read json in %j" log.error("addPlacedTarball", "Couldn't read json in %j"
@ -1057,6 +1060,7 @@ function addLocalDirectory (p, name, shasum, cb) {
if (p.indexOf(npm.cache) === 0) return cb(new Error( if (p.indexOf(npm.cache) === 0) return cb(new Error(
"Adding a cache directory to the cache will make the world implode.")) "Adding a cache directory to the cache will make the world implode."))
readJson(path.join(p, "package.json"), function (er, data) { readJson(path.join(p, "package.json"), function (er, data) {
er = needName(er, data)
er = needVersion(er, data) er = needVersion(er, data)
if (er) return cb(er) if (er) return cb(er)
deprCheck(data) deprCheck(data)
@ -1183,6 +1187,12 @@ function unlock (u, cb) {
lockFile.unlock(lockFileName(u), cb) lockFile.unlock(lockFileName(u), cb)
} }
function needName(er, data) {
return er ? er
: (data && !data.name) ? new Error("No name provided")
: null
}
function needVersion(er, data) { function needVersion(er, data) {
return er ? er return er ? er
: (data && !data.version) ? new Error("No version provided") : (data && !data.version) ? new Error("No version provided")

25
deps/npm/man/man1/disputes.1

@ -28,9 +28,9 @@ later, some other user wants to use that name\. Here are some common
ways that happens (each of these is based on actual events\.) ways that happens (each of these is based on actual events\.)
. .
.IP "1" 4 .IP "1" 4
Bob writes a JavaScript module \fBfoo\fR, which is not node\-specific\. Joe writes a JavaScript module \fBfoo\fR, which is not node\-specific\.
Bob doesn\'t use node at all\. Joe wants to use \fBfoo\fR in node, so he Joe doesn\'t use node at all\. Bob wants to use \fBfoo\fR in node, so he
wraps it in an npm module\. Some time later, Bob starts using node, wraps it in an npm module\. Some time later, Joe starts using node,
and wants to take over management of his program\. and wants to take over management of his program\.
. .
.IP "2" 4 .IP "2" 4
@ -75,7 +75,8 @@ the \fBfoo\fR package\.
. .
.IP "3" 4 .IP "3" 4
After a reasonable amount of time, if Bob has not responded, or if After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can\'t come to any sort of resolution, email isaacs \fIi@izs\.me\fR and we\'ll sort it out\. Bob and Joe can\'t come to any sort of resolution, email isaacs \fIi@izs\.me\fR and we\'ll sort it out\. ("Reasonable" is usually about 4
weeks, but extra time is allowed around common holidays\.)
. .
.IP "" 0 .IP "" 0
. .
@ -99,13 +100,13 @@ they are brought to the attention of the npm registry admins, including
but not limited to: but not limited to:
. .
.IP "1" 4 .IP "1" 4
Malware (that is, a module designed to exploit or harm the machine on Malware (that is, a package designed to exploit or harm the machine on
which it is installed) which it is installed)\.
. .
.IP "2" 4 .IP "2" 4
Violations of copyright or licenses (for example, cloning an Violations of copyright or licenses (for example, cloning an
MIT\-licensed program, and then removing or changing the copyright and MIT\-licensed program, and then removing or changing the copyright and
license statement) license statement)\.
. .
.IP "3" 4 .IP "3" 4
Illegal content\. Illegal content\.
@ -117,6 +118,16 @@ perfect a fit it is for the thing that someday might happen\. If
someone wants to use it today, and you\'re just taking up space with someone wants to use it today, and you\'re just taking up space with
an empty tarball, you\'re going to be evicted\. an empty tarball, you\'re going to be evicted\.
. .
.IP "5" 4
Putting empty packages in the registry\. Packages must have SOME
functionality\. It can be silly, but it can\'t be \fInothing\fR\|\. (See
also: squatting\.)
.
.IP "6" 4
Doing weird things with the registry, like using it as your own
personal application database or otherwise putting non\-packagey
things into it\.
.
.IP "" 0 .IP "" 0
. .
.P .P

12
deps/npm/node_modules/lru-cache/README.md

@ -26,7 +26,8 @@ away.
## Options ## Options
* `max` The maximum number of items. Not setting this is kind of * `max` The maximum size of the cache, checked by applying the length
function to all values in the cache. Not setting this is kind of
silly, since that's the whole purpose of this lib, but it defaults silly, since that's the whole purpose of this lib, but it defaults
to `Infinity`. to `Infinity`.
* `maxAge` Maximum age in ms. Items are not pro-actively pruned out * `maxAge` Maximum age in ms. Items are not pro-actively pruned out
@ -59,6 +60,15 @@ away.
Both of these will update the "recently used"-ness of the key. Both of these will update the "recently used"-ness of the key.
They do what you think. They do what you think.
* `peek(key)`
Returns the key value (or `undefined` if not found) without
updating the "recently used"-ness of the key.
(If you find yourself using this a lot, you *might* be using the
wrong sort of data structure, but there are some use cases where
it's handy.)
* `del(key)` * `del(key)`
Deletes a key out of the cache. Deletes a key out of the cache.

54
deps/npm/node_modules/lru-cache/lib/lru-cache.js

@ -48,6 +48,7 @@ function LRUCache (options) {
var cache = Object.create(null) // hash of items by key var cache = Object.create(null) // hash of items by key
, lruList = Object.create(null) // list of items in order of use recency , lruList = Object.create(null) // list of items in order of use recency
, mru = 0 // most recently used , mru = 0 // most recently used
, lru = 0 // least recently used
, length = 0 // number of items in the list , length = 0 // number of items in the list
, itemCount = 0 , itemCount = 0
@ -138,6 +139,7 @@ function LRUCache (options) {
} }
cache = {} cache = {}
lruList = {} lruList = {}
lru = 0
mru = 0 mru = 0
length = 0 length = 0
itemCount = 0 itemCount = 0
@ -191,38 +193,54 @@ function LRUCache (options) {
} }
this.get = function (key) { this.get = function (key) {
if (!hOP(cache, key)) return return get(key, true)
}
this.peek = function (key) {
return get(key, false)
}
function get (key, doUse) {
var hit = cache[key] var hit = cache[key]
if (maxAge && (Date.now() - hit.now > maxAge)) { if (hit) {
this.del(key) if (maxAge && (Date.now() - hit.now > maxAge)) {
return allowStale ? hit.value : undefined del(hit)
if (!allowStale) hit = undefined
} else {
if (doUse) use(hit)
}
if (hit) hit = hit.value
} }
delete lruList[hit.lu] return hit
}
function use (hit) {
shiftLU(hit)
hit.lu = mru ++ hit.lu = mru ++
lruList[hit.lu] = hit lruList[hit.lu] = hit
return hit.value
} }
this.del = function (key) { this.del = function (key) {
if (!hOP(cache, key)) return del(cache[key])
var hit = cache[key]
if (dispose) dispose(key, hit.value)
delete cache[key]
delete lruList[hit.lu]
length -= hit.length
itemCount --
} }
function trim () { function trim () {
if (length <= max) return while (lru < mru && length > max)
for (var k in lruList) { del(lruList[lru])
if (length <= max) break; }
var hit = lruList[k]
function shiftLU(hit) {
delete lruList[ hit.lu ]
while (lru < mru && !lruList[lru]) lru ++
}
function del(hit) {
if (hit) {
if (dispose) dispose(hit.key, hit.value) if (dispose) dispose(hit.key, hit.value)
length -= hit.length length -= hit.length
itemCount -- itemCount --
delete cache[ hit.key ] delete cache[ hit.key ]
delete lruList[k] shiftLU(hit)
} }
} }
} }

9
deps/npm/node_modules/lru-cache/package.json

@ -1,7 +1,7 @@
{ {
"name": "lru-cache", "name": "lru-cache",
"description": "A cache object that deletes the least-recently-used items.", "description": "A cache object that deletes the least-recently-used items.",
"version": "2.2.2", "version": "2.3.0",
"author": { "author": {
"name": "Isaac Z. Schlueter", "name": "Isaac Z. Schlueter",
"email": "i@izs.me" "email": "i@izs.me"
@ -15,7 +15,8 @@
"url": "git://github.com/isaacs/node-lru-cache.git" "url": "git://github.com/isaacs/node-lru-cache.git"
}, },
"devDependencies": { "devDependencies": {
"tap": "" "tap": "",
"weak": ""
}, },
"license": { "license": {
"type": "MIT", "type": "MIT",
@ -51,8 +52,8 @@
"email": "jesse.dailey@gmail.com" "email": "jesse.dailey@gmail.com"
} }
], ],
"readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum number of items. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think.\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n", "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n",
"readmeFilename": "README.md", "readmeFilename": "README.md",
"_id": "lru-cache@2.2.2", "_id": "lru-cache@2.3.0",
"_from": "lru-cache@latest" "_from": "lru-cache@latest"
} }

25
deps/npm/node_modules/lru-cache/s.js

@ -0,0 +1,25 @@
var LRU = require('lru-cache');
var max = +process.argv[2] || 10240;
var more = 1024;
var cache = LRU({
max: max, maxAge: 86400e3
});
// fill cache
for (var i = 0; i < max; ++i) {
cache.set(i, {});
}
var start = process.hrtime();
// adding more items
for ( ; i < max+more; ++i) {
cache.set(i, {});
}
var end = process.hrtime(start);
var msecs = end[0] * 1E3 + end[1] / 1E6;
console.log('adding %d items took %d ms', more, msecs.toPrecision(5));

28
deps/npm/node_modules/lru-cache/test/basic.js

@ -299,3 +299,31 @@ test("stale", function(t) {
t.end() t.end()
}, 15) }, 15)
}) })
test("lru update via set", function(t) {
var cache = LRU({ max: 2 });
cache.set('foo', 1);
cache.set('bar', 2);
cache.del('bar');
cache.set('baz', 3);
cache.set('qux', 4);
t.equal(cache.get('foo'), undefined)
t.equal(cache.get('bar'), undefined)
t.equal(cache.get('baz'), 3)
t.equal(cache.get('qux'), 4)
t.end()
})
test("least recently set w/ peek", function (t) {
var cache = new LRU(2)
cache.set("a", "A")
cache.set("b", "B")
t.equal(cache.peek("a"), "A")
cache.set("c", "C")
t.equal(cache.get("c"), "C")
t.equal(cache.get("b"), "B")
t.equal(cache.get("a"), undefined)
t.end()
})

7
deps/npm/node_modules/node-gyp/addon.gypi

@ -12,7 +12,12 @@
['_type=="loadable_module"', { ['_type=="loadable_module"', {
'product_extension': 'node', 'product_extension': 'node',
'defines': [ 'BUILDING_NODE_EXTENSION' ], 'defines': [ 'BUILDING_NODE_EXTENSION' ],
}] }],
['_type=="static_library"', {
# set to `1` to *disable* the -T thin archive 'ld' flag.
# older linkers don't support this flag.
'standalone_static_library': '<(standalone_static_library)'
}],
], ],
'conditions': [ 'conditions': [

29
deps/npm/node_modules/node-gyp/lib/build.js

@ -119,22 +119,33 @@ function build (gyp, argv, callback) {
function findMsbuild () { function findMsbuild () {
log.verbose('could not find "msbuild.exe" in PATH - finding location in registry') log.verbose('could not find "msbuild.exe" in PATH - finding location in registry')
var notfoundErr = new Error('Can\'t find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?') var notfoundErr = new Error('Can\'t find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?')
exec('reg query "HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions" /s', function (err, stdout, stderr) { var cmd = 'reg query "HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions" /s'
var reVers = /Software\\Microsoft\\MSBuild\\ToolsVersions\\([^\r]+)\r\n\s+MSBuildToolsPath\s+REG_SZ\s+([^\r]+)/gi if (process.arch !== 'ia32')
cmd += ' /reg:32'
exec(cmd, function (err, stdout, stderr) {
var reVers = /ToolsVersions\\([^\\]+)$/i
, rePath = /\r\n[ \t]+MSBuildToolsPath[ \t]+REG_SZ[ \t]+([^\r]+)/i
, msbuilds = [] , msbuilds = []
, r , r
, msbuildPath , msbuildPath
if (err) { if (err) {
return callback(notfoundErr) return callback(notfoundErr)
} }
while (r = reVers.exec(stdout)) { stdout.split('\r\n\r\n').forEach(function(l) {
if (parseFloat(r[1], 10) >= 3.5) { if (!l) return
msbuilds.push({ l = l.trim()
version: parseFloat(r[1], 10), if (r = reVers.exec(l.substring(0, l.indexOf('\r\n')))) {
path: r[2] var ver = parseFloat(r[1], 10)
}) if (ver >= 3.5) {
if (r = rePath.exec(l)) {
msbuilds.push({
version: ver,
path: r[1]
})
}
}
} }
} })
msbuilds.sort(function (x, y) { msbuilds.sort(function (x, y) {
return (x.version < y.version ? -1 : 1) return (x.version < y.version ? -1 : 1)
}) })

15
deps/npm/node_modules/node-gyp/lib/configure.js

@ -14,7 +14,6 @@ var fs = require('graceful-fs')
, semver = require('semver') , semver = require('semver')
, mkdirp = require('mkdirp') , mkdirp = require('mkdirp')
, cp = require('child_process') , cp = require('child_process')
, exec = cp.exec
, spawn = cp.spawn , spawn = cp.spawn
, execFile = cp.execFile , execFile = cp.execFile
, win = process.platform == 'win32' , win = process.platform == 'win32'
@ -91,7 +90,8 @@ function configure (gyp, argv, callback) {
} }
function checkPythonVersion () { function checkPythonVersion () {
execFile(python, ['-c', 'import platform; print(platform.python_version());'], function (err, stdout) { var env = { TERM: 'dumb', PATH: process.env.PATH };
execFile(python, ['-c', 'import platform; print(platform.python_version());'], { env: env }, function (err, stdout) {
if (err) { if (err) {
return callback(err) return callback(err)
} }
@ -166,11 +166,7 @@ function configure (gyp, argv, callback) {
var cp = spawn('cmd', ['/C', '%WINDIR%\\SysWOW64\\reg', 'query', 'HKLM\\Software\\Microsoft\\VCExpress\\10.0\\Setup\\VC', '/v', 'ProductDir']) var cp = spawn('cmd', ['/C', '%WINDIR%\\SysWOW64\\reg', 'query', 'HKLM\\Software\\Microsoft\\VCExpress\\10.0\\Setup\\VC', '/v', 'ProductDir'])
cp.on('exit', function (code) { cp.on('exit', function (code) {
hasVCExpress = (code === 0) hasVCExpress = (code === 0)
if (code !== 0) { checkVC2012Express(cb)
checkVC2012Express(cb)
} else {
cb()
}
}) })
} }
@ -180,7 +176,7 @@ function configure (gyp, argv, callback) {
if (code !== 0) { if (code !== 0) {
checkVCExpress64(cb) checkVCExpress64(cb)
} else { } else {
cb() checkVC2012Express(cb)
} }
}) })
} }
@ -291,6 +287,9 @@ function configure (gyp, argv, callback) {
// don't copy dev libraries with nodedir option // don't copy dev libraries with nodedir option
variables.copy_dev_lib = !gyp.opts.nodedir variables.copy_dev_lib = !gyp.opts.nodedir
// disable -T "thin" static archives by default
variables.standalone_static_library = gyp.opts.thin ? 0 : 1;
// loop through the rest of the opts and add the unknown ones as variables. // loop through the rest of the opts and add the unknown ones as variables.
// this allows for module-specific configure flags like: // this allows for module-specific configure flags like:
// //

2
deps/npm/node_modules/node-gyp/lib/install.js

@ -38,7 +38,7 @@ function install (gyp, argv, callback) {
} }
} }
var distUrl = gyp.opts['dist-url'] || 'http://nodejs.org/dist' var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'http://nodejs.org/dist'
// Determine which node dev files version we are installing // Determine which node dev files version we are installing

1
deps/npm/node_modules/node-gyp/lib/node-gyp.js

@ -86,6 +86,7 @@ proto.configDefs = {
, python: String // 'configure' , python: String // 'configure'
, 'dist-url': String // 'install' , 'dist-url': String // 'install'
, jobs: String // 'build' , jobs: String // 'build'
, thin: String // 'configure'
} }
/** /**

20
deps/npm/node_modules/node-gyp/package.json

File diff suppressed because one or more lines are too long

13
deps/npm/node_modules/tar/package.json

@ -6,7 +6,7 @@
}, },
"name": "tar", "name": "tar",
"description": "tar for node", "description": "tar for node",
"version": "0.1.16", "version": "0.1.17",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/isaacs/node-tar.git" "url": "git://github.com/isaacs/node-tar.git"
@ -15,9 +15,6 @@
"scripts": { "scripts": {
"test": "tap test/*.js" "test": "tap test/*.js"
}, },
"engines": {
"node": "~0.5.9 || 0.6 || 0.7 || 0.8"
},
"dependencies": { "dependencies": {
"inherits": "1.x", "inherits": "1.x",
"block-stream": "*", "block-stream": "*",
@ -30,6 +27,10 @@
"license": "BSD", "license": "BSD",
"readme": "# node-tar\n\nTar for Node.js.\n\n## Goals of this project\n\n1. Be able to parse and reasonably extract the contents of any tar file\n created by any program that creates tar files, period.\n\n At least, this includes every version of:\n\n * bsdtar\n * gnutar\n * solaris posix tar\n * Joerg Schilling's star (\"Schilly tar\")\n\n2. Create tar files that can be extracted by any of the following tar\n programs:\n\n * bsdtar/libarchive version 2.6.2\n * gnutar 1.15 and above\n * SunOS Posix tar\n * Joerg Schilling's star (\"Schilly tar\")\n\n3. 100% test coverage. Speed is important. Correctness is slightly\n more important.\n\n4. Create the kind of tar interface that Node users would want to use.\n\n5. Satisfy npm's needs for a portable tar implementation with a\n JavaScript interface.\n\n6. No excuses. No complaining. No tolerance for failure.\n\n## But isn't there already a tar.js?\n\nYes, there are a few. This one is going to be better, and it will be\nfanatically maintained, because npm will depend on it.\n\nThat's why I need to write it from scratch. Creating and extracting\ntarballs is such a large part of what npm does, I simply can't have it\nbe a black box any longer.\n\n## Didn't you have something already? Where'd it go?\n\nIt's in the \"old\" folder. It's not functional. Don't use it.\n\nIt was a useful exploration to learn the issues involved, but like most\nsoftware of any reasonable complexity, node-tar won't be useful until\nit's been written at least 3 times.\n", "readme": "# node-tar\n\nTar for Node.js.\n\n## Goals of this project\n\n1. Be able to parse and reasonably extract the contents of any tar file\n created by any program that creates tar files, period.\n\n At least, this includes every version of:\n\n * bsdtar\n * gnutar\n * solaris posix tar\n * Joerg Schilling's star (\"Schilly tar\")\n\n2. Create tar files that can be extracted by any of the following tar\n programs:\n\n * bsdtar/libarchive version 2.6.2\n * gnutar 1.15 and above\n * SunOS Posix tar\n * Joerg Schilling's star (\"Schilly tar\")\n\n3. 100% test coverage. Speed is important. Correctness is slightly\n more important.\n\n4. Create the kind of tar interface that Node users would want to use.\n\n5. Satisfy npm's needs for a portable tar implementation with a\n JavaScript interface.\n\n6. No excuses. No complaining. No tolerance for failure.\n\n## But isn't there already a tar.js?\n\nYes, there are a few. This one is going to be better, and it will be\nfanatically maintained, because npm will depend on it.\n\nThat's why I need to write it from scratch. Creating and extracting\ntarballs is such a large part of what npm does, I simply can't have it\nbe a black box any longer.\n\n## Didn't you have something already? Where'd it go?\n\nIt's in the \"old\" folder. It's not functional. Don't use it.\n\nIt was a useful exploration to learn the issues involved, but like most\nsoftware of any reasonable complexity, node-tar won't be useful until\nit's been written at least 3 times.\n",
"readmeFilename": "README.md", "readmeFilename": "README.md",
"_id": "tar@0.1.16", "_id": "tar@0.1.17",
"_from": "tar@~0.1.12" "dist": {
"shasum": "408c8a95deb8e78a65b59b1a51a333183a32badc"
},
"_from": "tar@0.1.17",
"_resolved": "https://registry.npmjs.org/tar/-/tar-0.1.17.tgz"
} }

3
deps/npm/node_modules/tar/test/pack.js

@ -50,8 +50,7 @@ var tap = require("tap")
"NODETAR.repository.type": pkg.repository.type, "NODETAR.repository.type": pkg.repository.type,
"NODETAR.repository.url": pkg.repository.url, "NODETAR.repository.url": pkg.repository.url,
"NODETAR.main": pkg.main, "NODETAR.main": pkg.main,
"NODETAR.scripts.test": pkg.scripts.test, "NODETAR.scripts.test": pkg.scripts.test } ]
"NODETAR.engines.node": pkg.engines.node } ]
, [ 'entry', , [ 'entry',
{ path: 'fixtures/', { path: 'fixtures/',

6
deps/npm/package.json

@ -44,14 +44,14 @@
"rimraf": "2", "rimraf": "2",
"request": "~2.9", "request": "~2.9",
"which": "1", "which": "1",
"tar": "~0.1.12", "tar": "~0.1.17",
"fstream": "~0.1.22", "fstream": "~0.1.22",
"block-stream": "*", "block-stream": "*",
"inherits": "1", "inherits": "1",
"mkdirp": "~0.3.3", "mkdirp": "~0.3.3",
"read": "~1.0.4", "read": "~1.0.4",
"lru-cache": "~2.2.2", "lru-cache": "~2.3.0",
"node-gyp": "~0.8.5", "node-gyp": "~0.9.3",
"fstream-npm": "~0.1.3", "fstream-npm": "~0.1.3",
"uid-number": "0", "uid-number": "0",
"archy": "0", "archy": "0",

Loading…
Cancel
Save