.gitignore
release/
+# don't need these in the npm package.
+html/*.png
+
# don't ignore .npmignore files
# these are used in some tests.
!.npmignore
<p>This function should not be used programmatically. Instead, just refer
to the <code>npm.bin</code> member.</p>
</div>
-<p id="footer">bin — npm@1.1.21</p>
+<p id="footer">bin — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>This command will launch a browser, so this command may not be the most
friendly for programmatic use.</p>
</div>
-<p id="footer">bugs — npm@1.1.21</p>
+<p id="footer">bugs — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer">commands — npm@1.1.21</p>
+<p id="footer">commands — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
-<p id="footer">config — npm@1.1.21</p>
+<p id="footer">config — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">deprecate — npm@1.1.21</p>
+<p id="footer">deprecate — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>This command will launch a browser, so this command may not be the most
friendly for programmatic use.</p>
</div>
-<p id="footer">docs — npm@1.1.21</p>
+<p id="footer">docs — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Since this command opens an editor in a new process, be careful about where
and how this is used.</p>
</div>
-<p id="footer">edit — npm@1.1.21</p>
+<p id="footer">edit — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>The first element in the 'args' parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
</div>
-<p id="footer">explore — npm@1.1.21</p>
+<p id="footer">explore — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>The silent parameter is not neccessary not used, but it may in the future.</p>
</div>
-<p id="footer">help-search — npm@1.1.21</p>
+<p id="footer">help-search — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p><a href="../doc/json.html">json(1)</a></p>
</div>
-<p id="footer">init — npm@1.1.21</p>
+<p id="footer">init — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Finally, 'callback' is a function that will be called when all packages have been
installed or when an error has been encountered.</p>
</div>
-<p id="footer">install — npm@1.1.21</p>
+<p id="footer">install — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Now, any changes to the redis package will be reflected in
the package in the current working directory</p>
</div>
-<p id="footer">link — npm@1.1.21</p>
+<p id="footer">link — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>For a list of all the available command-line configs, see <code>npm help config</code></p>
</div>
-<p id="footer">load — npm@1.1.21</p>
+<p id="footer">load — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
This means that if a submodule a same dependency as a parent module, then the
dependency will only be output once.</p>
</div>
-<p id="footer">ls — npm@1.1.21</p>
+<p id="footer">ls — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<h2 id="VERSION">VERSION</h2>
-<p>1.1.21</p>
+<p>1.1.23</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<pre><code>var cmd = npm.deref("unp") // cmd === "unpublish"</code></pre>
</div>
-<p id="footer">npm — npm@1.1.21</p>
+<p id="footer">npm — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>If the 'packages' parameter is left out, npm will check all packages.</p>
</div>
-<p id="footer">outdated — npm@1.1.21</p>
+<p id="footer">outdated — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">owner — npm@1.1.21</p>
+<p id="footer">owner — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>If no arguments are supplied, then npm packs the current package folder.</p>
</div>
-<p id="footer">pack — npm@1.1.21</p>
+<p id="footer">pack — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>This function is not useful programmatically</p>
</div>
-<p id="footer">prefix — npm@1.1.21</p>
+<p id="footer">prefix — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Extraneous packages are packages that are not listed on the parent
package's dependencies list.</p>
</div>
-<p id="footer">prune — npm@1.1.21</p>
+<p id="footer">prune — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../api/owner.html">owner(3)</a></li></ul>
</div>
-<p id="footer">publish — npm@1.1.21</p>
+<p id="footer">publish — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>See <code>npm help build</code></p>
</div>
-<p id="footer">rebuild — npm@1.1.21</p>
+<p id="footer">rebuild — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
</div>
-<p id="footer">restart — npm@1.1.21</p>
+<p id="footer">restart — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>This function is not useful programmatically.</p>
</div>
-<p id="footer">root — npm@1.1.21</p>
+<p id="footer">root — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../api/test.html">test(3)</a></li><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/restart.html">restart(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
</div>
-<p id="footer">run-script — npm@1.1.21</p>
+<p id="footer">run-script — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
and doesn't try to read your mind (it doesn't do any verb tense matching or the
like).</p>
</div>
-<p id="footer">search — npm@1.1.21</p>
+<p id="footer">search — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Finally, 'callback' is a function that will be called when the shrinkwrap has
been saved.</p>
</div>
-<p id="footer">shrinkwrap — npm@1.1.21</p>
+<p id="footer">shrinkwrap — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">start — npm@1.1.21</p>
+<p id="footer">start — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>npm can run stop on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">stop — npm@1.1.21</p>
+<p id="footer">stop — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li>npm help json</li><li>git help submodule</li></ul>
</div>
-<p id="footer">submodule — npm@1.1.21</p>
+<p id="footer">submodule — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
used. For more information about how to set this config, check
<code>man 3 npm-config</code> for programmatic usage or <code>man npm-config</code> for cli usage.</p>
</div>
-<p id="footer">tag — npm@1.1.21</p>
+<p id="footer">tag — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">test — npm@1.1.21</p>
+<p id="footer">test — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>Finally, 'callback' is a function that will be called when all packages have been
uninstalled or when an error has been encountered.</p>
</div>
-<p id="footer">uninstall — npm@1.1.21</p>
+<p id="footer">uninstall — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>If no version is specified, or if all versions are removed then
the root package entry is removed from the registry entirely.</p>
</div>
-<p id="footer">unpublish — npm@1.1.21</p>
+<p id="footer">unpublish — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>The 'packages' argument is an array of packages to update. The 'callback' parameter will be called when done or when an error occurs.</p>
</div>
-<p id="footer">update — npm@1.1.21</p>
+<p id="footer">update — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
parameter. The difference, however, is this function will fail if it does
not have exactly one element. The only element should be a version number.</p>
</div>
-<p id="footer">version — npm@1.1.21</p>
+<p id="footer">version — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>corresponding to the list of fields selected.</p>
</div>
-<p id="footer">view — npm@1.1.21</p>
+<p id="footer">view — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p>This function is not useful programmatically</p>
</div>
-<p id="footer">whoami — npm@1.1.21</p>
+<p id="footer">whoami — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer"><a href="../doc/README.html">README</a> — npm@1.1.21</p>
+<p id="footer"><a href="../doc/README.html">README</a> — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li></ul>
</div>
-<p id="footer">adduser — npm@1.1.21</p>
+<p id="footer">adduser — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">bin — npm@1.1.21</p>
+<p id="footer">bin — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/docs.html">docs(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">bugs — npm@1.1.21</p>
+<p id="footer">bugs — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">build — npm@1.1.21</p>
+<p id="footer">build — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">bundle — npm@1.1.21</p>
+<p id="footer">bundle — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li></ul>
</div>
-<p id="footer">cache — npm@1.1.21</p>
+<p id="footer">cache — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li></ul>
</div>
-<p id="footer">changelog — npm@1.1.21</p>
+<p id="footer">changelog — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">coding-style — npm@1.1.21</p>
+<p id="footer">coding-style — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">completion — npm@1.1.21</p>
+<p id="footer">completion — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">config — npm@1.1.21</p>
+<p id="footer">config — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">deprecate — npm@1.1.21</p>
+<p id="footer">deprecate — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">developers — npm@1.1.21</p>
+<p id="footer">developers — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
</div>
-<p id="footer">disputes — npm@1.1.21</p>
+<p id="footer">disputes — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">docs — npm@1.1.21</p>
+<p id="footer">docs — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/explore.html">explore(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">edit — npm@1.1.21</p>
+<p id="footer">edit — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/submodule.html">submodule(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/edit.html">edit(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">explore — npm@1.1.21</p>
+<p id="footer">explore — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
</div>
-<p id="footer">faq — npm@1.1.21</p>
+<p id="footer">faq — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li></ul>
</div>
-<p id="footer">folders — npm@1.1.21</p>
+<p id="footer">folders — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li></ul>
</div>
-<p id="footer">help-search — npm@1.1.21</p>
+<p id="footer">help-search — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/help-search.html">help-search(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer">help — npm@1.1.21</p>
+<p id="footer">help — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<p> Display npm username</p>
</div>
-<p id="footer">index — npm@1.1.21</p>
+<p id="footer">index — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
</div>
-<p id="footer">init — npm@1.1.21</p>
+<p id="footer">init — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul>
</div>
-<p id="footer">install — npm@1.1.21</p>
+<p id="footer">install — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/semver.html">semver(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/version.html">version(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li></ul>
</div>
-<p id="footer">json — npm@1.1.21</p>
+<p id="footer">json — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">link — npm@1.1.21</p>
+<p id="footer">link — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/update.html">update(1)</a></li></ul>
</div>
-<p id="footer">list — npm@1.1.21</p>
+<p id="footer">list — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<h2 id="VERSION">VERSION</h2>
-<p>1.1.21</p>
+<p>1.1.23</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
-<p id="footer">npm — npm@1.1.21</p>
+<p id="footer">npm — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
</div>
-<p id="footer">outdated — npm@1.1.21</p>
+<p id="footer">outdated — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
</div>
-<p id="footer">owner — npm@1.1.21</p>
+<p id="footer">owner — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">pack — npm@1.1.21</p>
+<p id="footer">pack — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">prefix — npm@1.1.21</p>
+<p id="footer">prefix — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">prune — npm@1.1.21</p>
+<p id="footer">prune — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li></ul>
</div>
-<p id="footer">publish — npm@1.1.21</p>
+<p id="footer">publish — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">rebuild — npm@1.1.21</p>
+<p id="footer">rebuild — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
</div>
-<p id="footer">registry — npm@1.1.21</p>
+<p id="footer">registry — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/README.html">README</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li></ul>
</div>
-<p id="footer">removing-npm — npm@1.1.21</p>
+<p id="footer">removing-npm — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">restart — npm@1.1.21</p>
+<p id="footer">restart — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">root — npm@1.1.21</p>
+<p id="footer">root — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">run-script — npm@1.1.21</p>
+<p id="footer">run-script — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">scripts — npm@1.1.21</p>
+<p id="footer">scripts — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/view.html">view(1)</a></li></ul>
</div>
-<p id="footer">search — npm@1.1.21</p>
+<p id="footer">search — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">semver — npm@1.1.21</p>
+<p id="footer">semver — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">shrinkwrap — npm@1.1.21</p>
+<p id="footer">shrinkwrap — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
</div>
-<p id="footer">star — npm@1.1.21</p>
+<p id="footer">star — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">start — npm@1.1.21</p>
+<p id="footer">start — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li></ul>
</div>
-<p id="footer">stop — npm@1.1.21</p>
+<p id="footer">stop — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/json.html">json(1)</a></li><li>git help submodule</li></ul>
</div>
-<p id="footer">submodule — npm@1.1.21</p>
+<p id="footer">submodule — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">tag — npm@1.1.21</p>
+<p id="footer">tag — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">test — npm@1.1.21</p>
+<p id="footer">test — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">uninstall — npm@1.1.21</p>
+<p id="footer">uninstall — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
</div>
-<p id="footer">unpublish — npm@1.1.21</p>
+<p id="footer">unpublish — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">update — npm@1.1.21</p>
+<p id="footer">update — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/semver.html">semver(1)</a></li></ul>
</div>
-<p id="footer">version — npm@1.1.21</p>
+<p id="footer">version — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/search.html">search(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/docs.html">docs(1)</a></li></ul>
</div>
-<p id="footer">view — npm@1.1.21</p>
+<p id="footer">view — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
</div>
-<p id="footer">whoami — npm@1.1.21</p>
+<p id="footer">whoami — npm@1.1.23</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
var co = parsed.hash && parsed.hash.substr(1) || "master"
u = u.replace(/^git\+/, "")
.replace(/#.*$/, "")
- .replace(/^ssh:\/\//, "") // ssh is the default anyway
log.verbose([u, co], "addRemoteGit")
var tmp = path.join(npm.tmp, Date.now()+"-"+Math.random())
put("/"+pkg+"/-rev/"+data._rev, data, function (er, data) {
if (er) return log.er(cb, "Failed to update package metadata")(er)
if (data.error) return cb(new Error(
- "Failed to update pacakge metadata: "+JSON.stringify(data)))
+ "Failed to update package metadata: "+JSON.stringify(data)))
cb(null, data)
})
})
// if it's a local folder, then run the prepublish there, first.
readJson(path.resolve(arg, "package.json"), function (er, data) {
// error is ok. could be publishing a url or tarball
+ // however, that means that we will not have automatically run
+ // the prepublish script, since that gets run when adding a folder
+ // to the cache.
if (er) return cacheAddPublish(arg, false, isRetry, cb)
- lifecycle(data, "prepublish", arg, function (er) {
- if (er) return cb(er)
- cacheAddPublish(arg, true, isRetry, cb)
- })
+
+ cacheAddPublish(arg, true, isRetry, cb)
})
}
if (packageLifecycle) {
// define this here so it's available to all scripts.
env.npm_lifecycle_script = pkg.scripts[stage]
+ // if the command is "node-gyp <args>", then call ours instead.
+ try {
+ var ourGyp = require.resolve("node-gyp/bin/node-gyp.js")
+ } catch (er) {
+ return cb(new Error("No gyp installed with npm"))
+ }
+ var gyp = path.execPath + " " + JSON.stringify(ourGyp)
+ pkg.scripts[stage] = pkg.scripts[stage].replace(/^node-gyp( |$)/, gyp)
}
if (failOk) {
, zlib = require("zlib")
, fstream = require("fstream")
, Packer = require("fstream-npm")
+ , lifecycle = require("./lifecycle.js")
if (process.env.SUDO_UID && myUid === 0) {
if (!isNaN(process.env.SUDO_UID)) myUid = +process.env.SUDO_UID
function pack (targetTarball, folder, pkg, dfc, cb) {
log.verbose([targetTarball, folder], "tar.pack")
- if (typeof cb !== "function") cb = dfc, dfc = true
+ if (typeof cb !== "function") cb = dfc, dfc = false
log.verbose(targetTarball, "tarball")
log.verbose(folder, "folder")
+
+ if (dfc) {
+ // do fancy crap
+ return lifecycle(pkg, 'prepublish', folder, function (er) {
+ if (er) return cb(er)
+ pack_(targetTarball, folder, pkg, cb)
+ })
+ } else {
+ pack_(targetTarball, folder, pkg, cb)
+ }
+}
+
+function pack_ (targetTarball, folder, pkg, cb) {
new Packer({ path: folder, type: "Directory", isDirectory: true })
.on("error", log.er(cb, "error reading "+folder))
.fi
.
.SH "VERSION"
-1.1.21
+1.1.23
.
.SH "DESCRIPTION"
npm is the package manager for the Node JavaScript platform\. It puts
.fi
.
.SH "VERSION"
-1.1.21
+1.1.23
.
.SH "DESCRIPTION"
This is the API documentation for npm\.
* On Windows:
* [Python][windows-python] ([`v2.7.2`][windows-python-v2.7.2] recommended, `v3.x.x` not yet supported)
* Microsoft Visual C++ ([Express][msvc] version works well)
+ * For 64-bit builds of node and native modules you will _also_ need the [Windows 7 64-bit SDK][win7sdk]
How to Use
----------
```
Now you have your compiled `.node` bindings file! The compiled bindings end up
-in `build/Debug/` or `buld/Release/`, depending on the build mode. At this point
+in `build/Debug/` or `build/Release/`, depending on the build mode. At this point
you can require the `.node` file with Node and run your tests!
__Note:__ To create a _Debug_ build of the bindings file, pass the `--debug` (or
[windows-python]: http://www.python.org/getit/windows
[windows-python-v2.7.2]: http://www.python.org/download/releases/2.7.2#download
[msvc]: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
+[win7sdk]: http://www.microsoft.com/download/en/details.aspx?displayLang=en&id=8279
, which = require('which')
, mkdirp = require('./util/mkdirp')
, win = process.platform == 'win32'
+ , openbsd = process.platform == 'openbsd'
exports.usage = 'Invokes `' + (win ? 'msbuild' : 'make') + '` and builds the module'
function build (gyp, argv, callback) {
gyp.verbose('build args', argv)
- var command = win ? 'msbuild' : 'make'
+ var makeCommand = openbsd ? 'gmake' : 'make'
+ var command = win ? 'msbuild' : makeCommand
, buildDir = path.resolve('build')
, configPath = path.resolve(buildDir, 'config.gypi')
, buildType
, config
, arch
- , version
+ , nodeDir
+ , copyDevLib
loadConfigGypi()
}
config = JSON.parse(data.replace(/\#.+\n/, ''))
- // get the 'arch', 'buildType', and 'version' vars from the config
+ // get the 'arch', 'buildType', and 'nodeDir' vars from the config
buildType = config.target_defaults.default_configuration
arch = config.variables.target_arch
- version = config.variables.target_version
+ nodeDir = config.variables.nodedir
+ copyDevLib = config.variables.copy_dev_lib == 'true'
if ('debug' in gyp.opts) {
buildType = gyp.opts.debug ? 'Debug' : 'Release'
gyp.verbose('build type:', buildType)
gyp.verbose('architecture:', arch)
- gyp.verbose('node version:', version)
+ gyp.verbose('node dev dir:', nodeDir)
if (win) {
findSolutionFile()
*/
function copyNodeLib () {
- if (!win) return doBuild()
+ if (!win || !copyDevLib) return doBuild()
- var devDir = path.resolve(gyp.devDir, version)
- , buildDir = path.resolve(devDir, buildType)
- , archNodeLibPath = path.resolve(devDir, arch, 'node.lib')
+ var buildDir = path.resolve(nodeDir, buildType)
+ , archNodeLibPath = path.resolve(nodeDir, arch, 'node.lib')
, buildNodeLibPath = path.resolve(buildDir, 'node.lib')
mkdirp(buildDir, function (err, isNew) {
var python = process.env.PYTHON || gyp.opts.python || 'python'
, buildDir = path.resolve('build')
, configPath
- , versionStr
- , version
+ , nodeDir
checkPython()
// Make sure that Python is in the $PATH
function checkPython () {
+ gyp.verbose('checking for Python executable "' + python + '" in the PATH')
which(python, function (err, execPath) {
if (err) {
if (win) {
return
}
gyp.verbose('`which` succeeded for `' + python + '`', execPath)
- getTargetVersion()
+ // TODO: ensure compatible Python version
+ getNodeDir()
})
}
return
}
python = pythonPath
- getTargetVersion()
+ getNodeDir()
})
}
function failNoPython () {
- callback(new Error('Can\'t find Python, you can set the PYTHON env variable.'))
+ callback(new Error('Can\'t find Python executable "' + python
+ + '", you can set the PYTHON env variable.'))
}
- function getTargetVersion () {
+ function getNodeDir () {
// 'python' should be set by now
process.env.PYTHON = python
- if (gyp.opts.target) {
- // if --target was given, then ensure that version is installed
- versionStr = gyp.opts.target
- gyp.verbose('compiling against --target node version', versionStr)
+ if (gyp.opts.nodedir) {
+ // --nodedir was specified. use that for the dev files
+ nodeDir = gyp.opts.nodedir
+
+ // simple ~ homedir expansion based on https://github.com/joyent/node/issues/2857
+ if (win) {
+ nodeDir = nodeDir.replace(/^~/, process.env.USERPROFILE)
+ } else {
+ nodeDir = nodeDir.replace(/^~/, process.env.HOME)
+ }
+
+ gyp.verbose('compiling against specified --nodedir dev files', nodeDir)
+ createBuildDir()
+
} else {
- // if no --target was specified then use the current host node version
- versionStr = process.version
- gyp.verbose('no --target version specified, falling back to host node version', versionStr)
- }
- version = semver.parse(versionStr)
- if (!version) {
- return callback(new Error('Invalid version number: ' + versionStr))
+ // if no --nodedir specified, ensure node dependencies are installed
+ var version
+ var versionStr
+
+ if (gyp.opts.target) {
+ // if --target was given, then determine a target version to compile for
+ versionStr = gyp.opts.target
+ gyp.verbose('compiling against --target node version', versionStr)
+ } else {
+ // if no --target was specified then use the current host node version
+ versionStr = process.version
+ gyp.verbose('no --target version specified, falling back to host node version', versionStr)
+ }
+
+ // make sure we have a valid version
+ version = semver.parse(versionStr)
+ if (!version) {
+ return callback(new Error('Invalid version number: ' + versionStr))
+ }
+
+ // ensure that the target node version's dev files are installed
+ gyp.opts.ensure = true
+ gyp.commands.install([ versionStr ], function (err, version) {
+ if (err) return callback(err)
+ gyp.verbose('target node version installed:', version)
+ nodeDir = path.resolve(gyp.devDir, version)
+ createBuildDir()
+ })
}
- gyp.opts.ensure = true
- gyp.commands.install([ versionStr ], function (err, _version) {
- if (err) return callback(err)
- version = _version
- gyp.verbose('setting target version to:', version)
- createBuildDir()
- })
}
function createBuildDir () {
// set the target_arch variable
variables.target_arch = gyp.opts.arch || process.arch || 'ia32'
- // also set the target_version variable
- variables.target_version = version
+ // set the node development directory
+ variables.nodedir = nodeDir
+
+ // don't copy dev libraries with nodedir option
+ variables.copy_dev_lib = !gyp.opts.nodedir
// loop through the rest of the opts and add the unknown ones as variables.
// this allows for module-specific configure flags like:
function runGypAddon (err) {
if (err) return callback(err)
- // location of the `gyp_addon` python script for the target node version
- var gyp_addon = path.resolve(gyp.devDir, version, 'tools', 'gyp_addon')
+ // location of the `gyp_addon` python script for the target nodedir
+ var gyp_addon = path.resolve(nodeDir, 'tools', 'gyp_addon')
if (!~argv.indexOf('-f') && !~argv.indexOf('--format')) {
if (win) {
// enforce use of the "binding.gyp" file
argv.unshift('binding.gyp')
- // execute `gyp_addon` from the current target node version
+ // execute `gyp_addon` from the current target nodedir
argv.unshift(gyp_addon)
var cp = gyp.spawn(python, argv)
proto.configDefs = {
help: Boolean // everywhere
, arch: String // 'configure'
+ , debug: Boolean // 'build'
, directory: String // bin
, msvs_version: String // 'configure'
- , debug: Boolean // 'build'
, ensure: Boolean // 'install'
, verbose: Boolean // everywhere
, solution: String // 'build' (windows only)
, proxy: String // 'install'
+ , nodedir: String // 'configure'
}
/**
proto.shorthands = {
release: '--no-debug'
, C: '--directory'
+ , d: '--debug'
}
/**
"dependencies": {},
"optionalDependencies": {},
"_engineSupported": true,
- "_npmVersion": "1.1.16",
- "_nodeVersion": "v0.7.8-pre",
+ "_npmVersion": "1.1.21",
+ "_nodeVersion": "v0.7.9-pre",
"_defaultsLoaded": true,
+ "dist": {
+ "shasum": "1bbdab47714665c8484fb62da53f4553c6baec73"
+ },
"_from": "ansi@0.0.x"
}
"_id": "glob@3.1.9",
"optionalDependencies": {},
"_engineSupported": true,
- "_npmVersion": "1.1.16",
- "_nodeVersion": "v0.7.8-pre",
+ "_npmVersion": "1.1.21",
+ "_nodeVersion": "v0.7.9-pre",
"_defaultsLoaded": true,
+ "dist": {
+ "shasum": "a81b5dd6244b74b277cc1e825f25ebc511854525"
+ },
"_from": "glob@3"
}
"bindings",
"gyp"
],
- "version": "0.4.1",
+ "version": "0.4.3",
"installVersion": 7,
"author": {
"name": "Nathan Rajlich",
"name": "isaacs",
"email": "i@izs.me"
},
- "_id": "node-gyp@0.4.1",
+ "_id": "node-gyp@0.4.3",
"devDependencies": {},
"optionalDependencies": {},
"_engineSupported": true,
- "_npmVersion": "1.1.16",
- "_nodeVersion": "v0.7.8-pre",
+ "_npmVersion": "1.1.21",
+ "_nodeVersion": "v0.7.9-pre",
"_defaultsLoaded": true,
"dist": {
- "shasum": "05a017b115527b63fdec1321d0b5888bc5d7b04f"
+ "shasum": "8d45b9b77800f40f27a6445d01d99161942d9b36"
},
- "_from": "node-gyp@latest"
+ "_from": "node-gyp@~0.4.1"
}
-{ "name" : "semver"
-, "version" : "1.0.13"
-, "description" : "The semantic version parser used by npm."
-, "main" : "semver.js"
-, "scripts" : { "test" : "tap test.js" }
-, "devDependencies": { "tap" : "0.x >=0.0.4" }
-, "license" :
- { "type" : "MIT"
- , "url" : "https://github.com/isaacs/semver/raw/master/LICENSE" }
-, "repository" : "git://github.com/isaacs/node-semver.git"
-, "bin" : { "semver" : "./bin/semver" } }
+{
+ "name": "semver",
+ "version": "1.0.14",
+ "description": "The semantic version parser used by npm.",
+ "main": "semver.js",
+ "scripts": {
+ "test": "tap test.js"
+ },
+ "devDependencies": {
+ "tap": "0.x >=0.0.4"
+ },
+ "license": {
+ "type": "MIT",
+ "url": "https://github.com/isaacs/semver/raw/master/LICENSE"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-semver.git"
+ },
+ "bin": {
+ "semver": "./bin/semver"
+ },
+ "_npmUser": {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ "_id": "semver@1.0.14",
+ "dependencies": {},
+ "optionalDependencies": {},
+ "engines": {
+ "node": "*"
+ },
+ "_engineSupported": true,
+ "_npmVersion": "1.1.22",
+ "_nodeVersion": "v0.7.9",
+ "_defaultsLoaded": true,
+ "_from": "semver@1"
+}
+ "(?:\\.([0-9]+|x|X|\\*)"
+ "(?:\\.([0-9]+|x|X|\\*)"
+ "([a-zA-Z-][a-zA-Z0-9-\.:]*)?)?)?"
- , xRange = "((?:<|>)?=?)?\\s*" + xRangePlain
+ , xRange = "((?:<|>)=?)?\\s*" + xRangePlain
, exprSpermy = "(?:~>?)"+xRange
, expressions = exports.expressions =
{ parse : new RegExp("^\\s*"+semver+"\\s*$")
"install",
"package.json"
],
- "version": "1.1.21",
+ "version": "1.1.23",
"preferGlobal": true,
"config": {
"publishtest": false
"main": "./lib/npm.js",
"bin": "./bin/npm-cli.js",
"dependencies": {
- "semver": "1",
+ "semver": "~1.0.14",
"ini": "1",
"slide": "1",
"abbrev": "1",