mirror of
https://github.com/nodejs/node-v0.x-archive.git
synced 2026-04-28 03:01:10 -04:00
Compare commits
97 Commits
fix-api-do
...
v0.11.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4babd2b46e | ||
|
|
42b8682a51 | ||
|
|
0a4ebc3d2c | ||
|
|
223607c90f | ||
|
|
0bccb341c4 | ||
|
|
8e190bf6a1 | ||
|
|
39dfe94682 | ||
|
|
f044a6f3fa | ||
|
|
c7d7072e60 | ||
|
|
9f682265d6 | ||
|
|
951e0b69fa | ||
|
|
6717fdccb4 | ||
|
|
dc9f97b7b9 | ||
|
|
bb56489f21 | ||
|
|
5909a9c9bd | ||
|
|
62e4f89765 | ||
|
|
31d0d5af8e | ||
|
|
38149bb048 | ||
|
|
881ef7cc5f | ||
|
|
17a379ec39 | ||
|
|
061151c5f5 | ||
|
|
259839fe75 | ||
|
|
f83afd3c74 | ||
|
|
8428b52e25 | ||
|
|
deda899d77 | ||
|
|
33fae69779 | ||
|
|
591cfe6b7b | ||
|
|
c9850952c9 | ||
|
|
798d1772c0 | ||
|
|
62a214268a | ||
|
|
a2fd657b10 | ||
|
|
7357bcb727 | ||
|
|
587e83c6d6 | ||
|
|
1fd95b57bf | ||
|
|
2c9a38d059 | ||
|
|
b9655fc758 | ||
|
|
d8852aa9e8 | ||
|
|
b3a8e0da4a | ||
|
|
889fec3cc8 | ||
|
|
840a29fc0f | ||
|
|
9b8dd39553 | ||
|
|
aa5da48594 | ||
|
|
7634069614 | ||
|
|
fe7440ce19 | ||
|
|
2093e7d91a | ||
|
|
3f091c7293 | ||
|
|
87f9ece334 | ||
|
|
74ef949072 | ||
|
|
46da8c2da6 | ||
|
|
caacc19e44 | ||
|
|
bce38b3d74 | ||
|
|
9100dd4b0f | ||
|
|
97c70a6628 | ||
|
|
120e5a24df | ||
|
|
1f55704718 | ||
|
|
8548920969 | ||
|
|
2eb847849f | ||
|
|
ccda6bb3ac | ||
|
|
d20576165a | ||
|
|
1a65154d72 | ||
|
|
51f128d64b | ||
|
|
648a0726d0 | ||
|
|
9430ca6865 | ||
|
|
f7ebb4d8b6 | ||
|
|
2f88272ba2 | ||
|
|
f150d56915 | ||
|
|
40b1c9a66d | ||
|
|
ad819bcc4b | ||
|
|
dc29d64983 | ||
|
|
f65e14ed1d | ||
|
|
da4d79ac47 | ||
|
|
88217ec276 | ||
|
|
d9036a5d35 | ||
|
|
425163e0d6 | ||
|
|
3375bd8db7 | ||
|
|
3cb5bf1c0d | ||
|
|
831af97df2 | ||
|
|
8bffa333d2 | ||
|
|
0bba590283 | ||
|
|
06bec0e087 | ||
|
|
83261e789e | ||
|
|
a05f973f82 | ||
|
|
14a8fb8bbe | ||
|
|
94284e7d2e | ||
|
|
c0721bcd66 | ||
|
|
5eacdd4bf9 | ||
|
|
5e140b33e5 | ||
|
|
5917828622 | ||
|
|
26dae9a22a | ||
|
|
3288bc9532 | ||
|
|
68487a73f2 | ||
|
|
7845918227 | ||
|
|
83d17e509f | ||
|
|
a15cc93ae3 | ||
|
|
66280de133 | ||
|
|
da8b0eefde | ||
|
|
43c1830e0a |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -15,7 +15,6 @@ node_g
|
||||
.benchmark_reports
|
||||
/.project
|
||||
/.cproject
|
||||
icu_config.gypi
|
||||
|
||||
/out
|
||||
|
||||
@@ -55,9 +54,6 @@ deps/openssl/openssl.xml
|
||||
|
||||
# build/release artifacts
|
||||
/*.tar.gz
|
||||
/SHASUMS*.txt*
|
||||
/SHASUMS.txt*
|
||||
|
||||
/tools/wrk/wrk
|
||||
|
||||
# test artifacts
|
||||
tools/faketime
|
||||
|
||||
94
AUTHORS
94
AUTHORS
@@ -431,102 +431,16 @@ JeongHoon Byun <outsideris@gmail.com>
|
||||
Iskren Ivov Chernev <iskren.chernev@gmail.com>
|
||||
Alexey Kupershtokh <alexey.kupershtokh@gmail.com>
|
||||
Benjamin Ruston <benjy.ruston@gmail.com>
|
||||
Manav Rathi <manav.r@directi.com>
|
||||
Marcin Kostrzewa <marcinkostrzewa@yahoo.com>
|
||||
Suwon Chae <doortts@gmail.com>
|
||||
Mitar Milutinovic <mitar.git@tnode.com>
|
||||
Michael Hart <michael.hart.au@gmail.com>
|
||||
Andrew Hart <hartandrewr@gmail.com>
|
||||
Rafael Garcia <rgarcia2009@gmail.com>
|
||||
Tobias Müllerleile <tobias@muellerleile.net>
|
||||
David Braun <NodeJS-box@snkmail.com>
|
||||
Stanislav Ochotnicky <sochotnicky@redhat.com>
|
||||
Ryan Graham <r.m.graham@gmail.com>
|
||||
Kelly Gerber <kellygerber22@yahoo.com>
|
||||
Ryan Doenges <rhdoenges@gmail.com>
|
||||
Sean Silva <chisophugis@gmail.com>
|
||||
Miroslav Bajtoš <miro.bajtos@gmail.com>
|
||||
Sam Roberts <vieuxtech@gmail.com>
|
||||
Kevin Locke <kevin@kevinlocke.name>
|
||||
Daniel Moore <polaris@northhorizon.net>
|
||||
Robert Kowalski <rok@kowalski.gd>
|
||||
Benoit Vallée <github@benoitvallee.net>
|
||||
Ryuichi Okumura <okuryu@okuryu.com>
|
||||
Brandon Frohs <bfrohs@gmail.com>
|
||||
Nathan Zadoks <nathan@nathan7.eu>
|
||||
Rafael Henrique Moreira <rafadev7@gmail.com>
|
||||
Daniel G. Taylor <dan@programmer-art.org>
|
||||
Kiyoshi Nomo <tokyoincidents.g@gmail.com>
|
||||
Veres Lajos <vlajos@gmail.com>
|
||||
Yuan Chuan <yuanchuan23@gmail.com>
|
||||
Peter Rust <peter@cornerstonenw.com>
|
||||
Shuan Wang <shuanwang@gmail.com>
|
||||
Andrew Chilton <andychilton@gmail.com>
|
||||
Wyatt Preul <wpreul@gmail.com>
|
||||
Forrest L Norvell <ogd@aoaioxxysz.net>
|
||||
Eran Hammer <eran@hueniverse.com>
|
||||
Daniel Chatfield <chatfielddaniel@gmail.com>
|
||||
Eivind Uggedal <eivind@uggedal.com>
|
||||
Edward Hutchins <eahutchins@gmail.com>
|
||||
Chris Wren <cthewren@gmail.com>
|
||||
Duan Yao <duanyao@ustc.edu>
|
||||
Eric Schrock <Eric.Schrock@delphix.com>
|
||||
Zarko Stankovic <stankovic.zarko@gmail.com>
|
||||
Maxim Bogushevich <boga1@mail.ru>
|
||||
Phillip Alexander <git@phillipalexander.io>
|
||||
Tim Wood <washwithcare@gmail.com>
|
||||
Linus Unnebäck <linus@folkdatorn.se>
|
||||
Nikolai Vavilov <vvnicholas@gmail.com>
|
||||
Michael Ridgway <mcridgway@gmail.com>
|
||||
Yazhong Liu <yorkiefixer@gmail.com>
|
||||
Gabriel Falkenberg <gabriel.falkenberg@gmail.com>
|
||||
Kai Groner <kai@gronr.com>
|
||||
Gabriel Farrell <g@grrawr.com>
|
||||
Nicolas Kaiser <nikai@nikai.net>
|
||||
Lev Gimelfarb <lev.gimelfarb@gmail.com>
|
||||
Dav Glass <davglass@gmail.com>
|
||||
ayanamist <contact@ayanamist.com>
|
||||
Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
|
||||
Brandon Cheng <bcheng.gt@gmail.com>
|
||||
Alexis Campailla <alexis@janeasystems.com>
|
||||
Jun Ma <roammm@gmail.com>
|
||||
Maxime Quandalle <maxime.quandalle@gmail.com>
|
||||
Benjamin Waters <ben25890@gmail.com>
|
||||
Doron Pagot <doronpagot@gmail.com>
|
||||
Kenan Sulayman <kenan@sly.mn>
|
||||
Christian Schulz <me@rndm.de>
|
||||
Pedro Ballesteros <nitroduna@gmail.com>
|
||||
Anton Khlynovskiy <subzey@gmail.com>
|
||||
Nicolas Talle <dev@nicolab.net>
|
||||
Mike Pennisi <mike@mikepennisi.com>
|
||||
Greg Brail <greg@apigee.com>
|
||||
Shuhei Kagawa <shuhei.kagawa@gmail.com>
|
||||
Josh Dague <daguej@email.uc.edu>
|
||||
Goh Yisheng (Andrew) <mail.yisheng@gmail.com>
|
||||
William Bert <william@spanishdict.com>
|
||||
Greg Sabia Tucker <greg@narrowlabs.com>
|
||||
Calvin Metcalf <calvin.metcalf@gmail.com>
|
||||
cjihrig <cjihrig@gmail.com>
|
||||
Chris Barber <chris@cb1inc.com>
|
||||
Nick Apperson <apperson@gmail.com>
|
||||
Oguz Bastemur <obastemur@gmail.com>
|
||||
Maurice Butler <maurice.butler@gmail.com>
|
||||
Chris Dickinson <christopher.s.dickinson@gmail.com>
|
||||
Julien Gilli <julien.gilli@joyent.com>
|
||||
Jakob Gillich <jakob@gillich.me>
|
||||
James Halliday <mail@substack.net>
|
||||
Kevin Simper <kevin.simper@gmail.com>
|
||||
Jackson Tian <shyvo1987@gmail.com>
|
||||
Tristan Berger <tristan.berger@gmail.com>
|
||||
Mathias Schreck <schreck.mathias@googlemail.com>
|
||||
Matthew Fitzsimmons <matt@fitzage.com>
|
||||
Swaagie <info@martijnswaagman.nl>
|
||||
Emmanuel Odeke <emmanuel.odeke@cmgcanada.ca>
|
||||
Eric Mill <eric@konklone.com>
|
||||
Brendan Ashworth <squirrelslikeacorns@gmail.com>
|
||||
Alejandro Oviedo <alejandro.oviedo.g@gmail.com>
|
||||
pkcs <pkcs@gmx.com>
|
||||
Saúl Ibarra Corretgé <saghul@gmail.com>
|
||||
silverwind <silv3rwind@gmail.com>
|
||||
Steven R. Loomis <srl@icu-project.org>
|
||||
James M Snell <jasnell@gmail.com>
|
||||
Amir Saboury <amir.saboury@gmail.com>
|
||||
Florin-Cristian Gavrila <cristi_gavrila1@yahoo.com>
|
||||
Tyler Anton <mtyleranton@gmail.com>
|
||||
Jonas Dohse <jonas@dohse.ch>
|
||||
|
||||
@@ -91,8 +91,7 @@ nicely even when it is indented.
|
||||
The header line should be meaningful; it is what other people see when they
|
||||
run `git shortlog` or `git log --oneline`.
|
||||
|
||||
Check the output of `git log --oneline files_that_you_changed` to find out
|
||||
what subsystem (or subsystems) your changes touch.
|
||||
Have a look at `git log` for inspiration.
|
||||
|
||||
|
||||
### REBASE
|
||||
@@ -134,6 +133,12 @@ feature branch. Post a comment in the pull request afterwards; GitHub does
|
||||
not send out notifications when you add commits.
|
||||
|
||||
|
||||
### CONTRIBUTOR LICENSE AGREEMENT
|
||||
|
||||
Please visit http://nodejs.org/cla.html and sign the Contributor License
|
||||
Agreement. You only need to do that once.
|
||||
|
||||
|
||||
[stability index page]: https://github.com/joyent/node/blob/master/doc/api/documentation.markdown
|
||||
[issue tracker]: https://github.com/joyent/node/issues
|
||||
[node.js mailing list]: http://groups.google.com/group/nodejs
|
||||
|
||||
630
ChangeLog
630
ChangeLog
@@ -1,597 +1,66 @@
|
||||
2015.03.23, Version 0.10.38 (Maintenance)
|
||||
2013.04.19, Version 0.11.1 (Unstable)
|
||||
|
||||
* openssl: upgrade to 1.0.1m (Addressing multiple CVEs)
|
||||
* V8: upgrade to 3.18.0
|
||||
|
||||
* uv: Upgrade to v0.11.1
|
||||
|
||||
2015.03.11, Version 0.10.37 (Maintenance), 7d6b5b1d5ba726331f9ccaaae59af7cd53eee82e
|
||||
* http: split into multiple separate modules (Timothy J Fontaine)
|
||||
|
||||
* uv: update to 0.10.36 (CVE-2015-0278)
|
||||
* http: escape unsafe characters in request path (Ben Noordhuis)
|
||||
|
||||
* domains: fix stack clearing after error handled (Jonas Dohse)
|
||||
* url: Escape all unwise characters (isaacs)
|
||||
|
||||
* buffer: reword Buffer.concat error message (Chris Dickinson)
|
||||
* build: depend on v8 postmortem-metadata if enabled (Paddy Byers)
|
||||
|
||||
* console: allow Object.prototype fields as labels (Julien Gilli)
|
||||
* etw: update prototypes to match dtrace provider (Timothy J Fontaine)
|
||||
|
||||
* V8: log version in profiler log file (Ben Noordhuis)
|
||||
* buffer: change output of Buffer.prototype.toJSON() (David Braun)
|
||||
|
||||
* http: fix performance regression for GET requests (Florin-Cristian Gavrila)
|
||||
* dtrace: actually use the _handle.fd value (Timothy J Fontaine)
|
||||
|
||||
* dtrace: pass more arguments to probes (Dave Pacheco)
|
||||
|
||||
2015.01.26, Version 0.10.36 (Stable), 09b482886bdd3d863c3d4e7d71264eac0daaf9e1
|
||||
* build: allow building with dtrace on osx (Dave Pacheco)
|
||||
|
||||
* openssl: update to 1.0.1l
|
||||
* zlib: allow passing options to convenience methods (Kyle Robinson Young)
|
||||
|
||||
* v8: Fix debugger and strict mode regression (Julien Gilli)
|
||||
|
||||
* v8: don't busy loop in cpu profiler thread (Ben Noordhuis)
|
||||
2013.03.28, Version 0.11.0 (Unstable), bce38b3d74e64fcb7d04a2dd551151da6168cdc5
|
||||
|
||||
* V8: update to 3.17.13
|
||||
|
||||
2014.12.22, Version 0.10.35 (Stable), a363f61ca839e817eb6853c5dc5af8c3b9b9226b
|
||||
* os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
|
||||
|
||||
* tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson)
|
||||
* util: fix util.inspect() line width calculation (Marcin Kostrzewa)
|
||||
|
||||
* timers: don't close interval timers when unrefd (Julien Gilli)
|
||||
* buffer: remove _charsWritten (Trevor Norris)
|
||||
|
||||
* timers: don't mutate unref list while iterating it (Julien Gilli)
|
||||
* fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
|
||||
|
||||
* fs: Throw if error raised and missing callback (bnoordhuis)
|
||||
|
||||
2014.12.17, Version 0.10.34 (Stable), 52795f8fcc2de77cf997e671ea58614e5e425dfe
|
||||
* tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
|
||||
|
||||
* uv: update to v0.10.30
|
||||
* tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
|
||||
|
||||
* zlib: upgrade to v1.2.8
|
||||
* buffer: write ascii strings using WriteOneByte (Trevor Norris)
|
||||
|
||||
* child_process: check execFile args is an array (Sam Roberts)
|
||||
* dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
|
||||
|
||||
* child_process: check fork args is an array (Sam Roberts)
|
||||
* dtrace: x64 ustack helper (Fedor Indutny)
|
||||
|
||||
* crypto: update root certificates (Ben Noordhuis)
|
||||
* readline: handle wide characters properly (Nao Iizuka)
|
||||
|
||||
* domains: fix issues with abort on uncaught (Julien Gilli)
|
||||
* repl: Use a domain to catch async errors safely (isaacs)
|
||||
|
||||
* timers: Avoid linear scan in _unrefActive. (Julien Gilli)
|
||||
* repl: emit 'reset' event when context is reset (Sami Samhuri)
|
||||
|
||||
* timers: fix unref() memory leak (Trevor Norris)
|
||||
* util: custom `inspect()` method may return an Object (Nathan Rajlich)
|
||||
|
||||
* v8: add api for aborting on uncaught exception (Julien Gilli)
|
||||
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
|
||||
|
||||
* debugger: fix when using "use strict" (Julien Gilli)
|
||||
|
||||
|
||||
2014.10.20, Version 0.10.33 (Stable), 8d045a30e95602b443eb259a5021d33feb4df079
|
||||
|
||||
* openssl: Update to 1.0.1j (Addressing multiple CVEs)
|
||||
|
||||
* uv: Update to v0.10.29
|
||||
|
||||
* child_process: properly support optional args (cjihrig)
|
||||
|
||||
* crypto: Disable autonegotiation for SSLv2/3 by default (Fedor Indutny,
|
||||
Timothy J Fontaine, Alexis Campailla)
|
||||
|
||||
This is a behavior change, by default we will not allow the negotiation to
|
||||
SSLv2 or SSLv3. If you want this behavior, run Node.js with either
|
||||
`--enable-ssl2` or `--enable-ssl3` respectively.
|
||||
|
||||
This does not change the behavior for users specifically requesting
|
||||
`SSLv2_method` or `SSLv3_method`. While this behavior is not advised, it is
|
||||
assumed you know what you're doing since you're specifically asking to use
|
||||
these methods.
|
||||
|
||||
|
||||
2014.09.16, Version 0.10.32 (Stable), 0fe0d121551593c23a565db8397f85f17bb0f00e
|
||||
|
||||
* npm: Update to 1.4.28
|
||||
|
||||
* v8: fix a crash introduced by previous release (Fedor Indutny)
|
||||
|
||||
* configure: add --openssl-no-asm flag (Fedor Indutny)
|
||||
|
||||
* crypto: use domains for any callback-taking method (Chris Dickinson)
|
||||
|
||||
* http: do not send `0\r\n\r\n` in TE HEAD responses (Fedor Indutny)
|
||||
|
||||
* querystring: fix unescape override (Tristan Berger)
|
||||
|
||||
* url: Add support for RFC 3490 separators (Mathias Bynens)
|
||||
|
||||
|
||||
2014.08.19, Version 0.10.31 (Stable), 7fabdc23d843cb705d2d0739e7bbdaaf50aa3292
|
||||
|
||||
* v8: backport CVE-2013-6668
|
||||
|
||||
* openssl: Update to v1.0.1i
|
||||
|
||||
* npm: Update to v1.4.23
|
||||
|
||||
* cluster: disconnect should not be synchronous (Sam Roberts)
|
||||
|
||||
* fs: fix fs.readFileSync fd leak when get RangeError (Jackson Tian)
|
||||
|
||||
* stream: fix Readable.wrap objectMode falsy values (James Halliday)
|
||||
|
||||
* timers: fix timers with non-integer delay hanging. (Julien Gilli)
|
||||
|
||||
|
||||
2014.07.31, Version 0.10.30 (Stable), bc0ff830aff1e016163d855e86ded5c98b0899e8
|
||||
|
||||
* uv: Upgrade to v0.10.28
|
||||
|
||||
* npm: Upgrade to v1.4.21
|
||||
|
||||
* v8: Interrupts must not mask stack overflow.
|
||||
|
||||
* Revert "stream: start old-mode read in a next tick" (Fedor Indutny)
|
||||
|
||||
* buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny)
|
||||
|
||||
* buffer: improve {read,write}{U}Int* methods (Nick Apperson)
|
||||
|
||||
* child_process: handle writeUtf8String error (Fedor Indutny)
|
||||
|
||||
* deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny)
|
||||
|
||||
*
|
||||
|
||||
* lib: remove and restructure calls to isNaN() (cjihrig)
|
||||
|
||||
* module: eliminate double `getenv()` (Maciej Małecki)
|
||||
|
||||
* stream2: flush extant data on read of ended stream (Chris Dickinson)
|
||||
|
||||
* streams: remove unused require('assert') (Rod Vagg)
|
||||
|
||||
* timers: backport f8193ab (Julien Gilli)
|
||||
|
||||
* util.h: interface compatibility (Oguz Bastemur)
|
||||
|
||||
* zlib: do not crash on write after close (Fedor Indutny)
|
||||
|
||||
|
||||
2014.06.05, Version 0.10.29 (Stable), ce82d6b8474bde7ac7df6d425fb88fb1bcba35bc
|
||||
|
||||
* openssl: to 1.0.1h (CVE-2014-0224)
|
||||
|
||||
* npm: upgrade to 1.4.14
|
||||
|
||||
* utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer)
|
||||
- *NOTE* this introduces a breaking change, previously you could construct
|
||||
invalid UTF-8 and invoke an error in a client that was expecting valid
|
||||
UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8
|
||||
character. To restore the old functionality simply have NODE_INVALID_UTF8
|
||||
environment variable set.
|
||||
|
||||
* child_process: do not set args before throwing (Greg Sabia Tucker)
|
||||
|
||||
* child_process: spawn() does not throw TypeError (Greg Sabia Tucker)
|
||||
|
||||
* constants: export O_NONBLOCK (Fedor Indutny)
|
||||
|
||||
* crypto: improve memory usage (Alexis Campailla)
|
||||
|
||||
* fs: close file if fstat() fails in readFile() (cjihrig)
|
||||
|
||||
* lib: name EventEmitter prototype methods (Ben Noordhuis)
|
||||
|
||||
* tls: fix performance issue (Alexis Campailla)
|
||||
|
||||
|
||||
2014.05.01, Version 0.10.28 (Stable), b148cbe09d4657766fdb61575ba985734c2ff0a8
|
||||
|
||||
* npm: upgrade to v1.4.9
|
||||
|
||||
|
||||
2014.05.01, Version 0.10.27 (Stable), cb7911f78ae96ef7a540df992cc1359ba9636e86
|
||||
|
||||
* npm: upgrade to v1.4.8
|
||||
|
||||
* openssl: upgrade to 1.0.1g
|
||||
|
||||
* uv: update to v0.10.27
|
||||
|
||||
* dns: fix certain txt entries (Fedor Indutny)
|
||||
|
||||
* assert: Ensure reflexivity of deepEqual (Mike Pennisi)
|
||||
|
||||
* child_process: fix deadlock when sending handles (Fedor Indutny)
|
||||
|
||||
* child_process: fix sending handle twice (Fedor Indutny)
|
||||
|
||||
* crypto: do not lowercase cipher/hash names (Fedor Indutny)
|
||||
|
||||
* dtrace: workaround linker bug on FreeBSD (Fedor Indutny)
|
||||
|
||||
* http: do not emit EOF non-readable socket (Fedor Indutny)
|
||||
|
||||
* http: invoke createConnection when no agent (Nathan Rajlich)
|
||||
|
||||
* stream: remove useless check (Brian White)
|
||||
|
||||
* timer: don't reschedule timer bucket in a domain (Greg Brail)
|
||||
|
||||
* url: treat \ the same as / (isaacs)
|
||||
|
||||
* util: format as Error if instanceof Error (Rod Vagg)
|
||||
|
||||
|
||||
2014.02.18, Version 0.10.26 (Stable), cc56c62ed879ad4f93b1fdab3235c43e60f48b7e
|
||||
|
||||
* uv: Upgrade to v0.10.25 (Timothy J Fontaine)
|
||||
|
||||
* npm: upgrade to 1.4.3 (isaacs)
|
||||
|
||||
* v8: support compiling with VS2013 (Fedor Indutny)
|
||||
|
||||
* cares: backport TXT parsing fix (Fedor Indutny)
|
||||
|
||||
* crypto: throw on SignFinal failure (Fedor Indutny)
|
||||
|
||||
* crypto: update root certificates (Ben Noordhuis)
|
||||
|
||||
* debugger: Fix breakpoint not showing after restart (Farid Neshat)
|
||||
|
||||
* fs: make unwatchFile() insensitive to path (iamdoron)
|
||||
|
||||
* net: do not re-emit stream errors (Fedor Indutny)
|
||||
|
||||
* net: make Socket destroy() re-entrance safe (Jun Ma)
|
||||
|
||||
* net: reset `endEmitted` on reconnect (Fedor Indutny)
|
||||
|
||||
* node: do not close stdio implicitly (Fedor Indutny)
|
||||
|
||||
* zlib: avoid assertion in close (Fedor Indutny)
|
||||
|
||||
|
||||
2014.01.23, Version 0.10.25 (Stable), b0e5f195dfce3e2b99f5091373d49f6616682596
|
||||
|
||||
* uv: Upgrade to v0.10.23
|
||||
|
||||
* npm: Upgrade to v1.3.24
|
||||
|
||||
* v8: Fix enumeration for objects with lots of properties
|
||||
|
||||
* child_process: fix spawn() optional arguments (Sam Roberts)
|
||||
|
||||
* cluster: report more errors to workers (Fedor Indutny)
|
||||
|
||||
* domains: exit() only affects active domains (Ryan Graham)
|
||||
|
||||
* src: OnFatalError handler must abort() (Timothy J Fontaine)
|
||||
|
||||
* stream: writes may return false but forget to emit drain (Yang Tianyang)
|
||||
|
||||
|
||||
2013.12.18, Version 0.10.24 (Stable), b7fd6bc899ccb629d790c47aee06aba87e535c41
|
||||
|
||||
* uv: Upgrade to v0.10.21
|
||||
|
||||
* npm: upgrade to 1.3.21
|
||||
|
||||
* v8: backport fix for CVE-2013-{6639|6640}
|
||||
|
||||
* build: unix install node and dep library headers (Timothy J Fontaine)
|
||||
|
||||
* cluster, v8: fix --logfile=%p.log (Ben Noordhuis)
|
||||
|
||||
* module: only cache package main (Wyatt Preul)
|
||||
|
||||
|
||||
2013.12.12, Version 0.10.23 (Stable), 0462bc23564e7e950a70ae4577a840b04db6c7c6
|
||||
|
||||
* uv: Upgrade to v0.10.20 (Timothy J Fontaine)
|
||||
|
||||
* npm: Upgrade to 1.3.17 (isaacs)
|
||||
|
||||
* gyp: update to 78b26f7 (Timothy J Fontaine)
|
||||
|
||||
* build: include postmortem symbols on linux (Timothy J Fontaine)
|
||||
|
||||
* crypto: Make Decipher._flush() emit errors. (Kai Groner)
|
||||
|
||||
* dgram: fix abort when getting `fd` of closed dgram (Fedor Indutny)
|
||||
|
||||
* events: do not accept NaN in setMaxListeners (Fedor Indutny)
|
||||
|
||||
* events: avoid calling `once` functions twice (Tim Wood)
|
||||
|
||||
* events: fix TypeError in removeAllListeners (Jeremy Martin)
|
||||
|
||||
* fs: report correct path when EEXIST (Fedor Indutny)
|
||||
|
||||
* process: enforce allowed signals for kill (Sam Roberts)
|
||||
|
||||
* tls: emit 'end' on .receivedShutdown (Fedor Indutny)
|
||||
|
||||
* tls: fix potential data corruption (Fedor Indutny)
|
||||
|
||||
* tls: handle `ssl.start()` errors appropriately (Fedor Indutny)
|
||||
|
||||
* tls: reset NPN callbacks after SNI (Fedor Indutny)
|
||||
|
||||
|
||||
2013.11.12, Version 0.10.22 (Stable), cbff8f091c22fb1df6b238c7a1b9145db950fa65
|
||||
|
||||
* npm: Upgrade to 1.3.14
|
||||
|
||||
* uv: Upgrade to v0.10.19
|
||||
|
||||
* child_process: don't assert on stale file descriptor events (Fedor Indutny)
|
||||
|
||||
* darwin: Fix "Not Responding" in Mavericks activity monitor (Fedor Indutny)
|
||||
|
||||
* debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich)
|
||||
|
||||
* repl: do not insert duplicates into completions (Maciej Małecki)
|
||||
|
||||
* src: Fix memory leak on closed handles (Timothy J Fontaine)
|
||||
|
||||
* tls: prevent stalls by using read(0) (Fedor Indutny)
|
||||
|
||||
* v8: use correct timezone information on Solaris (Maciej Małecki)
|
||||
|
||||
|
||||
2013.10.18, Version 0.10.21 (Stable), e2da042844a830fafb8031f6c477eb4f96195210
|
||||
|
||||
* uv: Upgrade to v0.10.18
|
||||
|
||||
* crypto: clear errors from verify failure (Timothy J Fontaine)
|
||||
|
||||
* dtrace: interpret two byte strings (Dave Pacheco)
|
||||
|
||||
* fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis)
|
||||
|
||||
* http: provide backpressure for pipeline flood (isaacs)
|
||||
|
||||
* tls: fix premature connection termination (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.09.30, Version 0.10.20 (Stable), d7234c8d50a1af73f60d2d3c0cc7eed17429a481
|
||||
|
||||
* tls: fix sporadic hang and partial reads (Fedor Indutny)
|
||||
- fixes "npm ERR! cb() never called!"
|
||||
|
||||
|
||||
2013.09.24, Version 0.10.19 (Stable), 6b5e6a5a3ec8d994c9aab3b800b9edbf1b287904
|
||||
|
||||
* uv: Upgrade to v0.10.17
|
||||
|
||||
* npm: upgrade to 1.3.11
|
||||
|
||||
* readline: handle input starting with control chars (Eric Schrock)
|
||||
|
||||
* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)
|
||||
|
||||
* stream: objectMode transforms allow falsey values (isaacs)
|
||||
|
||||
* tls: prevent duplicate values returned from read (Nathan Rajlich)
|
||||
|
||||
* tls: NPN protocols are now local to connections (Fedor Indutny)
|
||||
|
||||
|
||||
2013.09.04, Version 0.10.18 (Stable), 67a1f0c52e0708e2596f3f2134b8386d6112561e
|
||||
|
||||
* uv: Upgrade to v0.10.15
|
||||
|
||||
* stream: Don't crash on unset _events property (isaacs)
|
||||
|
||||
* stream: Pass 'buffer' encoding with decoded writable chunks (isaacs)
|
||||
|
||||
|
||||
2013.08.21, Version 0.10.17 (Stable), 469a4a5091a677df62be319675056b869c31b35c
|
||||
|
||||
* uv: Upgrade v0.10.14
|
||||
|
||||
* http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson)
|
||||
|
||||
* tls: fix assertion when ssl is destroyed at read (Fedor Indutny)
|
||||
|
||||
* stream: Throw on 'error' if listeners removed (isaacs)
|
||||
|
||||
* dgram: fix assertion on bad send() arguments (Ben Noordhuis)
|
||||
|
||||
* readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
|
||||
|
||||
|
||||
2013.08.16, Version 0.10.16 (Stable), 50b4c905a4425430ae54db4906f88982309e128d
|
||||
|
||||
* v8: back-port fix for CVE-2013-2882
|
||||
|
||||
* npm: Upgrade to 1.3.8
|
||||
|
||||
* crypto: fix assert() on malformed hex input (Ben Noordhuis)
|
||||
|
||||
* crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
|
||||
|
||||
* events: fix memory leak, don't leak event names (Ben Noordhuis)
|
||||
|
||||
* http: Handle hex/base64 encodings properly (isaacs)
|
||||
|
||||
* http: improve chunked res.write(buf) performance (Ben Noordhuis)
|
||||
|
||||
* stream: Fix double pipe error emit (Eran Hammer)
|
||||
|
||||
|
||||
2013.07.25, Version 0.10.15 (Stable)
|
||||
|
||||
* src: fix process.getuid() return value (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.07.25, Version 0.10.14 (Stable), fdf57f811f9683a4ec49a74dc7226517e32e6c9d
|
||||
|
||||
* uv: Upgrade to v0.10.13
|
||||
|
||||
* npm: Upgrade to v1.3.5
|
||||
|
||||
* os: Don't report negative times in cpu info (Ben Noordhuis)
|
||||
|
||||
* fs: Handle large UID and GID (Ben Noordhuis)
|
||||
|
||||
* url: Fix edge-case when protocol is non-lowercase (Shuan Wang)
|
||||
|
||||
* doc: Streams API Doc Rewrite (isaacs)
|
||||
|
||||
* node: call MakeDomainCallback in all domain cases (Trevor Norris)
|
||||
|
||||
* crypto: fix memory leak in LoadPKCS12 (Fedor Indutny)
|
||||
|
||||
|
||||
2013.07.09, Version 0.10.13 (Stable), e32660a984427d46af6a144983cf7b8045b7299c
|
||||
|
||||
* uv: Upgrade to v0.10.12
|
||||
|
||||
* npm: Upgrade to 1.3.2
|
||||
|
||||
* windows: get proper errno (Ben Noordhuis)
|
||||
|
||||
* tls: only wait for finish if we haven't seen it (Timothy J Fontaine)
|
||||
|
||||
* http: Dump response when request is aborted (isaacs)
|
||||
|
||||
* http: use an unref'd timer to fix delay in exit (Peter Rust)
|
||||
|
||||
* zlib: level can be negative (Brian White)
|
||||
|
||||
* zlib: allow zero values for level and strategy (Brian White)
|
||||
|
||||
* buffer: add comment explaining buffer alignment (Ben Noordhuis)
|
||||
|
||||
* string_bytes: properly detect 64bit (Timothy J Fontaine)
|
||||
|
||||
* src: fix memory leak in UsingDomains() (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.06.18, Version 0.10.12 (Stable), a088cf4f930d3928c97d239adf950ab43e7794aa
|
||||
|
||||
* npm: Upgrade to 1.2.32
|
||||
|
||||
* readline: make `ctrl + L` clear the screen (Yuan Chuan)
|
||||
|
||||
* v8: add setVariableValue debugger command (Ben Noordhuis)
|
||||
|
||||
* net: Do not destroy socket mid-write (isaacs)
|
||||
|
||||
* v8: fix build for mips32r2 architecture (Andrei Sedoi)
|
||||
|
||||
* configure: fix cross-compilation host_arch_cc() (Andrei Sedoi)
|
||||
|
||||
|
||||
2013.06.13, Version 0.10.11 (Stable), d9d5bc465450ae5d60da32e9ffcf71c2767f1fad
|
||||
|
||||
* uv: upgrade to 0.10.11
|
||||
|
||||
* npm: Upgrade to 1.2.30
|
||||
|
||||
* openssl: add missing configuration pieces for MIPS (Andrei Sedoi)
|
||||
|
||||
* Revert "http: remove bodyHead from 'upgrade' events" (isaacs)
|
||||
|
||||
* v8: fix pointer arithmetic undefined behavior (Trevor Norris)
|
||||
|
||||
* crypto: fix utf8/utf-8 encoding check (Ben Noordhuis)
|
||||
|
||||
* net: Fix busy loop on POLLERR|POLLHUP on older linux kernels (Ben Noordhuis, isaacs)
|
||||
|
||||
|
||||
|
||||
2013.06.04, Version 0.10.10 (Stable), 25e51c396aa23018603baae2b1d9390f5d9db496
|
||||
|
||||
* uv: Upgrade to 0.10.10
|
||||
|
||||
* npm: Upgrade to 1.2.25
|
||||
|
||||
* url: Properly parse certain oddly formed urls (isaacs)
|
||||
|
||||
* stream: unshift('') is a noop (isaacs)
|
||||
|
||||
|
||||
2013.05.30, Version 0.10.9 (Stable), 878ffdbe6a8eac918ef3a7f13925681c3778060b
|
||||
|
||||
* npm: Upgrade to 1.2.24
|
||||
|
||||
* uv: Upgrade to v0.10.9
|
||||
|
||||
* repl: fix JSON.parse error check (Brian White)
|
||||
|
||||
* tls: proper .destroySoon (Fedor Indutny)
|
||||
|
||||
* tls: invoke write cb only after opposite read end (Fedor Indutny)
|
||||
|
||||
* tls: ignore .shutdown() syscall error (Fedor Indutny)
|
||||
|
||||
|
||||
2013.05.24, Version 0.10.8 (Stable), 30d9e9fdd9d4c33d3d95a129d021cd8b5b91eddb
|
||||
|
||||
* v8: update to 3.14.5.9
|
||||
|
||||
* uv: upgrade to 0.10.8
|
||||
|
||||
* npm: Upgrade to 1.2.23
|
||||
|
||||
* http: remove bodyHead from 'upgrade' events (Nathan Zadoks)
|
||||
|
||||
* http: Return true on empty writes, not false (isaacs)
|
||||
|
||||
* http: save roundtrips, convert buffers to strings (Ben Noordhuis)
|
||||
|
||||
* configure: respect the --dest-os flag consistently (Nathan Rajlich)
|
||||
|
||||
* buffer: throw when writing beyond buffer (Trevor Norris)
|
||||
|
||||
* crypto: Clear error after DiffieHellman key errors (isaacs)
|
||||
|
||||
* string_bytes: strip padding from base64 strings (Trevor Norris)
|
||||
|
||||
|
||||
2013.05.17, Version 0.10.7 (Stable), d2fdae197ac542f686ee06835d1153dd43b862e5
|
||||
|
||||
* uv: upgrade to v0.10.7
|
||||
|
||||
* npm: Upgrade to 1.2.21
|
||||
|
||||
* crypto: Don't ignore verify encoding argument (isaacs)
|
||||
|
||||
* buffer, crypto: fix default encoding regression (Ben Noordhuis)
|
||||
|
||||
* timers: fix setInterval() assert (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.05.14, Version 0.10.6 (Stable), 5deb1672f2b5794f8be19498a425ea4dc0b0711f
|
||||
|
||||
* module: Deprecate require.extensions (isaacs)
|
||||
|
||||
* stream: make Readable.wrap support objectMode, empty streams (Daniel Moore)
|
||||
|
||||
* child_process: fix handle delivery (Ben Noordhuis)
|
||||
|
||||
* crypto: Fix performance regression (isaacs)
|
||||
|
||||
* src: DRY string encoding/decoding (isaacs)
|
||||
|
||||
|
||||
2013.04.23, Version 0.10.5 (Stable), deeaf8fab978e3cadb364e46fb32dafdebe5f095
|
||||
|
||||
* uv: Upgrade to 0.10.5 (isaacs)
|
||||
|
||||
* build: added support for Visual Studio 2012 (Miroslav Bajtoš)
|
||||
|
||||
* http: Don't try to destroy nonexistent sockets (isaacs)
|
||||
|
||||
* crypto: LazyTransform on properties, not methods (isaacs)
|
||||
|
||||
* assert: put info in err.message, not err.name (Ryan Doenges)
|
||||
|
||||
* dgram: fix no address bind() (Ben Noordhuis)
|
||||
|
||||
* handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
|
||||
|
||||
* os: fix unlikely buffer overflow in os.type() (Ben Noordhuis)
|
||||
|
||||
* stream: Fix unshift() race conditions (isaacs)
|
||||
|
||||
|
||||
2013.04.11, Version 0.10.4 (Stable), 9712aa9f76073c30850b20a188b1ed12ffb74d17
|
||||
2013.04.11, Version 0.10.4 (Stable)
|
||||
|
||||
* uv: Upgrade to 0.10.4
|
||||
|
||||
@@ -649,7 +118,7 @@
|
||||
* src: tie process.versions.uv to uv_version_string() (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.03.28, Version 0.10.2 (Stable)
|
||||
2013.03.28, Version 0.10.2 (Stable), 1e0de9c426e07a260bbec2d2196c2d2db8eb8886
|
||||
|
||||
* npm: Upgrade to 1.2.15
|
||||
|
||||
@@ -1215,41 +684,6 @@
|
||||
* Fix #3521 Make process.env more like a regular Object (isaacs)
|
||||
|
||||
|
||||
2013.06.13, Version 0.8.25 (maintenance), 0b9bdb2bc7e1c872f0ea4713517fda22a4b0b202
|
||||
|
||||
* npm: Upgrade to 1.2.30
|
||||
|
||||
* child_process: fix handle delivery (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.06.04, Version 0.8.24 (maintenance), c1a1ab067721ea17ef7b05ec5c68b01321017f05
|
||||
|
||||
* npm: Upgrade to v1.2.24
|
||||
|
||||
* url: Properly parse certain oddly formed urls (isaacs)
|
||||
|
||||
* http: Don't try to destroy nonexistent sockets (isaacs)
|
||||
|
||||
* handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.04.09, Version 0.8.23 (maintenance), c67f8d0500fe15637a623eb759d2ad7eb9fb3b0b
|
||||
|
||||
* npm: Upgrade to v1.2.18
|
||||
|
||||
* http: Avoid EE warning on ECONNREFUSED handling (isaacs)
|
||||
|
||||
* tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)
|
||||
|
||||
* child_process: fix sending utf-8 to child process (Ben Noordhuis)
|
||||
|
||||
* crypto: check key type in GetPeerCertificate() (Ben Noordhuis)
|
||||
|
||||
* win/openssl: mark assembled object files as seh safe (Bert Belder)
|
||||
|
||||
* windows/msi: fix msi build issue with WiX 3.7/3.8 (Raymond Feng)
|
||||
|
||||
|
||||
2013.03.07, Version 0.8.22 (Stable), 67a4cb4fe8c2346e30ffb83f7178e205cc2dab33
|
||||
|
||||
* npm: Update to 1.2.14
|
||||
|
||||
274
LICENSE
274
LICENSE
@@ -294,9 +294,9 @@ maintained libraries. The externally maintained libraries used by Node are:
|
||||
- Zlib at deps/zlib. zlib's license follows:
|
||||
"""
|
||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||
version 1.2.8, April 28th, 2013
|
||||
version 1.2.4, March 14th, 2010
|
||||
|
||||
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
|
||||
Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
@@ -314,249 +314,79 @@ maintained libraries. The externally maintained libraries used by Node are:
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Jean-loup Gailly Mark Adler
|
||||
jloup@gzip.org madler@alumni.caltech.edu
|
||||
Jean-loup Gailly
|
||||
Mark Adler
|
||||
|
||||
*/
|
||||
"""
|
||||
|
||||
- npm is a package manager program located at deps/npm.
|
||||
npm's license follows:
|
||||
"""
|
||||
Copyright (c) Isaac Z. Schlueter
|
||||
Copyright 2009-2012, Isaac Z. Schlueter (the "Original Author")
|
||||
All rights reserved.
|
||||
|
||||
npm is released under the Artistic 2.0 License.
|
||||
The text of the License follows:
|
||||
MIT +no-false-attribs License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
Distributions of all or part of the Software intended to be used
|
||||
by the recipients as they would use the unmodified Software,
|
||||
containing modifications that substantially alter, remove, or
|
||||
disable functionality of the Software, outside of the documented
|
||||
configuration mechanisms provided by the Software, shall be
|
||||
modified such that the Original Author's bug reporting email
|
||||
addresses and urls are either replaced with the contact information
|
||||
of the parties responsible for the changes, or removed entirely.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
--------
|
||||
|
||||
|
||||
The Artistic License 2.0
|
||||
|
||||
Copyright (c) 2000-2006, The Perl Foundation.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
This license establishes the terms under which a given free software
|
||||
Package may be copied, modified, distributed, and/or redistributed.
|
||||
The intent is that the Copyright Holder maintains some artistic
|
||||
control over the development of that Package while still keeping the
|
||||
Package available as open source and free software.
|
||||
|
||||
You are always permitted to make arrangements wholly outside of this
|
||||
license directly with the Copyright Holder of a given Package. If the
|
||||
terms of this license do not permit the full use that you propose to
|
||||
make of the Package, you should contact the Copyright Holder and seek
|
||||
a different licensing arrangement.
|
||||
|
||||
Definitions
|
||||
|
||||
"Copyright Holder" means the individual(s) or organization(s)
|
||||
named in the copyright notice for the entire Package.
|
||||
|
||||
"Contributor" means any party that has contributed code or other
|
||||
material to the Package, in accordance with the Copyright Holder's
|
||||
procedures.
|
||||
|
||||
"You" and "your" means any person who would like to copy,
|
||||
distribute, or modify the Package.
|
||||
|
||||
"Package" means the collection of files distributed by the
|
||||
Copyright Holder, and derivatives of that collection and/or of
|
||||
those files. A given Package may consist of either the Standard
|
||||
Version, or a Modified Version.
|
||||
|
||||
"Distribute" means providing a copy of the Package or making it
|
||||
accessible to anyone else, or in the case of a company or
|
||||
organization, to others outside of your company or organization.
|
||||
|
||||
"Distributor Fee" means any fee that you charge for Distributing
|
||||
this Package or providing support for this Package to another
|
||||
party. It does not mean licensing fees.
|
||||
|
||||
"Standard Version" refers to the Package if it has not been
|
||||
modified, or has been modified only in ways explicitly requested
|
||||
by the Copyright Holder.
|
||||
|
||||
"Modified Version" means the Package, if it has been changed, and
|
||||
such changes were not explicitly requested by the Copyright
|
||||
Holder.
|
||||
|
||||
"Original License" means this Artistic License as Distributed with
|
||||
the Standard Version of the Package, in its current version or as
|
||||
it may be modified by The Perl Foundation in the future.
|
||||
|
||||
"Source" form means the source code, documentation source, and
|
||||
configuration files for the Package.
|
||||
|
||||
"Compiled" form means the compiled bytecode, object code, binary,
|
||||
or any other form resulting from mechanical transformation or
|
||||
translation of the Source form.
|
||||
|
||||
|
||||
Permission for Use and Modification Without Distribution
|
||||
|
||||
(1) You are permitted to use the Standard Version and create and use
|
||||
Modified Versions for any purpose without restriction, provided that
|
||||
you do not Distribute the Modified Version.
|
||||
|
||||
|
||||
Permissions for Redistribution of the Standard Version
|
||||
|
||||
(2) You may Distribute verbatim copies of the Source form of the
|
||||
Standard Version of this Package in any medium without restriction,
|
||||
either gratis or for a Distributor Fee, provided that you duplicate
|
||||
all of the original copyright notices and associated disclaimers. At
|
||||
your discretion, such verbatim copies may or may not include a
|
||||
Compiled form of the Package.
|
||||
|
||||
(3) You may apply any bug fixes, portability changes, and other
|
||||
modifications made available from the Copyright Holder. The resulting
|
||||
Package will still be considered the Standard Version, and as such
|
||||
will be subject to the Original License.
|
||||
|
||||
|
||||
Distribution of Modified Versions of the Package as Source
|
||||
|
||||
(4) You may Distribute your Modified Version as Source (either gratis
|
||||
or for a Distributor Fee, and with or without a Compiled form of the
|
||||
Modified Version) provided that you clearly document how it differs
|
||||
from the Standard Version, including, but not limited to, documenting
|
||||
any non-standard features, executables, or modules, and provided that
|
||||
you do at least ONE of the following:
|
||||
|
||||
(a) make the Modified Version available to the Copyright Holder
|
||||
of the Standard Version, under the Original License, so that the
|
||||
Copyright Holder may include your modifications in the Standard
|
||||
Version.
|
||||
|
||||
(b) ensure that installation of your Modified Version does not
|
||||
prevent the user installing or running the Standard Version. In
|
||||
addition, the Modified Version must bear a name that is different
|
||||
from the name of the Standard Version.
|
||||
|
||||
(c) allow anyone who receives a copy of the Modified Version to
|
||||
make the Source form of the Modified Version available to others
|
||||
under
|
||||
|
||||
(i) the Original License or
|
||||
|
||||
(ii) a license that permits the licensee to freely copy,
|
||||
modify and redistribute the Modified Version using the same
|
||||
licensing terms that apply to the copy that the licensee
|
||||
received, and requires that the Source form of the Modified
|
||||
Version, and of any works derived from it, be made freely
|
||||
available in that license fees are prohibited but Distributor
|
||||
Fees are allowed.
|
||||
|
||||
|
||||
Distribution of Compiled Forms of the Standard Version
|
||||
or Modified Versions without the Source
|
||||
|
||||
(5) You may Distribute Compiled forms of the Standard Version without
|
||||
the Source, provided that you include complete instructions on how to
|
||||
get the Source of the Standard Version. Such instructions must be
|
||||
valid at the time of your distribution. If these instructions, at any
|
||||
time while you are carrying out such distribution, become invalid, you
|
||||
must provide new instructions on demand or cease further distribution.
|
||||
If you provide valid instructions or cease distribution within thirty
|
||||
days after you become aware that the instructions are invalid, then
|
||||
you do not forfeit any of your rights under this license.
|
||||
|
||||
(6) You may Distribute a Modified Version in Compiled form without
|
||||
the Source, provided that you comply with Section 4 with respect to
|
||||
the Source of the Modified Version.
|
||||
|
||||
|
||||
Aggregating or Linking the Package
|
||||
|
||||
(7) You may aggregate the Package (either the Standard Version or
|
||||
Modified Version) with other packages and Distribute the resulting
|
||||
aggregation provided that you do not charge a licensing fee for the
|
||||
Package. Distributor Fees are permitted, and licensing fees for other
|
||||
components in the aggregation are permitted. The terms of this license
|
||||
apply to the use and Distribution of the Standard or Modified Versions
|
||||
as included in the aggregation.
|
||||
|
||||
(8) You are permitted to link Modified and Standard Versions with
|
||||
other works, to embed the Package in a larger work of your own, or to
|
||||
build stand-alone binary or bytecode versions of applications that
|
||||
include the Package, and Distribute the result without restriction,
|
||||
provided the result does not expose a direct interface to the Package.
|
||||
|
||||
|
||||
Items That are Not Considered Part of a Modified Version
|
||||
|
||||
(9) Works (including, but not limited to, modules and scripts) that
|
||||
merely extend or make use of the Package, do not, by themselves, cause
|
||||
the Package to be a Modified Version. In addition, such works are not
|
||||
considered parts of the Package itself, and are not subject to the
|
||||
terms of this license.
|
||||
|
||||
|
||||
General Provisions
|
||||
|
||||
(10) Any use, modification, and distribution of the Standard or
|
||||
Modified Versions is governed by this Artistic License. By using,
|
||||
modifying or distributing the Package, you accept this license. Do not
|
||||
use, modify, or distribute the Package, if you do not accept this
|
||||
license.
|
||||
|
||||
(11) If your Modified Version has been derived from a Modified
|
||||
Version made by someone other than you, you are nevertheless required
|
||||
to ensure that your Modified Version complies with the requirements of
|
||||
this license.
|
||||
|
||||
(12) This license does not grant you the right to use any trademark,
|
||||
service mark, tradename, or logo of the Copyright Holder.
|
||||
|
||||
(13) This license includes the non-exclusive, worldwide,
|
||||
free-of-charge patent license to make, have made, use, offer to sell,
|
||||
sell, import and otherwise transfer the Package with respect to any
|
||||
patent claims licensable by the Copyright Holder that are necessarily
|
||||
infringed by the Package. If you institute patent litigation
|
||||
(including a cross-claim or counterclaim) against any party alleging
|
||||
that the Package constitutes direct or contributory patent
|
||||
infringement, then this Artistic License to you shall terminate on the
|
||||
date that such litigation is filed.
|
||||
|
||||
(14) Disclaimer of Warranty:
|
||||
THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
|
||||
IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
|
||||
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
|
||||
LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
--------
|
||||
|
||||
Except where noted, this license applies to any and all software
|
||||
programs and associated documentation files created by the
|
||||
Original Author, when distributed with the Software.
|
||||
|
||||
"Node.js" and "node" trademark Joyent, Inc. npm is not officially
|
||||
part of the Node.js project, and is neither owned by nor
|
||||
officially affiliated with Joyent, Inc.
|
||||
|
||||
Packages published in the npm registry (other than the Software and
|
||||
its included dependencies) are not part of npm itself, are the sole
|
||||
property of their respective maintainers, and are not covered by
|
||||
this license.
|
||||
Packages published in the npm registry are not part of npm
|
||||
itself, are the sole property of their respective maintainers,
|
||||
and are not covered by this license.
|
||||
|
||||
"npm Logo" created by Mathias Pettersson and Brian Hammond,
|
||||
used with permission.
|
||||
|
||||
"Gubblebum Blocky" font
|
||||
Copyright (c) by Tjarda Koster, http://jelloween.deviantart.com
|
||||
Copyright (c) 2007 by Tjarda Koster, http://jelloween.deviantart.com
|
||||
included for use in the npm website and documentation,
|
||||
used with permission.
|
||||
|
||||
This program uses several Node modules contained in the node_modules/
|
||||
subdirectory, according to the terms of their respective licenses.
|
||||
This program uses "node-uuid", Copyright (c) 2010 Robert Kieffer,
|
||||
according to the terms of the MIT license.
|
||||
|
||||
This program uses "request", Copyright (c) 2011 Mikeal Rogers,
|
||||
according to the terms of the Apache license.
|
||||
|
||||
This program uses "mkdirp", Copyright (c) 2010 James Halliday,
|
||||
according to the terms of the MIT/X11 license.
|
||||
"""
|
||||
|
||||
- tools/doc/node_modules/marked. Marked is a Markdown parser. Marked's
|
||||
|
||||
98
Makefile
98
Makefile
@@ -46,9 +46,9 @@ endif
|
||||
out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi
|
||||
ifeq ($(USE_NINJA),1)
|
||||
touch out/Makefile
|
||||
$(PYTHON) tools/gyp_node.py -f ninja
|
||||
$(PYTHON) tools/gyp_node -f ninja
|
||||
else
|
||||
$(PYTHON) tools/gyp_node.py -f make
|
||||
$(PYTHON) tools/gyp_node -f make
|
||||
endif
|
||||
|
||||
config.gypi: configure
|
||||
@@ -82,16 +82,16 @@ test-http1: all
|
||||
test-valgrind: all
|
||||
$(PYTHON) tools/test.py --mode=release --valgrind simple message
|
||||
|
||||
test/gc/node_modules/weak/build/Release/weakref.node:
|
||||
test/gc/node_modules/weak/build:
|
||||
@if [ ! -f node ]; then make all; fi
|
||||
./node deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
|
||||
--directory="$(shell pwd)/test/gc/node_modules/weak" \
|
||||
--nodedir="$(shell pwd)"
|
||||
|
||||
test-gc: all test/gc/node_modules/weak/build/Release/weakref.node
|
||||
test-gc: all test/gc/node_modules/weak/build
|
||||
$(PYTHON) tools/test.py --mode=release gc
|
||||
|
||||
test-all: all test/gc/node_modules/weak/build/Release/weakref.node
|
||||
test-all: all test/gc/node_modules/weak/build
|
||||
$(PYTHON) tools/test.py --mode=debug,release
|
||||
make test-npm
|
||||
|
||||
@@ -125,29 +125,40 @@ test-npm: node
|
||||
test-npm-publish: node
|
||||
npm_package_config_publishtest=true ./node deps/npm/test/run.js
|
||||
|
||||
test-timers:
|
||||
$(MAKE) --directory=tools faketime
|
||||
$(PYTHON) tools/test.py --mode=release timers
|
||||
|
||||
test-timers-clean:
|
||||
$(MAKE) --directory=tools clean
|
||||
|
||||
apidoc_sources = $(wildcard doc/api/*.markdown)
|
||||
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \
|
||||
$(addprefix out/,$(apidoc_sources:.markdown=.json))
|
||||
|
||||
apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets
|
||||
apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets out/doc/about out/doc/community out/doc/download out/doc/logos out/doc/images
|
||||
|
||||
apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
|
||||
|
||||
doc_images = $(addprefix out/,$(wildcard doc/images/* doc/*.jpg doc/*.png))
|
||||
|
||||
website_files = \
|
||||
out/doc/index.html \
|
||||
out/doc/v0.4_announcement.html \
|
||||
out/doc/cla.html \
|
||||
out/doc/sh_main.js \
|
||||
out/doc/sh_javascript.min.js
|
||||
out/doc/sh_javascript.min.js \
|
||||
out/doc/sh_vim-dark.css \
|
||||
out/doc/sh.css \
|
||||
out/doc/favicon.ico \
|
||||
out/doc/pipe.css \
|
||||
out/doc/about/index.html \
|
||||
out/doc/community/index.html \
|
||||
out/doc/download/index.html \
|
||||
out/doc/logos/index.html \
|
||||
out/doc/changelog.html \
|
||||
$(doc_images)
|
||||
|
||||
doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ out/doc/changelog.html node
|
||||
doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ blog node
|
||||
|
||||
doc-branch: NODE_DOC_VERSION = v$(shell $(PYTHON) tools/getnodeversion.py | cut -f1,2 -d.)
|
||||
doc-branch: doc
|
||||
blogclean:
|
||||
rm -rf out/blog
|
||||
|
||||
blog: doc/blog out/Release/node tools/blog
|
||||
out/Release/node tools/blog/generate.js doc/blog/ out/blog/ doc/blog.html doc/rss.xml
|
||||
|
||||
$(apidoc_dirs):
|
||||
mkdir -p $@
|
||||
@@ -158,14 +169,17 @@ out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
|
||||
out/doc/changelog.html: ChangeLog doc/changelog-head.html doc/changelog-foot.html tools/build-changelog.sh node
|
||||
bash tools/build-changelog.sh
|
||||
|
||||
out/doc/%.html: doc/%.html node
|
||||
cat $< | sed -e 's|__VERSION__|'$(VERSION)'|g' > $@
|
||||
|
||||
out/doc/%: doc/%
|
||||
cp -r $< $@
|
||||
|
||||
out/doc/api/%.json: doc/api/%.markdown node
|
||||
NODE_DOC_VERSION=$(NODE_DOC_VERSION) out/Release/node tools/doc/generate.js --format=json $< > $@
|
||||
out/Release/node tools/doc/generate.js --format=json $< > $@
|
||||
|
||||
out/doc/api/%.html: doc/api/%.markdown node
|
||||
NODE_DOC_VERSION=$(NODE_DOC_VERSION) out/Release/node tools/doc/generate.js --format=html --template=doc/template.html $< > $@
|
||||
out/Release/node tools/doc/generate.js --format=html --template=doc/template.html $< > $@
|
||||
|
||||
email.md: ChangeLog tools/email-footer.md
|
||||
bash tools/changelog-head.sh | sed 's|^\* #|* \\#|g' > $@
|
||||
@@ -174,6 +188,9 @@ email.md: ChangeLog tools/email-footer.md
|
||||
blog.html: email.md
|
||||
cat $< | ./node tools/doc/node_modules/.bin/marked > $@
|
||||
|
||||
blog-upload: blog
|
||||
rsync -r out/blog/ node@nodejs.org:~/web/nodejs.org/blog/
|
||||
|
||||
website-upload: doc
|
||||
rsync -r out/doc/ node@nodejs.org:~/web/nodejs.org/
|
||||
ssh node@nodejs.org '\
|
||||
@@ -184,20 +201,13 @@ website-upload: doc
|
||||
rm -f ~/web/nodejs.org/dist/node-latest.tar.gz &&\
|
||||
ln -s $(VERSION)/node-$(VERSION).tar.gz ~/web/nodejs.org/dist/node-latest.tar.gz'
|
||||
|
||||
doc-branch-upload: NODE_DOC_VERSION = v$(shell $(PYTHON) tools/getnodeversion.py | cut -f1,2 -d.)
|
||||
doc-branch-upload: doc-branch
|
||||
echo $(NODE_DOC_VERSION)
|
||||
rsync -r out/doc/api/ node@nodejs.org:~/web/nodejs.org/$(NODE_DOC_VERSION)
|
||||
|
||||
docopen: out/doc/api/all.html
|
||||
-google-chrome out/doc/api/all.html
|
||||
|
||||
docclean:
|
||||
-rm -rf out/doc
|
||||
|
||||
RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
|
||||
VERSION=v$(RAWVER)
|
||||
NODE_DOC_VERSION=$(VERSION)
|
||||
VERSION=v$(shell $(PYTHON) tools/getnodeversion.py)
|
||||
RELEASE=$(shell $(PYTHON) tools/getnodeisrelease.py)
|
||||
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
|
||||
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
|
||||
@@ -223,12 +233,7 @@ TARBALL=$(TARNAME).tar.gz
|
||||
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
|
||||
BINARYTAR=$(BINARYNAME).tar.gz
|
||||
PKG=out/$(TARNAME).pkg
|
||||
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||
|
||||
PKGSRC=nodejs-$(DESTCPU)-$(RAWVER).tgz
|
||||
ifdef NIGHTLY
|
||||
PKGSRC=nodejs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
|
||||
endif
|
||||
packagemaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||
|
||||
dist: doc $(TARBALL) $(PKG)
|
||||
|
||||
@@ -261,23 +266,23 @@ pkg: $(PKG)
|
||||
$(PKG): release-only
|
||||
rm -rf $(PKGDIR)
|
||||
rm -rf out/deps out/Release
|
||||
$(PYTHON) ./configure --without-snapshot --dest-cpu=ia32 --tag=$(TAG)
|
||||
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)/32
|
||||
$(PYTHON) ./configure --prefix=$(PKGDIR)/32/usr/local --without-snapshot --dest-cpu=ia32 --tag=$(TAG)
|
||||
$(MAKE) install V=$(V)
|
||||
rm -rf out/deps out/Release
|
||||
$(PYTHON) ./configure --without-snapshot --dest-cpu=x64 --tag=$(TAG)
|
||||
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
|
||||
SIGN="$(APP_SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
|
||||
$(PYTHON) ./configure --prefix=$(PKGDIR)/usr/local --without-snapshot --dest-cpu=x64 --tag=$(TAG)
|
||||
$(MAKE) install V=$(V)
|
||||
SIGN="$(SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
|
||||
lipo $(PKGDIR)/32/usr/local/bin/node \
|
||||
$(PKGDIR)/usr/local/bin/node \
|
||||
-output $(PKGDIR)/usr/local/bin/node-universal \
|
||||
-create
|
||||
mv $(PKGDIR)/usr/local/bin/node-universal $(PKGDIR)/usr/local/bin/node
|
||||
rm -rf $(PKGDIR)/32
|
||||
$(PACKAGEMAKER) \
|
||||
$(packagemaker) \
|
||||
--id "org.nodejs.Node" \
|
||||
--doc tools/osx-pkg.pmdoc \
|
||||
--out $(PKG)
|
||||
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
|
||||
SIGN="$(SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
|
||||
|
||||
$(TARBALL): release-only node doc
|
||||
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
|
||||
@@ -307,19 +312,6 @@ $(BINARYTAR): release-only
|
||||
|
||||
binary: $(BINARYTAR)
|
||||
|
||||
$(PKGSRC): release-only
|
||||
rm -rf dist out
|
||||
$(PYTHON) configure --prefix=/ --without-snapshot \
|
||||
--dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
|
||||
$(MAKE) install DESTDIR=dist
|
||||
(cd dist; find * -type f | sort) > packlist
|
||||
pkg_info -X pkg_install | \
|
||||
egrep '^(MACHINE_ARCH|OPSYS|OS_VERSION|PKGTOOLS_VERSION)' > build-info
|
||||
pkg_create -B build-info -c tools/pkgsrc/comment -d tools/pkgsrc/description \
|
||||
-f packlist -I /opt/local -p dist -U $(PKGSRC)
|
||||
|
||||
pkgsrc: $(PKGSRC)
|
||||
|
||||
dist-upload: $(TARBALL) $(PKG)
|
||||
ssh node@nodejs.org mkdir -p web/nodejs.org/dist/$(VERSION)
|
||||
scp $(TARBALL) node@nodejs.org:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
|
||||
|
||||
18
README.md
18
README.md
@@ -5,7 +5,6 @@ Evented I/O for V8 javascript. [:
|
||||
|
||||
* GCC 4.2 or newer
|
||||
* Python 2.6 or 2.7
|
||||
* GNU Make 3.81 or newer
|
||||
* libexecinfo (FreeBSD and OpenBSD only)
|
||||
@@ -28,19 +27,6 @@ Windows:
|
||||
|
||||
vcbuild.bat
|
||||
|
||||
You can download pre-built binaries for various operating systems from
|
||||
[http://nodejs.org/download/](http://nodejs.org/download/). The Windows
|
||||
and OS X installers will prompt you for the location to install to.
|
||||
The tarballs are self-contained; you can extract them to a local directory
|
||||
with:
|
||||
|
||||
tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz
|
||||
|
||||
Or system-wide with:
|
||||
|
||||
cd /usr/local && tar --strip-components 1 -xzf \
|
||||
/path/to/node-<version>-<platform>-<arch>.tar.gz
|
||||
|
||||
### To run the tests:
|
||||
|
||||
Unix/Macintosh:
|
||||
@@ -63,9 +49,9 @@ Resources for Newcomers
|
||||
---
|
||||
- [The Wiki](https://github.com/joyent/node/wiki)
|
||||
- [nodejs.org](http://nodejs.org/)
|
||||
- [how to install node.js and npm (node package manager)](http://www.joyent.com/blog/installing-node-and-npm/)
|
||||
- [how to install node.js and npm (node package manager)](http://joyeur.com/2010/12/10/installing-node-and-npm/)
|
||||
- [list of modules](https://github.com/joyent/node/wiki/modules)
|
||||
- [searching the npm registry](http://npmjs.org/)
|
||||
- [searching the npm registry](http://search.npmjs.org/)
|
||||
- [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)
|
||||
- [node.js mailing list](http://groups.google.com/group/nodejs)
|
||||
- irc chatroom, [#node.js on freenode.net](http://webchat.freenode.net?channels=node.js&uio=d4)
|
||||
|
||||
@@ -20,12 +20,9 @@ function main(conf) {
|
||||
var fn = 'read' + conf.type;
|
||||
|
||||
buff.writeDoubleLE(0, 0, noAssert);
|
||||
var testFunction = new Function('buff', [
|
||||
"for (var i = 0; i !== " + len + "; i++) {",
|
||||
" buff." + fn + "(0, " + JSON.stringify(noAssert) + ");",
|
||||
"}"
|
||||
].join("\n"));
|
||||
bench.start();
|
||||
testFunction(buff);
|
||||
for (var i = 0; i < len; i++) {
|
||||
buff[fn](0, noAssert);
|
||||
}
|
||||
bench.end(len / 1e6);
|
||||
}
|
||||
|
||||
@@ -15,9 +15,9 @@ var bench = common.createBenchmark(main, {
|
||||
const INT8 = 0x7f;
|
||||
const INT16 = 0x7fff;
|
||||
const INT32 = 0x7fffffff;
|
||||
const UINT8 = (INT8 * 2) + 1;
|
||||
const UINT16 = (INT16 * 2) + 1;
|
||||
const UINT32 = INT32;
|
||||
const UINT8 = INT8 * 2;
|
||||
const UINT16 = INT16 * 2;
|
||||
const UINT32 = INT32 * 2;
|
||||
|
||||
var mod = {
|
||||
writeInt8: INT8,
|
||||
@@ -47,23 +47,17 @@ function main(conf) {
|
||||
|
||||
function benchInt(buff, fn, len, noAssert) {
|
||||
var m = mod[fn];
|
||||
var testFunction = new Function('buff', [
|
||||
"for (var i = 0; i !== " + len + "; i++) {",
|
||||
" buff." + fn + "(i & " + m + ", 0, " + JSON.stringify(noAssert) + ");",
|
||||
"}"
|
||||
].join("\n"));
|
||||
bench.start();
|
||||
testFunction(buff);
|
||||
for (var i = 0; i < len; i++) {
|
||||
buff[fn](i % m, 0, noAssert);
|
||||
}
|
||||
bench.end(len / 1e6);
|
||||
}
|
||||
|
||||
function benchFloat(buff, fn, len, noAssert) {
|
||||
var testFunction = new Function('buff', [
|
||||
"for (var i = 0; i !== " + len + "; i++) {",
|
||||
" buff." + fn + "(i, 0, " + JSON.stringify(noAssert) + ");",
|
||||
"}"
|
||||
].join("\n"));
|
||||
bench.start();
|
||||
testFunction(buff);
|
||||
for (var i = 0; i < len; i++) {
|
||||
buff[fn](i * 0.1, 0, noAssert);
|
||||
}
|
||||
bench.end(len / 1e6);
|
||||
}
|
||||
|
||||
@@ -18,29 +18,28 @@ if (module === require.main) {
|
||||
var spawn = require('child_process').spawn;
|
||||
|
||||
runBenchmarks();
|
||||
}
|
||||
|
||||
function runBenchmarks() {
|
||||
var test = tests.shift();
|
||||
if (!test)
|
||||
return;
|
||||
function runBenchmarks() {
|
||||
var test = tests.shift();
|
||||
if (!test)
|
||||
return;
|
||||
|
||||
if (test.match(/^[\._]/))
|
||||
return process.nextTick(runBenchmarks);
|
||||
if (test.match(/^[\._]/))
|
||||
return process.nextTick(runBenchmarks);
|
||||
|
||||
console.error(type + '/' + test);
|
||||
test = path.resolve(dir, test);
|
||||
console.error(type + '/' + test);
|
||||
test = path.resolve(dir, test);
|
||||
|
||||
var a = (process.execArgv || []).concat(test);
|
||||
var child = spawn(process.execPath, a, { stdio: 'inherit' });
|
||||
child.on('close', function(code) {
|
||||
if (code)
|
||||
process.exit(code);
|
||||
else {
|
||||
console.log('');
|
||||
runBenchmarks();
|
||||
}
|
||||
});
|
||||
var child = spawn(process.execPath, [ test ], { stdio: 'inherit' });
|
||||
child.on('close', function(code) {
|
||||
if (code)
|
||||
process.exit(code);
|
||||
else {
|
||||
console.log('');
|
||||
runBenchmarks();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
exports.createBenchmark = function(fn, options) {
|
||||
|
||||
@@ -16,6 +16,8 @@ function main(conf) {
|
||||
api = 'legacy';
|
||||
}
|
||||
|
||||
var dur = conf.dur;
|
||||
|
||||
var crypto = require('crypto');
|
||||
var assert = require('assert');
|
||||
var alice = crypto.getDiffieHellman('modp5');
|
||||
@@ -71,7 +73,7 @@ function streamWrite(alice, bob, message, encoding, writes) {
|
||||
bob.on('end', function() {
|
||||
// Gbits
|
||||
var bits = written * 8;
|
||||
var gbits = bits / (1024 * 1024 * 1024);
|
||||
var gbits = written / (1024 * 1024 * 1024);
|
||||
bench.end(gbits);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
// throughput benchmark
|
||||
// creates a single hasher, then pushes a bunch of data through it
|
||||
var common = require('../common.js');
|
||||
var crypto = require('crypto');
|
||||
|
||||
var bench = common.createBenchmark(main, {
|
||||
writes: [500],
|
||||
algo: [ 'sha256', 'md5' ],
|
||||
type: ['asc', 'utf', 'buf'],
|
||||
out: ['hex', 'binary', 'buffer'],
|
||||
len: [2, 1024, 102400, 1024 * 1024],
|
||||
api: ['legacy', 'stream']
|
||||
});
|
||||
|
||||
function main(conf) {
|
||||
var api = conf.api;
|
||||
if (api === 'stream' && process.version.match(/^v0\.[0-8]\./)) {
|
||||
console.error('Crypto streams not available until v0.10');
|
||||
// use the legacy, just so that we can compare them.
|
||||
api = 'legacy';
|
||||
}
|
||||
|
||||
var crypto = require('crypto');
|
||||
var assert = require('assert');
|
||||
|
||||
var message;
|
||||
var encoding;
|
||||
switch (conf.type) {
|
||||
case 'asc':
|
||||
message = new Array(conf.len + 1).join('a');
|
||||
encoding = 'ascii';
|
||||
break;
|
||||
case 'utf':
|
||||
message = new Array(conf.len / 2 + 1).join('ü');
|
||||
encoding = 'utf8';
|
||||
break;
|
||||
case 'buf':
|
||||
message = new Buffer(conf.len);
|
||||
message.fill('b');
|
||||
break;
|
||||
default:
|
||||
throw new Error('unknown message type: ' + conf.type);
|
||||
}
|
||||
|
||||
var fn = api === 'stream' ? streamWrite : legacyWrite;
|
||||
|
||||
bench.start();
|
||||
fn(conf.algo, message, encoding, conf.writes, conf.len, conf.out);
|
||||
}
|
||||
|
||||
function legacyWrite(algo, message, encoding, writes, len, outEnc) {
|
||||
var written = writes * len;
|
||||
var bits = written * 8;
|
||||
var gbits = bits / (1024 * 1024 * 1024);
|
||||
|
||||
while (writes-- > 0) {
|
||||
var h = crypto.createHash(algo);
|
||||
h.update(message, encoding);
|
||||
var res = h.digest(outEnc);
|
||||
|
||||
// include buffer creation costs for older versions
|
||||
if (outEnc === 'buffer' && typeof res === 'string')
|
||||
res = new Buffer(res, 'binary');
|
||||
}
|
||||
|
||||
bench.end(gbits);
|
||||
}
|
||||
|
||||
function streamWrite(algo, message, encoding, writes, len, outEnc) {
|
||||
var written = writes * len;
|
||||
var bits = written * 8;
|
||||
var gbits = bits / (1024 * 1024 * 1024);
|
||||
|
||||
while (writes-- > 0) {
|
||||
var h = crypto.createHash(algo);
|
||||
|
||||
if (outEnc !== 'buffer')
|
||||
h.setEncoding(outEnc);
|
||||
|
||||
h.write(message, encoding);
|
||||
h.end();
|
||||
h.read();
|
||||
}
|
||||
|
||||
bench.end(gbits);
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// throughput benchmark
|
||||
// creates a single hasher, then pushes a bunch of data through it
|
||||
var common = require('../common.js');
|
||||
var crypto = require('crypto');
|
||||
|
||||
var bench = common.createBenchmark(main, {
|
||||
writes: [500],
|
||||
algo: [ 'sha256', 'md5' ],
|
||||
type: ['asc', 'utf', 'buf'],
|
||||
len: [2, 1024, 102400, 1024 * 1024],
|
||||
api: ['legacy', 'stream']
|
||||
});
|
||||
|
||||
function main(conf) {
|
||||
var api = conf.api;
|
||||
if (api === 'stream' && process.version.match(/^v0\.[0-8]\./)) {
|
||||
console.error('Crypto streams not available until v0.10');
|
||||
// use the legacy, just so that we can compare them.
|
||||
api = 'legacy';
|
||||
}
|
||||
|
||||
var crypto = require('crypto');
|
||||
var assert = require('assert');
|
||||
|
||||
var message;
|
||||
var encoding;
|
||||
switch (conf.type) {
|
||||
case 'asc':
|
||||
message = new Array(conf.len + 1).join('a');
|
||||
encoding = 'ascii';
|
||||
break;
|
||||
case 'utf':
|
||||
message = new Array(conf.len / 2 + 1).join('ü');
|
||||
encoding = 'utf8';
|
||||
break;
|
||||
case 'buf':
|
||||
message = new Buffer(conf.len);
|
||||
message.fill('b');
|
||||
break;
|
||||
default:
|
||||
throw new Error('unknown message type: ' + conf.type);
|
||||
}
|
||||
|
||||
var fn = api === 'stream' ? streamWrite : legacyWrite;
|
||||
|
||||
bench.start();
|
||||
fn(conf.algo, message, encoding, conf.writes, conf.len);
|
||||
}
|
||||
|
||||
function legacyWrite(algo, message, encoding, writes, len) {
|
||||
var written = writes * len;
|
||||
var bits = written * 8;
|
||||
var gbits = bits / (1024 * 1024 * 1024);
|
||||
var h = crypto.createHash(algo);
|
||||
|
||||
while (writes-- > 0)
|
||||
h.update(message, encoding);
|
||||
|
||||
h.digest();
|
||||
|
||||
bench.end(gbits);
|
||||
}
|
||||
|
||||
function streamWrite(algo, message, encoding, writes, len) {
|
||||
var written = writes * len;
|
||||
var bits = written * 8;
|
||||
var gbits = bits / (1024 * 1024 * 1024);
|
||||
var h = crypto.createHash(algo);
|
||||
|
||||
while (writes-- > 0)
|
||||
h.write(message, encoding);
|
||||
|
||||
h.end();
|
||||
h.read();
|
||||
|
||||
bench.end(gbits);
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
// Measure the time it takes for the HTTP client to send a request body.
|
||||
|
||||
var common = require('../common.js');
|
||||
var http = require('http');
|
||||
|
||||
var bench = common.createBenchmark(main, {
|
||||
dur: [5],
|
||||
type: ['asc', 'utf', 'buf'],
|
||||
bytes: [32, 256, 1024],
|
||||
method: ['write', 'end '] // two spaces added to line up each row
|
||||
});
|
||||
|
||||
function main(conf) {
|
||||
var dur = +conf.dur;
|
||||
var len = +conf.bytes;
|
||||
|
||||
var encoding;
|
||||
var chunk;
|
||||
switch (conf.type) {
|
||||
case 'buf':
|
||||
chunk = new Buffer(len);
|
||||
chunk.fill('x');
|
||||
break;
|
||||
case 'utf':
|
||||
encoding = 'utf8';
|
||||
chunk = new Array(len / 2 + 1).join('ü');
|
||||
break;
|
||||
case 'asc':
|
||||
chunk = new Array(len + 1).join('a');
|
||||
break;
|
||||
}
|
||||
|
||||
var nreqs = 0;
|
||||
var options = {
|
||||
headers: { 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked' },
|
||||
agent: new http.Agent({ maxSockets: 1 }),
|
||||
host: '127.0.0.1',
|
||||
port: common.PORT,
|
||||
path: '/',
|
||||
method: 'POST'
|
||||
};
|
||||
|
||||
var server = http.createServer(function(req, res) {
|
||||
res.end();
|
||||
});
|
||||
server.listen(options.port, options.host, function() {
|
||||
setTimeout(done, dur * 1000);
|
||||
bench.start();
|
||||
pummel();
|
||||
});
|
||||
|
||||
function pummel() {
|
||||
var req = http.request(options, function(res) {
|
||||
nreqs++;
|
||||
pummel(); // Line up next request.
|
||||
res.resume();
|
||||
});
|
||||
if (conf.method === 'write') {
|
||||
req.write(chunk, encoding);
|
||||
req.end();
|
||||
} else {
|
||||
req.end(chunk, encoding);
|
||||
}
|
||||
}
|
||||
|
||||
function done() {
|
||||
bench.end(nreqs);
|
||||
}
|
||||
}
|
||||
37
common.gypi
37
common.gypi
@@ -1,13 +1,12 @@
|
||||
{
|
||||
'variables': {
|
||||
'werror': '', # Turn off -Werror in V8 build.
|
||||
'visibility%': 'hidden', # V8's visibility setting
|
||||
'target_arch%': 'ia32', # set v8's target architecture
|
||||
'host_arch%': 'ia32', # set v8's host architecture
|
||||
'want_separate_host_toolset%': 0, # V8 should not build target and host
|
||||
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
||||
'component%': 'static_library', # NB. these names match with what V8 expects
|
||||
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
|
||||
'visibility%': 'hidden', # V8's visibility setting
|
||||
'target_arch%': 'ia32', # set v8's target architecture
|
||||
'host_arch%': 'ia32', # set v8's host architecture
|
||||
'want_separate_host_toolset': 0, # V8 should not build target and host
|
||||
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
||||
'component%': 'static_library', # NB. these names match with what V8 expects
|
||||
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
|
||||
'gcc_version%': 'unknown',
|
||||
'clang%': 0,
|
||||
'python%': 'python',
|
||||
@@ -18,16 +17,11 @@
|
||||
|
||||
# Enable V8's post-mortem debugging only on unix flavors.
|
||||
'conditions': [
|
||||
['OS != "win"', {
|
||||
'v8_postmortem_support': 'true'
|
||||
}],
|
||||
['GENERATOR == "ninja" or OS== "mac"', {
|
||||
'OBJ_DIR': '<(PRODUCT_DIR)/obj',
|
||||
'V8_BASE': '<(PRODUCT_DIR)/libv8_base.a',
|
||||
['OS == "win"', {
|
||||
'v8_postmortem_support': 'false'
|
||||
}, {
|
||||
'OBJ_DIR': '<(PRODUCT_DIR)/obj.target',
|
||||
'V8_BASE': '<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.a',
|
||||
}],
|
||||
'v8_postmortem_support': 'true'
|
||||
}]
|
||||
],
|
||||
},
|
||||
|
||||
@@ -87,12 +81,10 @@
|
||||
],
|
||||
}],
|
||||
['OS=="solaris"', {
|
||||
'cflags': [ '-fno-omit-frame-pointer' ],
|
||||
# pull in V8's postmortem metadata
|
||||
'ldflags': [ '-Wl,-z,allextract' ]
|
||||
}],
|
||||
['OS!="mac" and OS!="win"', {
|
||||
'cflags': [ '-fno-omit-frame-pointer' ],
|
||||
}],
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
@@ -235,11 +227,6 @@
|
||||
}],
|
||||
['OS=="freebsd" and node_use_dtrace=="true"', {
|
||||
'libraries': [ '-lelf' ],
|
||||
}],
|
||||
['OS=="freebsd"', {
|
||||
'ldflags': [
|
||||
'-Wl,--export-dynamic',
|
||||
],
|
||||
}]
|
||||
],
|
||||
}
|
||||
|
||||
112
configure
vendored
112
configure
vendored
@@ -10,8 +10,7 @@ import sys
|
||||
CC = os.environ.get('CC', 'cc')
|
||||
|
||||
root_dir = os.path.dirname(__file__)
|
||||
sys.path.insert(0, os.path.join(root_dir, 'tools', 'gyp', 'pylib'))
|
||||
from gyp.common import GetFlavor
|
||||
sys.path.insert(0, os.path.join(root_dir, 'deps', 'v8', 'tools'))
|
||||
|
||||
# parse our options
|
||||
parser = optparse.OptionParser()
|
||||
@@ -82,11 +81,6 @@ parser.add_option("--shared-openssl-libname",
|
||||
dest="shared_openssl_libname",
|
||||
help="Alternative lib name to link to (default: 'crypto,ssl')")
|
||||
|
||||
parser.add_option("--openssl-no-asm",
|
||||
action="store_true",
|
||||
dest="openssl_no_asm",
|
||||
help="Do not build optimized assembly for OpenSSL")
|
||||
|
||||
# deprecated
|
||||
parser.add_option("--openssl-use-sys",
|
||||
action="store_true",
|
||||
@@ -112,15 +106,10 @@ parser.add_option("--systemtap-includes",
|
||||
dest="systemtap_includes",
|
||||
help=optparse.SUPPRESS_HELP)
|
||||
|
||||
parser.add_option("--without-ssl2",
|
||||
parser.add_option("--no-ssl2",
|
||||
action="store_true",
|
||||
dest="ssl2",
|
||||
help="Disable SSL v2")
|
||||
|
||||
parser.add_option("--without-ssl3",
|
||||
action="store_true",
|
||||
dest="ssl3",
|
||||
help="Disable SSL v3")
|
||||
dest="no_ssl2",
|
||||
help="Disable OpenSSL v2")
|
||||
|
||||
parser.add_option("--shared-zlib",
|
||||
action="store_true",
|
||||
@@ -247,7 +236,7 @@ parser.add_option("--dest-os",
|
||||
action="store",
|
||||
dest="dest_os",
|
||||
help="Operating system to build for. Valid values are: "
|
||||
"win, mac, solaris, freebsd, openbsd, linux")
|
||||
"win, mac, solaris, freebsd, linux")
|
||||
|
||||
parser.add_option("--no-ifaddrs",
|
||||
action="store_true",
|
||||
@@ -260,12 +249,6 @@ parser.add_option("--with-arm-float-abi",
|
||||
help="Specifies which floating-point ABI to use. Valid values are: "
|
||||
"soft, softfp, hard")
|
||||
|
||||
parser.add_option("--with-mips-float-abi",
|
||||
action="store",
|
||||
dest="mips_float_abi",
|
||||
help="Specifies which floating-point ABI to use. Valid values are: "
|
||||
"soft, hard")
|
||||
|
||||
parser.add_option("--ninja",
|
||||
action="store_true",
|
||||
dest="use_ninja",
|
||||
@@ -358,7 +341,7 @@ def is_arm_neon():
|
||||
return '__ARM_NEON__' in cc_macros()
|
||||
|
||||
|
||||
def arm_hard_float_abi():
|
||||
def is_arm_hard_float_abi():
|
||||
"""Check for hardfloat or softfloat eabi on ARM"""
|
||||
# GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
|
||||
# the Floating Point ABI used (PCS stands for Procedure Call Standard).
|
||||
@@ -397,7 +380,6 @@ def host_arch_cc():
|
||||
'__x86_64__' : 'x64',
|
||||
'__i386__' : 'ia32',
|
||||
'__arm__' : 'arm',
|
||||
'__mips__' : 'mips',
|
||||
}
|
||||
|
||||
rtn = 'ia32' # default
|
||||
@@ -419,7 +401,6 @@ def host_arch_win():
|
||||
'AMD64' : 'x64',
|
||||
'x86' : 'ia32',
|
||||
'arm' : 'arm',
|
||||
'mips' : 'mips',
|
||||
}
|
||||
|
||||
return matchup.get(arch, 'ia32')
|
||||
@@ -440,31 +421,15 @@ def compiler_version():
|
||||
|
||||
|
||||
def configure_arm(o):
|
||||
# V8 on ARM requires that armv7 is set. CPU Model detected by
|
||||
# the presence of __ARM_ARCH_7__ and the like defines in compiler
|
||||
if options.arm_float_abi:
|
||||
hard_float = options.arm_float_abi == 'hard'
|
||||
arm_float_abi = options.arm_float_abi
|
||||
else:
|
||||
hard_float = arm_hard_float_abi()
|
||||
|
||||
armv7 = is_arch_armv7()
|
||||
# CHECKME VFPv3 implies ARMv7+ but is the reverse true as well?
|
||||
fpu = 'vfpv3' if armv7 else 'vfpv2'
|
||||
|
||||
o['variables']['armv7'] = int(armv7)
|
||||
o['variables']['arm_fpu'] = fpu
|
||||
arm_float_abi = 'hard' if is_arm_hard_float_abi() else 'default'
|
||||
o['variables']['armv7'] = int(is_arch_armv7())
|
||||
o['variables']['arm_fpu'] = 'vfpv3' # V8 3.18 no longer supports VFP2.
|
||||
o['variables']['arm_neon'] = int(is_arm_neon())
|
||||
o['variables']['v8_use_arm_eabi_hardfloat'] = b(hard_float)
|
||||
|
||||
|
||||
def configure_mips(o):
|
||||
if options.mips_float_abi:
|
||||
if options.mips_float_abi in ('soft', 'hard'):
|
||||
o['variables']['v8_use_mips_abi_hardfloat'] = b(
|
||||
options.mips_float_abi == 'hard')
|
||||
else:
|
||||
raise Exception(
|
||||
'Invalid mips-float-abi value. Valid values are: soft, hard')
|
||||
o['variables']['arm_thumb'] = 0 # -marm
|
||||
o['variables']['arm_float_abi'] = arm_float_abi
|
||||
|
||||
|
||||
def configure_node(o):
|
||||
@@ -481,15 +446,8 @@ def configure_node(o):
|
||||
o['variables']['host_arch'] = host_arch
|
||||
o['variables']['target_arch'] = target_arch
|
||||
|
||||
if target_arch != host_arch and not options.without_snapshot:
|
||||
o['variables']['want_separate_host_toolset'] = 1
|
||||
else:
|
||||
o['variables']['want_separate_host_toolset'] = 0
|
||||
|
||||
if target_arch == 'arm':
|
||||
configure_arm(o)
|
||||
elif target_arch in ('mips', 'mipsel'):
|
||||
configure_mips(o)
|
||||
|
||||
cc_version, is_clang = compiler_version()
|
||||
o['variables']['clang'] = 1 if is_clang else 0
|
||||
@@ -504,18 +462,16 @@ def configure_node(o):
|
||||
# By default, enable DTrace on SunOS systems. Don't allow it on other
|
||||
# systems, since it won't work. (The MacOS build process is different than
|
||||
# SunOS, and we haven't implemented it.)
|
||||
if flavor in ('solaris', 'mac'):
|
||||
if sys.platform.startswith('sunos') or sys.platform.startswith('darwin'):
|
||||
o['variables']['node_use_dtrace'] = b(not options.without_dtrace)
|
||||
elif flavor == 'freebsd':
|
||||
o['variables']['node_use_dtrace'] = b(options.with_dtrace)
|
||||
elif flavor == 'linux':
|
||||
elif sys.platform.startswith('linux'):
|
||||
o['variables']['node_use_dtrace'] = 'false'
|
||||
o['variables']['node_use_systemtap'] = b(options.with_dtrace)
|
||||
if options.systemtap_includes:
|
||||
o['include_dirs'] += [options.systemtap_includes]
|
||||
elif options.with_dtrace:
|
||||
raise Exception(
|
||||
'DTrace is currently only supported on SunOS, MacOS or Linux systems.')
|
||||
'DTrace is currently only supported on SunOS or Linux systems.')
|
||||
else:
|
||||
o['variables']['node_use_dtrace'] = 'false'
|
||||
o['variables']['node_use_systemtap'] = 'false'
|
||||
@@ -524,7 +480,7 @@ def configure_node(o):
|
||||
o['defines'] += ['SUNOS_NO_IFADDRS']
|
||||
|
||||
# By default, enable ETW on Windows.
|
||||
if flavor == 'win':
|
||||
if sys.platform.startswith('win32'):
|
||||
o['variables']['node_use_etw'] = b(not options.without_etw);
|
||||
elif options.with_etw:
|
||||
raise Exception('ETW is only supported on Windows.')
|
||||
@@ -532,7 +488,7 @@ def configure_node(o):
|
||||
o['variables']['node_use_etw'] = 'false'
|
||||
|
||||
# By default, enable Performance counters on Windows.
|
||||
if flavor == 'win':
|
||||
if sys.platform.startswith('win32'):
|
||||
o['variables']['node_use_perfctr'] = b(not options.without_perfctr);
|
||||
elif options.with_perfctr:
|
||||
raise Exception('Performance counter is only supported on Windows.')
|
||||
@@ -619,18 +575,13 @@ def configure_v8(o):
|
||||
def configure_openssl(o):
|
||||
o['variables']['node_use_openssl'] = b(not options.without_ssl)
|
||||
o['variables']['node_shared_openssl'] = b(options.shared_openssl)
|
||||
o['variables']['openssl_no_asm'] = (
|
||||
1 if options.openssl_no_asm else 0)
|
||||
|
||||
if options.without_ssl:
|
||||
return
|
||||
|
||||
if options.ssl2:
|
||||
if options.no_ssl2:
|
||||
o['defines'] += ['OPENSSL_NO_SSL2=1']
|
||||
|
||||
if options.ssl3:
|
||||
o['defines'] += ['OPENSSL_NO_SSL3=1']
|
||||
|
||||
if options.shared_openssl:
|
||||
(libs, cflags) = pkg_config('openssl') or ('-lssl -lcrypto', '')
|
||||
|
||||
@@ -650,7 +601,7 @@ def configure_openssl(o):
|
||||
|
||||
|
||||
def configure_winsdk(o):
|
||||
if flavor != 'win':
|
||||
if not sys.platform.startswith('win32'):
|
||||
return
|
||||
|
||||
winsdk_dir = os.environ.get("WindowsSdkDir")
|
||||
@@ -663,13 +614,6 @@ def configure_winsdk(o):
|
||||
print "ctrpp not found in WinSDK path--using pre-gen files from tools/msvs/genfiles."
|
||||
|
||||
|
||||
# determine the "flavor" (operating system) we're building for,
|
||||
# leveraging gyp's GetFlavor function
|
||||
flavor_params = {};
|
||||
if (options.dest_os):
|
||||
flavor_params['flavor'] = options.dest_os;
|
||||
flavor = GetFlavor(flavor_params);
|
||||
|
||||
output = {
|
||||
'variables': { 'python': sys.executable },
|
||||
'include_dirs': [],
|
||||
@@ -717,17 +661,15 @@ config = '\n'.join(map('='.join, config.iteritems())) + '\n'
|
||||
write('config.mk',
|
||||
'# Do not edit. Generated by the configure script.\n' + config)
|
||||
|
||||
gyp_args = [sys.executable, 'tools/gyp_node.py', '--no-parallel']
|
||||
|
||||
if options.use_ninja:
|
||||
gyp_args += ['-f', 'ninja-' + flavor]
|
||||
gyp_args = ['-f', 'ninja']
|
||||
elif options.use_xcode:
|
||||
gyp_args += ['-f', 'xcode']
|
||||
elif flavor == 'win':
|
||||
gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto']
|
||||
gyp_args = ['-f', 'xcode']
|
||||
elif os.name == 'nt':
|
||||
gyp_args = ['-f', 'msvs', '-G', 'msvs_version=auto']
|
||||
elif options.dest_os:
|
||||
gyp_args = ['-f', 'make-' + options.dest_os]
|
||||
else:
|
||||
gyp_args += ['-f', 'make-' + flavor]
|
||||
gyp_args = ['-f', 'make']
|
||||
|
||||
gyp_args += args
|
||||
|
||||
sys.exit(subprocess.call(gyp_args))
|
||||
subprocess.call([sys.executable, 'tools/gyp_node'] + gyp_args)
|
||||
|
||||
21
deps/http_parser/http_parser.c
vendored
21
deps/http_parser/http_parser.c
vendored
@@ -936,7 +936,6 @@ size_t http_parser_execute (http_parser *parser,
|
||||
} else if (parser->index == 2 && ch == 'P') {
|
||||
parser->method = HTTP_COPY;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
} else if (parser->method == HTTP_MKCOL) {
|
||||
@@ -949,14 +948,12 @@ size_t http_parser_execute (http_parser *parser,
|
||||
} else if (parser->index == 2 && ch == 'A') {
|
||||
parser->method = HTTP_MKACTIVITY;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
} else if (parser->method == HTTP_SUBSCRIBE) {
|
||||
if (parser->index == 1 && ch == 'E') {
|
||||
parser->method = HTTP_SEARCH;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
} else if (parser->index == 1 && parser->method == HTTP_POST) {
|
||||
@@ -967,27 +964,13 @@ size_t http_parser_execute (http_parser *parser,
|
||||
} else if (ch == 'A') {
|
||||
parser->method = HTTP_PATCH;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
} else if (parser->index == 2) {
|
||||
if (parser->method == HTTP_PUT) {
|
||||
if (ch == 'R') {
|
||||
parser->method = HTTP_PURGE;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
if (ch == 'R') parser->method = HTTP_PURGE;
|
||||
} else if (parser->method == HTTP_UNLOCK) {
|
||||
if (ch == 'S') {
|
||||
parser->method = HTTP_UNSUBSCRIBE;
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
}
|
||||
} else {
|
||||
SET_ERRNO(HPE_INVALID_METHOD);
|
||||
goto error;
|
||||
if (ch == 'S') parser->method = HTTP_UNSUBSCRIBE;
|
||||
}
|
||||
} else if (parser->index == 4 && parser->method == HTTP_PROPFIND && ch == 'P') {
|
||||
parser->method = HTTP_PROPPATCH;
|
||||
|
||||
18
deps/http_parser/test.c
vendored
18
deps/http_parser/test.c
vendored
@@ -3117,8 +3117,14 @@ main (void)
|
||||
|
||||
/// REQUESTS
|
||||
|
||||
test_simple("hello world", HPE_INVALID_METHOD);
|
||||
test_simple("GET / HTP/1.1\r\n\r\n", HPE_INVALID_VERSION);
|
||||
|
||||
|
||||
test_simple("ASDF / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
|
||||
test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
|
||||
test_simple("GETA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
|
||||
|
||||
// Well-formed but incomplete
|
||||
test_simple("GET / HTTP/1.1\r\n"
|
||||
"Content-Type: text/plain\r\n"
|
||||
@@ -3161,23 +3167,13 @@ main (void)
|
||||
}
|
||||
|
||||
static const char *bad_methods[] = {
|
||||
"ASDF",
|
||||
"C******",
|
||||
"COLA",
|
||||
"GEM",
|
||||
"GETA",
|
||||
"M****",
|
||||
"MKCOLA",
|
||||
"PROPPATCHA",
|
||||
"PUN",
|
||||
"PX",
|
||||
"SA",
|
||||
"hello world",
|
||||
0 };
|
||||
for (this_method = bad_methods; *this_method; this_method++) {
|
||||
char buf[200];
|
||||
sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method);
|
||||
test_simple(buf, HPE_INVALID_METHOD);
|
||||
test_simple(buf, HPE_UNKNOWN);
|
||||
}
|
||||
|
||||
const char *dumbfuck2 =
|
||||
|
||||
2
deps/npm/.npmignore
vendored
2
deps/npm/.npmignore
vendored
@@ -7,11 +7,9 @@ npm-debug.log
|
||||
/test/packages/npm-test-depends-on-spark/which-spark.log
|
||||
/test/packages/test-package/random-data.txt
|
||||
/test/root
|
||||
node_modules/marked
|
||||
node_modules/ronn
|
||||
node_modules/tap
|
||||
node_modules/.bin
|
||||
node_modules/npm-registry-mock
|
||||
/npmrc
|
||||
/release/
|
||||
|
||||
|
||||
2
deps/npm/.npmrc
vendored
2
deps/npm/.npmrc
vendored
@@ -1,2 +0,0 @@
|
||||
save-prefix = ~
|
||||
proprietary-attribs = false
|
||||
5
deps/npm/.travis.yml
vendored
5
deps/npm/.travis.yml
vendored
@@ -1,5 +0,0 @@
|
||||
language: node_js
|
||||
script: "npm run-script tap"
|
||||
node_js:
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
134
deps/npm/AUTHORS
vendored
134
deps/npm/AUTHORS
vendored
@@ -1,48 +1,48 @@
|
||||
# Authors sorted by whether or not they're me
|
||||
Isaac Z. Schlueter <i@izs.me>
|
||||
Steve Steiner <ssteinerX@gmail.com>
|
||||
Mikeal Rogers <mikeal.rogers@gmail.com>
|
||||
Aaron Blohowiak <aaron.blohowiak@gmail.com>
|
||||
Martyn Smith <martyn@dollyfish.net.nz>
|
||||
Mathias Pettersson <mape@mape.me>
|
||||
Brian Hammond <brian@fictorial.com>
|
||||
Charlie Robbins <charlie.robbins@gmail.com>
|
||||
Francisco Treacy <francisco.treacy@gmail.com>
|
||||
Cliffano Subagio <cliffano@gmail.com>
|
||||
Christian Eager <christian.eager@nokia.com>
|
||||
Dav Glass <davglass@gmail.com>
|
||||
Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)
|
||||
Steve Steiner <ssteinerX@gmail.com> (http://websaucesoftware.com/blog/)
|
||||
Mikeal Rogers <mikeal.rogers@gmail.com> (http://www.mikealrogers.com/)
|
||||
Aaron Blohowiak <aaron.blohowiak@gmail.com> (http://aaronblohowiak.com/)
|
||||
Martyn Smith <martyn@dollyfish.net.nz> (http://dollyfish.net.nz/)
|
||||
Mathias Pettersson <mape@mape.me> (http://mape.me/)
|
||||
Brian Hammond <brian@fictorial.com> (http://fictorial.com/)
|
||||
Charlie Robbins <charlie.robbins@gmail.com> (http://www.charlierobbins.com/)
|
||||
Francisco Treacy <francisco.treacy@gmail.com> (http://franciscotreacy.com/)
|
||||
Cliffano Subagio <cliffano@gmail.com> (http://blog.cliffano.com/)
|
||||
Christian Eager <christian.eager@nokia.com> (http://perpenduum.com)
|
||||
Dav Glass <davglass@gmail.com> (http://blog.davglass.com)
|
||||
Alex K. Wolfe <alexkwolfe@gmail.com>
|
||||
James Sanders <jimmyjazz14@gmail.com>
|
||||
Reid Burke <me@reidburke.com>
|
||||
Arlo Breault <arlolra@gmail.com>
|
||||
Timo Derstappen <teemow@gmail.com>
|
||||
James Sanders <jimmyjazz14@gmail.com> (http://james-sanders.com/)
|
||||
Reid Burke <me@reidburke.com> (http://reidburke.com/)
|
||||
Arlo Breault <arlolra@gmail.com> (http://thoughtherder.com/)
|
||||
Timo Derstappen <teemow@gmail.com> (http://teemow.com)
|
||||
Bradley Meck <bradley.meck@gmail.com>
|
||||
Bart Teeuwisse <bart.teeuwisse@thecodemill.biz>
|
||||
Ben Noordhuis <info@bnoordhuis.nl>
|
||||
Tor Valamo <tor.valamo@gmail.com>
|
||||
Whyme.Lyu <5longluna@gmail.com>
|
||||
Bart Teeuwisse <bart.teeuwisse@thecodemill.biz> (http://thecodemill.biz/)
|
||||
Ben Noordhuis <info@bnoordhuis.nl> (http://bnoordhuis.nl/)
|
||||
Tor Valamo <tor.valamo@gmail.com> (http://www.magnimedia.no/)
|
||||
Whyme.Lyu <5longluna@gmail.com> (http://whyme.kuantu.com/)
|
||||
Olivier Melcher <olivier.melcher@gmail.com>
|
||||
Tomaž Muraus <kami@k5-storitve.net>
|
||||
Evan Meagher <evan.meagher@gmail.com>
|
||||
Orlando Vazquez <ovazquez@gmail.com>
|
||||
Tomaž Muraus <kami@k5-storitve.net> (http://www.tomaz-muraus.info)
|
||||
Evan Meagher <evan.meagher@gmail.com> (http://evanmeagher.net/)
|
||||
Orlando Vazquez <ovazquez@gmail.com> (http://2wycked.net/)
|
||||
George Miroshnykov <gmiroshnykov@lohika.com>
|
||||
Geoff Flarity <geoff.flarity@gmail.com>
|
||||
Geoff Flarity (http://ca.linkedin.com/pub/geoff-flarity/a/536/43a)
|
||||
Pete Kruckenberg <pete@kruckenberg.com>
|
||||
Laurie Harper <laurie@holoweb.net>
|
||||
Laurie Harper <laurie@holoweb.net> (http://laurie.holoweb.net/)
|
||||
Chris Wong <chris@chriswongstudio.com>
|
||||
Max Goodman <c@chromacode.com>
|
||||
Max Goodman <c@chromacode.com> (http://chromacode.com/)
|
||||
Scott Bronson <brons_github@rinspin.com>
|
||||
Federico Romero <federomero@gmail.com>
|
||||
Visnu Pitiyanuvath <visnupx@gmail.com>
|
||||
Irakli Gozalishvili <rfobic@gmail.com>
|
||||
Mark Cahill <mark@tiemonster.info>
|
||||
Visnu Pitiyanuvath <visnupx@gmail.com> (http://visnup.com)
|
||||
Irakli Gozalishvili <rfobic@gmail.com> (http://jeditoolkit.com/)
|
||||
Mark Cahill <mark@tiemonster.info> (http://www.tiemonster.info/)
|
||||
Zearin <zearin@gonk.net>
|
||||
Iain Sproat <iainsproat@gmail.com>
|
||||
Trent Mick <trentm@gmail.com>
|
||||
Felix Geisendörfer <felix@debuggable.com>
|
||||
Conny Brunnkvist <cbrunnkvist@gmail.com>
|
||||
Will Elwood <w.elwood08@gmail.com>
|
||||
Oleg Efimov <efimovov@gmail.com>
|
||||
Trent Mick <trentm@gmail.com> (http://trentm.com/)
|
||||
Felix Geisendörfer <felix@debuggable.com> (http://www.debuggable.com/)
|
||||
Conny Brunnkvist <cbrunnkvist@gmail.com> (http://twitter.com/connyb)
|
||||
Will Elwood <w.elwood08@gmail.com> (https://github.com/welwood08)
|
||||
Oleg Efimov <efimovov@gmail.com> (http://sannis.ru)
|
||||
Martin Cooper <mfncooper@gmail.com>
|
||||
Jameson Little <t.jameson.little@gmail.com>
|
||||
cspotcode <cspotcode@gmail.com>
|
||||
@@ -90,69 +90,3 @@ Paul Miller <paul@paulmillr.com>
|
||||
seebees <seebees@gmail.com>
|
||||
Carl Lange <carl@flax.ie>
|
||||
Jan Lehnardt <jan@apache.org>
|
||||
Alexey Kreschuk <akrsch@gmail.com>
|
||||
Di Wu <dwu@palantir.com>
|
||||
Florian Margaine <florian@margaine.com>
|
||||
Forbes Lindesay <forbes@lindesay.co.uk>
|
||||
Ian Babrou <ibobrik@gmail.com>
|
||||
Jaakko Manninen <jaakko@rocketpack.fi>
|
||||
Johan Nordberg <its@johan-nordberg.com>
|
||||
Johan Sköld <johan@skold.cc>
|
||||
Larz Conwell <larz@larz-laptop.(none)>
|
||||
Luke Arduini <luke.arduini@gmail.com>
|
||||
Marcel Klehr <mklehr@gmx.net>
|
||||
Mathias Bynens <mathias@qiwi.be>
|
||||
Matt Lunn <matt@mattlunn.me.uk>
|
||||
Matt McClure <matt.mcclure@mapmyfitness.com>
|
||||
Nirk Niggler <nirk.niggler@gmail.com>
|
||||
Paolo Fragomeni <paolo@async.ly>
|
||||
Jake Verbaten (Raynos) <raynos2@gmail.com>
|
||||
Robert Kowalski <rok@kowalski.gd>
|
||||
Schabse Laks <Dev@SLaks.net>
|
||||
Stuart Knightley <stuart@stuartk.com>
|
||||
Stuart P. Bentley <stuart@testtrack4.com>
|
||||
Vaz Allen <vaz@tryptid.com>
|
||||
elisee <elisee@sparklin.org>
|
||||
Evan You <yyx990803@gmail.com>
|
||||
Wil Moore III <wil.moore@wilmoore.com>
|
||||
Dylan Greene <dylang@gmail.com>
|
||||
zeke <zeke@sikelianos.com>
|
||||
Andrew Horton <andrew.j.horton@gmail.com>
|
||||
Denis Gladkikh <outcoldman@gmail.com>
|
||||
Daniel Santiago <daniel.santiago@highlevelwebs.com>
|
||||
Alex Kocharin <alex@kocharin.ru>
|
||||
Evan Lucas <evanlucas@me.com>
|
||||
Steve Mason <stevem@brandwatch.com>
|
||||
Quinn Slack <qslack@qslack.com>
|
||||
Sébastien Santoro <dereckson@espace-win.org>
|
||||
CamilleM <camille.moulin@alterway.fr>
|
||||
Tom Huang <hzlhu.dargon@gmail.com>
|
||||
Sergey Belov <peimei@ya.ru>
|
||||
Younghoon Park <sola92@gmail.com>
|
||||
Yazhong Liu <yorkiefixer@gmail.com>
|
||||
Mikola Lysenko <mikolalysenko@gmail.com>
|
||||
Rafael de Oleza <rafa@spotify.com>
|
||||
Yeonghoon Park <sola92@gmail.com>
|
||||
Franck Cuny <franck.cuny@gmail.com>
|
||||
Alan Shaw <alan@freestyle-developments.co.uk>
|
||||
Alex Rodionov <p0deje@gmail.com>
|
||||
Alexej Yaroshevich <alex@qfox.ru>
|
||||
Elan Shanker <elan.shanker@gmail.com>
|
||||
François Frisch <francoisfrisch@gmail.com>
|
||||
Gabriel Falkenberg <gabriel.falkenberg@gmail.com>
|
||||
Jason Diamond <jason@diamond.name>
|
||||
Jess Martin <jessmartin@gmail.com>
|
||||
Jon Spencer <jon@jonspencer.ca>
|
||||
Matt Colyer <matt@colyer.name>
|
||||
Matt McClure <matt.mcclure@mapmyfitness.com>
|
||||
Maximilian Antoni <maximilian.antoni@juliusbaer.com>
|
||||
Nicholas Kinsey <pyro@feisty.io>
|
||||
Paulo Cesar <pauloc062@gmail.com>
|
||||
Quim Calpe <quim@kalpe.com>
|
||||
Robert Gieseke <robert.gieseke@gmail.com>
|
||||
Spain Train <michael.spainhower@opower.com>
|
||||
TJ Holowaychuk <tj@vision-media.ca>
|
||||
Thom Blake <tblake@brightroll.com>
|
||||
Trevor Burnham <tburnham@hubspot.com>
|
||||
bitspill <bitspill+github@bitspill.net>
|
||||
Neil Gentleman <ngentleman@gmail.com>
|
||||
|
||||
737
deps/npm/CHANGELOG.md
vendored
737
deps/npm/CHANGELOG.md
vendored
@@ -1,737 +0,0 @@
|
||||
### v1.4.28 (2014-09-12):
|
||||
|
||||
* [`f4540b6`](https://github.com/npm/npm/commit/f4540b6537a87e653d7495a9ddcf72949fdd4d14)
|
||||
[#6043](https://github.com/npm/npm/issues/6043) defer rollbacks until just
|
||||
before the CLI exits ([@isaacs](https://github.com/isaacs))
|
||||
* [`1eabfd5`](https://github.com/npm/npm/commit/1eabfd5c03f33c2bd28823714ff02059eeee3899)
|
||||
[#6043](https://github.com/npm/npm/issues/6043) `slide@1.1.6`: wait until all
|
||||
callbacks have finished before proceeding
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
|
||||
### v1.4.27 (2014-09-04):
|
||||
|
||||
* [`4cf3c8f`](https://github.com/npm/npm/commit/4cf3c8fd78c9e2693a5f899f50c28f4823c88e2e)
|
||||
[#6007](https://github.com/npm/npm/issues/6007) `request@2.42.0`: properly set
|
||||
headers on proxy requests ([@isaacs](https://github.com/isaacs))
|
||||
* [`403cb52`](https://github.com/npm/npm/commit/403cb526be1472bb7545fa8e62d4976382cdbbe5)
|
||||
[#6055](https://github.com/npm/npm/issues/6055) `npmconf@1.1.8`: restore
|
||||
case-insensitivity of environmental config
|
||||
([@iarna](https://github.com/iarna))
|
||||
|
||||
### v1.4.26 (2014-08-28):
|
||||
|
||||
* [`eceea95`](https://github.com/npm/npm/commit/eceea95c804fa15b18e91c52c0beb08d42a3e77d)
|
||||
`github-url-from-git@1.4.0`: add support for git+https and git+ssh
|
||||
([@stefanbuck](https://github.com/stefanbuck))
|
||||
* [`e561758`](https://github.com/npm/npm/commit/e5617587e7d7ab686192391ce55357dbc7fed0a3)
|
||||
`columnify@1.2.1` ([@othiym23](https://github.com/othiym23))
|
||||
* [`0c4fab3`](https://github.com/npm/npm/commit/0c4fab372ee76eab01dda83b6749429a8564902e)
|
||||
`cmd-shim@2.0.0`: upgrade to graceful-fs 3
|
||||
([@ForbesLindesay](https://github.com/ForbesLindesay))
|
||||
* [`2d69e4d`](https://github.com/npm/npm/commit/2d69e4d95777671958b5e08d3b2f5844109d73e4)
|
||||
`github-url-from-username-repo@1.0.0`: accept slashes in branch names
|
||||
([@robertkowalski](https://github.com/robertkowalski))
|
||||
* [`81f9b2b`](https://github.com/npm/npm/commit/81f9b2bac9d34c223ea093281ba3c495f23f10d1)
|
||||
ensure lifecycle spawn errors caught properly
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`bfaab8c`](https://github.com/npm/npm/commit/bfaab8c6e0942382a96b250634ded22454c36b5a)
|
||||
`npm-registry-client@2.0.7`: properly encode % in passwords
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`91cfb58`](https://github.com/npm/npm/commit/91cfb58dda851377ec604782263519f01fd96ad8)
|
||||
doc: Fix 'npm help index' ([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.25 (2014-08-21):
|
||||
|
||||
* [`64c0ec2`](https://github.com/npm/npm/commit/64c0ec241ef5d83761ca8de54acb3c41b079956e)
|
||||
`npm-registry-client@2.0.6`: Print the notification header returned by the
|
||||
registry, and make sure status codes are printed without gratuitous quotes
|
||||
around them.
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`a8ed12b`](https://github.com/npm/npm/commit/a8ed12b) `tar@1.0.1`:
|
||||
Add test for removing an extract target immediately after unpacking.
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`70fd11d`](https://github.com/npm/npm/commit/70fd11d)
|
||||
`lockfile@1.0.0`: Fix incorrect interaction between `wait`, `stale`,
|
||||
and `retries` options. Part 2 of race condition leading to `ENOENT`
|
||||
errors.
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`0072c4d`](https://github.com/npm/npm/commit/0072c4d)
|
||||
`fstream@1.0.2`: Fix a double-finish call which can result in excess
|
||||
FS operations after the `close` event. Part 2 of race condition
|
||||
leading to `ENOENT` errors.
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.24 (2014-08-14):
|
||||
|
||||
* [`9344bd9`](https://github.com/npm/npm/commit/9344bd9b2929b5c399a0e0e0b34d45bce7bc24bb)
|
||||
doc: add new changelog ([@othiym23](https://github.com/othiym23))
|
||||
* [`4be76fd`](https://github.com/npm/npm/commit/4be76fd65e895883c337a99f275ccc8c801adda3)
|
||||
doc: update version doc to include `pre-*` increment args
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`e4f2620`](https://github.com/npm/npm/commit/e4f262036080a282ad60e236a9aeebd39fde9fe4)
|
||||
build: add `make tag` to tag current release as `latest`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`ec2596a`](https://github.com/npm/npm/commit/ec2596a7cb626772780b25b0a94a7e547a812bd5)
|
||||
build: publish with `--tag=v1.4-next` ([@isaacs](https://github.com/isaacs))
|
||||
* [`9ee55f8`](https://github.com/npm/npm/commit/9ee55f892b8b473032a43c59912c5684fd1b39e6)
|
||||
build: add script to output `v1.4-next` publish tag
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`aecb56f`](https://github.com/npm/npm/commit/aecb56f95a84687ea46920a0b98aaa587fee1568)
|
||||
build: remove outdated `docpublish` make target
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`b57a9b7`](https://github.com/npm/npm/commit/b57a9b7ccd13e6b38831ed63595c8ea5763da247)
|
||||
build: remove unpublish step from `make publish`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`2c6acb9`](https://github.com/npm/npm/commit/2c6acb96c71c16106965d5cd829b67195dd673c7)
|
||||
install: rename `.gitignore` when unpacking foreign tarballs
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`22f3681`](https://github.com/npm/npm/commit/22f3681923e993a47fc1769ba735bfa3dd138082)
|
||||
cache: detect non-gzipped tar files more reliably
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v2.0.0-alpha-6 (2014-07-31):
|
||||
|
||||
* [`d987707`](https://github.com/npm/npm/commit/d987707) move fetch into
|
||||
npm-registry-client ([@othiym23](https://github.com/othiym23))
|
||||
* [`9b318e2`](https://github.com/npm/npm/commit/9b318e2) `read-installed@3.0.0`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`9d73de7`](https://github.com/npm/npm/commit/9d73de7) remove unnecessary
|
||||
mkdirps ([@isaacs](https://github.com/isaacs))
|
||||
* [`ea547e2`](https://github.com/npm/npm/commit/ea547e2) Bump semver to version 3
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`33ccd13`](https://github.com/npm/npm/commit/33ccd13) Don't squash execute
|
||||
perms in `_git-remotes/` dir ([@adammeadows](https://github.com/adammeadows))
|
||||
* [`48fd233`](https://github.com/npm/npm/commit/48fd233) `npm-package-arg@2.0.1`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.23 (2014-07-31):
|
||||
|
||||
* [`8dd11d1`](https://github.com/npm/npm/commit/8dd11d1) update several
|
||||
dependencies to avoid using `semver`s starting with 0.
|
||||
|
||||
### v1.4.22 (2014-07-31):
|
||||
|
||||
* [`d9a9e84`](https://github.com/npm/npm/commit/d9a9e84) `read-package-json@1.2.4`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`86f0340`](https://github.com/npm/npm/commit/86f0340)
|
||||
`github-url-from-git@1.2.0` ([@isaacs](https://github.com/isaacs))
|
||||
* [`a94136a`](https://github.com/npm/npm/commit/a94136a) `fstream@0.1.29`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`bb82d18`](https://github.com/npm/npm/commit/bb82d18) `glob@4.0.5`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`5b6bcf4`](https://github.com/npm/npm/commit/5b6bcf4) `cmd-shim@1.1.2`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`c2aa8b3`](https://github.com/npm/npm/commit/c2aa8b3) license: Cleaned up
|
||||
legalese with actual lawyer ([@isaacs](https://github.com/isaacs))
|
||||
* [`63fe0ee`](https://github.com/npm/npm/commit/63fe0ee) `init-package-json@1.0.0`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v2.0.0-alpha-5 (2014-07-22):
|
||||
|
||||
This release bumps up to 2.0 because of this breaking change, which could
|
||||
potentially affect how your package's scripts are run:
|
||||
|
||||
* [`df4b0e7`](https://github.com/npm/npm/commit/df4b0e7fc1abd9a54f98db75ec9e4d03d37d125b)
|
||||
[#5518](https://github.com/npm/npm/issues/5518) BREAKING CHANGE: support
|
||||
passing arguments to `run` scripts ([@bcoe](https://github.com/bcoe))
|
||||
|
||||
Other changes:
|
||||
|
||||
* [`cd422c9`](https://github.com/npm/npm/commit/cd422c9de510766797c65720d70f085000f50543)
|
||||
[#5748](https://github.com/npm/npm/issues/5748) link binaries for scoped
|
||||
packages ([@othiym23](https://github.com/othiym23))
|
||||
* [`4c3c778`](https://github.com/npm/npm/commit/4c3c77839920e830991e0c229c3c6a855c914d67)
|
||||
[#5758](https://github.com/npm/npm/issues/5758) `npm link` includes scope
|
||||
when linking scoped package ([@fengmk2](https://github.com/fengmk2))
|
||||
* [`f9f58dd`](https://github.com/npm/npm/commit/f9f58dd0f5b715d4efa6619f13901916d8f99c47)
|
||||
[#5707](https://github.com/npm/npm/issues/5707) document generic pre- /
|
||||
post-commands ([@sudodoki](https://github.com/sudodoki))
|
||||
* [`ac7a480`](https://github.com/npm/npm/commit/ac7a4801d80361b41dce4a18f22bcdf75e396000)
|
||||
[#5406](https://github.com/npm/npm/issues/5406) `npm cache` displays usage
|
||||
when called without arguments
|
||||
([@michaelnisi](https://github.com/michaelnisi))
|
||||
* [`f4554e9`](https://github.com/npm/npm/commit/f4554e99d34f77a8a02884493748f7d49a9a9d8b)
|
||||
Test fixes for Windows ([@isaacs](https://github.com/isaacs))
|
||||
* update dependencies ([@othiym23](https://github.com/othiym23))
|
||||
|
||||
|
||||
### v1.5.0-alpha-4 (2014-07-18):
|
||||
|
||||
* fall back to `_auth` config as default auth when using default registry
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* support for 'init.version' for those who don't want to deal with semver 0.0.x
|
||||
oddities ([@rvagg](https://github.com/rvagg))
|
||||
* [`be06213`](https://github.com/npm/npm/commit/be06213415f2d51a50d2c792b4cd0d3412a9a7b1)
|
||||
remove residual support for `win` log level
|
||||
([@aterris](https://github.com/aterris))
|
||||
|
||||
### v1.5.0-alpha-3 (2014-07-17):
|
||||
|
||||
* [`a3a85dd`](https://github.com/npm/npm/commit/a3a85dd004c9245a71ad2f0213bd1a9a90d64cd6)
|
||||
`--save` scoped packages correctly ([@othiym23](https://github.com/othiym23))
|
||||
* [`18a3385`](https://github.com/npm/npm/commit/18a3385bcf8bfb8312239216afbffb7eec759150)
|
||||
`npm-registry-client@3.0.2` ([@othiym23](https://github.com/othiym23))
|
||||
* [`375988b`](https://github.com/npm/npm/commit/375988b9bf5aa5170f06a790d624d31b1eb32c6d)
|
||||
invalid package names are an early error for optional deps
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* consistently use `node-package-arg` instead of arbitrary package spec
|
||||
splitting ([@othiym23](https://github.com/othiym23))
|
||||
|
||||
### v1.4.21 (2014-07-14):
|
||||
|
||||
* [`88f51aa`](https://github.com/npm/npm/commit/88f51aa27eb9a958d1fa7ec50fee5cfdedd05110)
|
||||
fix handling for 301s in `npm-registry-client@2.0.3`
|
||||
([@Raynos](https://github.com/Raynos))
|
||||
|
||||
### v1.5.0-alpha-2 (2014-07-01):
|
||||
|
||||
* [`54cf625`](https://github.com/npm/npm/commit/54cf62534e3331e3f454e609e44f0b944e819283)
|
||||
fix handling for 301s in `npm-registry-client@3.0.1`
|
||||
([@Raynos](https://github.com/Raynos))
|
||||
* [`e410861`](https://github.com/npm/npm/commit/e410861c69a3799c1874614cb5b87af8124ff98d)
|
||||
don't crash if no username set on `whoami`
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`0353dde`](https://github.com/npm/npm/commit/0353ddeaca8171aa7dbdd8102b7e2eb581a86406)
|
||||
respect `--json` for output ([@isaacs](https://github.com/isaacs))
|
||||
* [`b3d112a`](https://github.com/npm/npm/commit/b3d112ae190b984cc1779b9e6de92218f22380c6)
|
||||
outdated: Don't show headings if there's nothing to output
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`bb4b90c`](https://github.com/npm/npm/commit/bb4b90c80dbf906a1cb26d85bc0625dc2758acc3)
|
||||
outdated: Default to `latest` rather than `*` for unspecified deps
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.20 (2014-07-02):
|
||||
|
||||
* [`0353dde`](https://github.com/npm/npm/commit/0353ddeaca8171aa7dbdd8102b7e2eb581a86406)
|
||||
respect `--json` for output ([@isaacs](https://github.com/isaacs))
|
||||
* [`b3d112a`](https://github.com/npm/npm/commit/b3d112ae190b984cc1779b9e6de92218f22380c6)
|
||||
outdated: Don't show headings if there's nothing to output
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* [`bb4b90c`](https://github.com/npm/npm/commit/bb4b90c80dbf906a1cb26d85bc0625dc2758acc3)
|
||||
outdated: Default to `latest` rather than `*` for unspecified deps
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.5.0-alpha-1 (2014-07-01):
|
||||
|
||||
* [`eef4884`](https://github.com/npm/npm/commit/eef4884d6487ee029813e60a5f9c54e67925d9fa)
|
||||
use the correct piece of the spec for GitHub shortcuts
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
|
||||
### v1.5.0-alpha-0 (2014-07-01):
|
||||
|
||||
* [`7f55057`](https://github.com/npm/npm/commit/7f55057807cfdd9ceaf6331968e666424f48116c)
|
||||
install scoped packages ([#5239](https://github.com/npm/npm/issues/5239))
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`0df7e16`](https://github.com/npm/npm/commit/0df7e16c0232d8f4d036ebf4ec3563215517caac)
|
||||
publish scoped packages ([#5239](https://github.com/npm/npm/issues/5239))
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`0689ba2`](https://github.com/npm/npm/commit/0689ba249b92b4c6279a26804c96af6f92b3a501)
|
||||
support (and save) --scope=@s config
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`f34878f`](https://github.com/npm/npm/commit/f34878fc4cee29901e4daf7bace94be01e25cad7)
|
||||
scope credentials to registry ([@othiym23](https://github.com/othiym23))
|
||||
* [`0ac7ca2`](https://github.com/npm/npm/commit/0ac7ca233f7a69751fe4386af6c4daa3ee9fc0da)
|
||||
capture and store bearer tokens when sent by registry
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`63c3277`](https://github.com/npm/npm/commit/63c3277f089b2c4417e922826bdc313ac854cad6)
|
||||
only delete files that are created by npm
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* [`4f54043`](https://github.com/npm/npm/commit/4f540437091d1cbca3915cd20c2da83c2a88bb8e)
|
||||
`npm-package-arg@2.0.0` ([@othiym23](https://github.com/othiym23))
|
||||
* [`9e1460e`](https://github.com/npm/npm/commit/9e1460e6ac9433019758481ec031358f4af4cd44)
|
||||
`read-package-json@1.2.3` ([@othiym23](https://github.com/othiym23))
|
||||
* [`719d8ad`](https://github.com/npm/npm/commit/719d8adb9082401f905ff4207ede494661f8a554)
|
||||
`fs-vacuum@1.2.1` ([@othiym23](https://github.com/othiym23))
|
||||
* [`9ef8fe4`](https://github.com/npm/npm/commit/9ef8fe4d6ead3acb3e88c712000e2d3a9480ebec)
|
||||
`async-some@1.0.0` ([@othiym23](https://github.com/othiym23))
|
||||
* [`a964f65`](https://github.com/npm/npm/commit/a964f65ab662107b62a4ca58535ce817e8cca331)
|
||||
`npmconf@2.0.1` ([@othiym23](https://github.com/othiym23))
|
||||
* [`113765b`](https://github.com/npm/npm/commit/113765bfb7d3801917c1d9f124b8b3d942bec89a)
|
||||
`npm-registry-client@3.0.0` ([@othiym23](https://github.com/othiym23))
|
||||
|
||||
### v1.4.19 (2014-07-01):
|
||||
|
||||
* [`f687433`](https://github.com/npm/npm/commit/f687433) relative URLS for
|
||||
working non-root registry URLS ([@othiym23](https://github.com/othiym23))
|
||||
* [`bea190c`](https://github.com/npm/npm/commit/bea190c)
|
||||
[#5591](https://github.com/npm/npm/issues/5591) bump nopt and npmconf
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.18 (2014-06-29):
|
||||
|
||||
* Bump glob dependency from 4.0.2 to 4.0.3. It now uses graceful-fs when
|
||||
available, increasing resilience to [various filesystem
|
||||
errors](https://github.com/isaacs/node-graceful-fs#improvements-over-fs-module).
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.17 (2014-06-27):
|
||||
|
||||
* replace escape codes with ansicolors
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
* Allow to build all the docs OOTB. ([@GeJ](https://github.com/GeJ))
|
||||
* Use core.longpaths on win32 git - fixes
|
||||
[#5525](https://github.com/npm/npm/issues/5525) (Bradley Meck)
|
||||
* `npmconf@1.1.2` ([@isaacs](https://github.com/isaacs))
|
||||
* Consolidate color sniffing in config/log loading process
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* add verbose log when project config file is ignored
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* npmconf: Float patch to remove 'scope' from config defs
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* doc: npm-explore can't handle a version
|
||||
([@robertkowalski](https://github.com/robertkowalski))
|
||||
* Add user-friendly errors for ENOSPC and EROFS.
|
||||
([@voodootikigod](https://github.com/voodootikigod))
|
||||
* bump tar and fstream deps ([@isaacs](https://github.com/isaacs))
|
||||
* Run the npm-registry-couchapp tests along with npm tests
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.2.8000 (2014-06-17):
|
||||
|
||||
* Same as v1.4.16, but with the spinner disabled, and a version number that
|
||||
starts with v1.2.
|
||||
|
||||
### v1.4.16 (2014-06-17):
|
||||
|
||||
* `npm-registry-client@2.0.2` ([@isaacs](https://github.com/isaacs))
|
||||
* `fstream@0.1.27` ([@isaacs](https://github.com/isaacs))
|
||||
* `sha@1.2.4` ([@isaacs](https://github.com/isaacs))
|
||||
* `rimraf@2.2.8` ([@isaacs](https://github.com/isaacs))
|
||||
* `npmlog@1.0.1` ([@isaacs](https://github.com/isaacs))
|
||||
* `npm-registry-client@2.0.1` ([@isaacs](https://github.com/isaacs))
|
||||
* removed redundant dependency ([@othiym23](https://github.com/othiym23))
|
||||
* `npmconf@1.0.5` ([@isaacs](https://github.com/isaacs))
|
||||
* Properly handle errors that can occur in the config-loading process
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.15 (2014-06-10):
|
||||
|
||||
* cache: atomic de-race-ified package.json writing
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* `fstream@0.1.26` ([@isaacs](https://github.com/isaacs))
|
||||
* `graceful-fs@3.0.2` ([@isaacs](https://github.com/isaacs))
|
||||
* `osenv@0.1.0` ([@isaacs](https://github.com/isaacs))
|
||||
* Only spin the spinner when we're fetching stuff
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* Update `osenv@0.1.0` which removes ~/tmp as possible tmp-folder
|
||||
([@robertkowalski](https://github.com/robertkowalski))
|
||||
* `ini@1.2.1` ([@isaacs](https://github.com/isaacs))
|
||||
* `graceful-fs@3` ([@isaacs](https://github.com/isaacs))
|
||||
* Update glob and things depending on glob
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* github-url-from-username-repo and read-package-json updates
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* `editor@0.1.0` ([@isaacs](https://github.com/isaacs))
|
||||
* `columnify@1.1.0` ([@isaacs](https://github.com/isaacs))
|
||||
* bump ansi and associated deps ([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.14 (2014-06-05):
|
||||
|
||||
* char-spinner: update to not bork windows
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.13 (2014-05-23):
|
||||
|
||||
* Fix `npm install` on a tarball.
|
||||
([`ed3abf1`](https://github.com/npm/npm/commit/ed3abf1aa10000f0f687330e976d78d1955557f6),
|
||||
[#5330](https://github.com/npm/npm/issues/5330),
|
||||
[@othiym23](https://github.com/othiym23))
|
||||
* Fix an issue with the spinner on Node 0.8.
|
||||
([`9f00306`](https://github.com/npm/npm/commit/9f003067909440390198c0b8f92560d84da37762),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Re-add `npm.commands.cache.clean` and `npm.commands.cache.read` APIs, and
|
||||
document `npm.commands.cache.*` as npm-cache(3).
|
||||
([`e06799e`](https://github.com/npm/npm/commit/e06799e77e60c1fc51869619083a25e074d368b3),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.12 (2014-05-23):
|
||||
|
||||
* remove normalize-package-data from top level, de-^-ify inflight dep
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* Always sort saved bundleDependencies ([@isaacs](https://github.com/isaacs))
|
||||
* add inflight to bundledDependencies
|
||||
([@othiym23](https://github.com/othiym23))
|
||||
|
||||
### v1.4.11 (2014-05-22):
|
||||
|
||||
* fix `npm ls` labeling issue
|
||||
* `node-gyp@0.13.1`
|
||||
* default repository to https:// instead of git://
|
||||
* addLocalTarball: Remove extraneous unpack
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* Massive cache folder refactor ([@othiym23](https://github.com/othiym23) and
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Busy Spinner, no http noise ([@isaacs](https://github.com/isaacs))
|
||||
* Per-project .npmrc file support ([@isaacs](https://github.com/isaacs))
|
||||
* `npmconf@1.0.0`, Refactor config/uid/prefix loading process
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* Allow once-disallowed characters in passwords
|
||||
([@isaacs](https://github.com/isaacs))
|
||||
* Send npm version as 'version' header ([@isaacs](https://github.com/isaacs))
|
||||
* fix cygwin encoding issue (Karsten Tinnefeld)
|
||||
* Allow non-github repositories with `npm repo`
|
||||
([@evanlucas](https://github.com/evanlucas))
|
||||
* Allow peer deps to be satisfied by grandparent
|
||||
* Stop optional deps moving into deps on `update --save`
|
||||
([@timoxley](https://github.com/timoxley))
|
||||
* Ensure only matching deps update with `update --save*`
|
||||
([@timoxley](https://github.com/timoxley))
|
||||
* Add support for `prerelease`, `preminor`, `prepatch` to `npm version`
|
||||
|
||||
### v1.4.10 (2014-05-05):
|
||||
|
||||
* Don't set referer if already set
|
||||
* fetch: Send referer and npm-session headers
|
||||
* `run-script`: Support `--parseable` and `--json`
|
||||
* list runnable scripts ([@evanlucas](https://github.com/evanlucas))
|
||||
* Use marked instead of ronn for html docs
|
||||
|
||||
### v1.4.9 (2014-05-01):
|
||||
|
||||
* Send referer header (with any potentially private stuff redacted)
|
||||
* Fix critical typo bug in previous npm release
|
||||
|
||||
### v1.4.8 (2014-05-01):
|
||||
|
||||
* Check SHA before using files from cache
|
||||
* adduser: allow change of the saved password
|
||||
* Make `npm install` respect `config.unicode`
|
||||
* Fix lifecycle to pass `Infinity` for config env value
|
||||
* Don't return 0 exit code on invalid command
|
||||
* cache: Handle 404s and other HTTP errors as errors
|
||||
* Resolve ~ in path configs to env.HOME
|
||||
* Include npm version in default user-agent conf
|
||||
* npm init: Use ISC as default license, use save-prefix for deps
|
||||
* Many test and doc fixes
|
||||
|
||||
### v1.4.7 (2014-04-15):
|
||||
|
||||
* Add `--save-prefix` option that can be used to override the default of `^`
|
||||
when using `npm install --save` and its counterparts.
|
||||
([`64eefdf`](https://github.com/npm/npm/commit/64eefdfe26bb27db8dc90e3ab5d27a5ef18a4470),
|
||||
[@thlorenz](https://github.com/thlorenz))
|
||||
* Allow `--silent` to silence the echoing of commands that occurs with `npm
|
||||
run`.
|
||||
([`c95cf08`](https://github.com/npm/npm/commit/c95cf086e5b97dbb48ff95a72517b203a8f29eab),
|
||||
[@Raynos](https://github.com/Raynos))
|
||||
* Some speed improvements to the cache, which should improve install times.
|
||||
([`cb94310`](https://github.com/npm/npm/commit/cb94310a6adb18cb7b881eacb8d67171eda8b744),
|
||||
[`3b0870f`](https://github.com/npm/npm/commit/3b0870fb2f40358b3051abdab6be4319d196b99d),
|
||||
[`120f5a9`](https://github.com/npm/npm/commit/120f5a93437bbbea9249801574a2f33e44e81c33),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Improve ability to retry registry requests when a subset of the registry
|
||||
servers are down.
|
||||
([`4a5257d`](https://github.com/npm/npm/commit/4a5257de3870ac3dafa39667379f19f6dcd6093e),
|
||||
https://github.com/npm/npm-registry-client/commit/7686d02cb0b844626d6a401e58c0755ef3bc8432,
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Fix marking of peer dependencies as extraneous.
|
||||
([`779b164`](https://github.com/npm/npm/commit/779b1649764607b062c031c7e5c972151b4a1754),
|
||||
https://github.com/npm/read-installed/commit/6680ba6ef235b1ca3273a00b70869798ad662ddc,
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Fix npm crashing when doing `npm shrinkwrap` in the presence of a
|
||||
`package.json` with no dependencies.
|
||||
([`a9d9fa5`](https://github.com/npm/npm/commit/a9d9fa5ad3b8c925a589422b7be28d2735f320b0),
|
||||
[@kislyuk](https://github.com/kislyuk))
|
||||
* Fix error when using `npm view` on packages that have no versions or have
|
||||
been unpublished.
|
||||
([`94df2f5`](https://github.com/npm/npm/commit/94df2f56d684b35d1df043660180fc321b743dc8),
|
||||
[@juliangruber](https://github.com/juliangruber);
|
||||
[`2241a09`](https://github.com/npm/npm/commit/2241a09c843669c70633c399ce698cec3add40b3),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.6 (2014-03-19):
|
||||
|
||||
* Fix extraneous package detection to work in more cases.
|
||||
([`f671286`](https://github.com/npm/npm/commit/f671286), npm/read-installed#20,
|
||||
[@LaurentVB](https://github.com/LaurentVB))
|
||||
|
||||
### v1.4.5 (2014-03-18):
|
||||
|
||||
* Sort dependencies in `package.json` when doing `npm install --save` and all
|
||||
its variants.
|
||||
([`6fd6ff7`](https://github.com/npm/npm/commit/6fd6ff7e536ea6acd33037b1878d4eca1f931985),
|
||||
[@domenic](https://github.com/domenic))
|
||||
* Add `--save-exact` option, usable alongside `--save` and its variants, which
|
||||
will write the exact version number into `package.json` instead of the
|
||||
appropriate semver-compatibility range.
|
||||
([`17f07df`](https://github.com/npm/npm/commit/17f07df8ad8e594304c2445bf7489cb53346f2c5),
|
||||
[@timoxley](https://github.com/timoxley))
|
||||
* Accept gzipped content from the registry to speed up downloads and save
|
||||
bandwidth.
|
||||
([`a3762de`](https://github.com/npm/npm/commit/a3762de843b842be8fa0ab57cdcd6b164f145942),
|
||||
npm/npm-registry-client#40, [@fengmk2](https://github.com/fengmk2))
|
||||
* Fix `npm ls`'s `--depth` and `--log` options.
|
||||
([`1d29b17`](https://github.com/npm/npm/commit/1d29b17f5193d52a5c4faa412a95313dcf41ed91),
|
||||
npm/read-installed#13, [@zertosh](https://github.com/zertosh))
|
||||
* Fix "Adding a cache directory to the cache will make the world implode" in
|
||||
certain cases.
|
||||
([`9a4b2c4`](https://github.com/npm/npm/commit/9a4b2c4667c2b1e0054e3d5611ab86acb1760834),
|
||||
domenic/path-is-inside#1, [@pmarques](https://github.com/pmarques))
|
||||
* Fix readmes not being uploaded in certain rare cases.
|
||||
([`527b72c`](https://github.com/npm/npm/commit/527b72cca6c55762b51e592c48a9f28cc7e2ff8b),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.4 (2014-02-20):
|
||||
|
||||
* Add `npm t` as an alias for `npm test` (which is itself an alias for `npm run
|
||||
test`, or even `npm run-script test`). We like making running your tests
|
||||
easy. ([`14e650b`](https://github.com/npm/npm/commit/14e650bce0bfebba10094c961ac104a61417a5de), [@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.3 (2014-02-16):
|
||||
|
||||
* Add back `npm prune --production`, which was removed in 1.3.24.
|
||||
([`acc4d02`](https://github.com/npm/npm/commit/acc4d023c57d07704b20a0955e4bf10ee91bdc83),
|
||||
[@davglass](https://github.com/davglass))
|
||||
* Default `npm install --save` and its counterparts to use the `^` version
|
||||
specifier, instead of `~`.
|
||||
([`0a3151c`](https://github.com/npm/npm/commit/0a3151c9cbeb50c1c65895685c2eabdc7e2608dc),
|
||||
[@mikolalysenko](https://github.com/mikolalysenko))
|
||||
* Make `npm shrinkwrap` output dependencies in a sorted order, so that diffs
|
||||
between shrinkwrap files should be saner now.
|
||||
([`059b2bf`](https://github.com/npm/npm/commit/059b2bfd06ae775205a37257dca80142596a0113),
|
||||
[@Raynos](https://github.com/Raynos))
|
||||
* Fix `npm dedupe` not correctly respecting dependency constraints.
|
||||
([`86028e9`](https://github.com/npm/npm/commit/86028e9fd8524d5e520ce01ba2ebab5a030103fc),
|
||||
[@rafeca](https://github.com/rafeca))
|
||||
* Fix `npm ls` giving spurious warnings when you used `"latest"` as a version
|
||||
specifier.
|
||||
(https://github.com/npm/read-installed/commit/d2956400e0386931c926e0f30c334840e0938f14,
|
||||
[@bajtos](https://github.com/bajtos))
|
||||
* Fixed a bug where using `npm link` on packages without a `name` value could
|
||||
cause npm to delete itself.
|
||||
([`401a642`](https://github.com/npm/npm/commit/401a64286aa6665a94d1d2f13604f7014c5fce87),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Fixed `npm install ./pkg@1.2.3` to actually install the directory at
|
||||
`pkg@1.2.3`; before it would try to find version `1.2.3` of the package
|
||||
`./pkg` in the npm registry.
|
||||
([`46d8768`](https://github.com/npm/npm/commit/46d876821d1dd94c050d5ebc86444bed12c56739),
|
||||
[@rlidwka](https://github.com/rlidwka); see also
|
||||
[`f851b79`](https://github.com/npm/npm/commit/f851b79a71d9a5f5125aa85877c94faaf91bea5f))
|
||||
* Fix `npm outdated` to respect the `color` configuration option.
|
||||
([`d4f6f3f`](https://github.com/npm/npm/commit/d4f6f3ff83bd14fb60d3ac6392cb8eb6b1c55ce1),
|
||||
[@timoxley](https://github.com/timoxley))
|
||||
* Fix `npm outdated --parseable`.
|
||||
([`9575a23`](https://github.com/npm/npm/commit/9575a23f955ce3e75b509c89504ef0bd707c8cf6),
|
||||
[@yhpark](https://github.com/yhpark))
|
||||
* Fix a lockfile-related errors when using certain Git URLs.
|
||||
([`164b97e`](https://github.com/npm/npm/commit/164b97e6089f64e686db7a9a24016f245effc37f),
|
||||
[@nigelzor](https://github.com/nigelzor))
|
||||
|
||||
### v1.4.2 (2014-02-13):
|
||||
|
||||
* Fixed an issue related to mid-publish GET requests made against the registry.
|
||||
(https://github.com/npm/npm-registry-client/commit/acbec48372bc1816c67c9e7cbf814cf50437ff93,
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.1 (2014-02-13):
|
||||
|
||||
* Fix `npm shrinkwrap` forgetting to shrinkwrap dependencies that were also
|
||||
development dependencies.
|
||||
([`9c575c5`](https://github.com/npm/npm/commit/9c575c56efa9b0c8b0d4a17cb9c1de3833004bcd),
|
||||
[@diwu1989](https://github.com/diwu1989))
|
||||
* Fixed publishing of pre-existing packages with uppercase characters in their
|
||||
name.
|
||||
(https://github.com/npm/npm-registry-client/commit/9345d3b6c3d8510dd5c4418f27ee1fce59acebad,
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.4.0 (2014-02-12):
|
||||
|
||||
* Remove `npm publish --force`. See
|
||||
https://github.com/npm/npmjs.org/issues/148.
|
||||
([@isaacs](https://github.com/isaacs),
|
||||
npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a)
|
||||
* Other changes to the registry client related to saved configs and couch
|
||||
logins. ([@isaacs](https://github.com/isaacs);
|
||||
npm/npm-registry-client@25e2b019a1588155e5f87d035c27e79963b75951,
|
||||
npm/npm-registry-client@9e41e9101b68036e0f078398785f618575f3cdde,
|
||||
npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a)
|
||||
* Show an error to the user when doing `npm update` and the `package.json`
|
||||
specifies a version that does not exist.
|
||||
([@evanlucas](https://github.com/evanlucas),
|
||||
[`027a33a`](https://github.com/npm/npm/commit/027a33a5c594124cc1d82ddec5aee2c18bc8dc32))
|
||||
* Fix some issues with cache ownership in certain installation configurations.
|
||||
([@outcoldman](https://github.com/outcoldman),
|
||||
[`a132690`](https://github.com/npm/npm/commit/a132690a2876cda5dcd1e4ca751f21dfcb11cb9e))
|
||||
* Fix issues where GitHub shorthand dependencies `user/repo` were not always
|
||||
treated the same as full Git URLs.
|
||||
([@robertkowalski](https://github.com/robertkowalski),
|
||||
https://github.com/meryn/normalize-package-data/commit/005d0b637aec1895117fcb4e3b49185eebf9e240)
|
||||
|
||||
### v1.3.26 (2014-02-02):
|
||||
|
||||
* Fixes and updates to publishing code
|
||||
([`735427a`](https://github.com/npm/npm/commit/735427a69ba4fe92aafa2d88f202aaa42920a9e2)
|
||||
and
|
||||
[`c0ac832`](https://github.com/npm/npm/commit/c0ac83224d49aa62e55577f8f27d53bbfd640dc5),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Fix `npm bugs` with no arguments.
|
||||
([`b99d465`](https://github.com/npm/npm/commit/b99d465221ac03bca30976cbf4d62ca80ab34091),
|
||||
[@Hoops](https://github.com/Hoops))
|
||||
|
||||
### v1.3.25 (2014-01-25):
|
||||
|
||||
* Remove gubblebum blocky font from documentation headers.
|
||||
([`6940c9a`](https://github.com/npm/npm/commit/6940c9a100160056dc6be8f54a7ad7fa8ceda7e2),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
### v1.3.24 (2014-01-19):
|
||||
|
||||
* Make the search output prettier, with nice truncated columns, and a `--long`
|
||||
option to create wrapping columns.
|
||||
([`20439b2`](https://github.com/npm/npm/commit/20439b2) and
|
||||
[`3a6942d`](https://github.com/npm/npm/commit/3a6942d),
|
||||
[@timoxley](https://github.com/timoxley))
|
||||
* Support multiple packagenames in `npm docs`.
|
||||
([`823010b`](https://github.com/npm/npm/commit/823010b),
|
||||
[@timoxley](https://github.com/timoxley))
|
||||
* Fix the `npm adduser` bug regarding "Error: default value must be string or
|
||||
number" again. ([`b9b4248`](https://github.com/npm/npm/commit/b9b4248),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Fix `scripts` entries containing whitespaces on Windows.
|
||||
([`80282ed`](https://github.com/npm/npm/commit/80282ed),
|
||||
[@robertkowalski](https://github.com/robertkowalski))
|
||||
* Fix `npm update` for Git URLs that have credentials in them
|
||||
([`93fc364`](https://github.com/npm/npm/commit/93fc364),
|
||||
[@danielsantiago](https://github.com/danielsantiago))
|
||||
* Fix `npm install` overwriting `npm link`-ed dependencies when they are tagged
|
||||
Git dependencies. ([`af9bbd9`](https://github.com/npm/npm/commit/af9bbd9),
|
||||
[@evanlucas](https://github.com/evanlucas))
|
||||
* Remove `npm prune --production` since it buggily removed some dependencies
|
||||
that were necessary for production; see
|
||||
[#4509](https://github.com/npm/npm/issues/4509). Hopefully it can make its
|
||||
triumphant return, one day.
|
||||
([`1101b6a`](https://github.com/npm/npm/commit/1101b6a),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
|
||||
Dependency updates:
|
||||
* [`909cccf`](https://github.com/npm/npm/commit/909cccf) `read-package-json@1.1.6`
|
||||
* [`a3891b6`](https://github.com/npm/npm/commit/a3891b6) `rimraf@2.2.6`
|
||||
* [`ac6efbc`](https://github.com/npm/npm/commit/ac6efbc) `sha@1.2.3`
|
||||
* [`dd30038`](https://github.com/npm/npm/commit/dd30038) `node-gyp@0.12.2`
|
||||
* [`c8c3ebe`](https://github.com/npm/npm/commit/c8c3ebe) `npm-registry-client@0.3.3`
|
||||
* [`4315286`](https://github.com/npm/npm/commit/4315286) `npmconf@0.1.12`
|
||||
|
||||
### v1.3.23 (2014-01-03):
|
||||
|
||||
* Properly handle installations that contained a certain class of circular
|
||||
dependencies.
|
||||
([`5dc93e8`](https://github.com/npm/npm/commit/5dc93e8c82604c45b6067b1acf1c768e0bfce754),
|
||||
[@substack](https://github.com/substack))
|
||||
|
||||
### v1.3.22 (2013-12-25):
|
||||
|
||||
* Fix a critical bug in `npm adduser` that would manifest in the error message
|
||||
"Error: default value must be string or number."
|
||||
([`fba4bd2`](https://github.com/npm/npm/commit/fba4bd24bc2ab00ccfeda2043aa53af7d75ef7ce),
|
||||
[@isaacs](https://github.com/isaacs))
|
||||
* Allow `npm bugs` in the current directory to open the current package's bugs
|
||||
URL.
|
||||
([`d04cf64`](https://github.com/npm/npm/commit/d04cf6483932c693452f3f778c2fa90f6153a4af),
|
||||
[@evanlucas](https://github.com/evanlucas))
|
||||
* Several fixes to various error messages to include more useful or updated
|
||||
information.
|
||||
([`1e6f2a7`](https://github.com/npm/npm/commit/1e6f2a72ca058335f9f5e7ca22d01e1a8bb0f9f7),
|
||||
[`ff46366`](https://github.com/npm/npm/commit/ff46366bd40ff0ef33c7bac8400bc912c56201d1),
|
||||
[`8b4bb48`](https://github.com/npm/npm/commit/8b4bb4815d80a3612186dc5549d698e7b988eb03);
|
||||
[@rlidwka](https://github.com/rlidwka),
|
||||
[@evanlucas](https://github.com/evanlucas))
|
||||
|
||||
### v1.3.21 (2013-12-17):
|
||||
|
||||
* Fix a critical bug that prevented publishing due to incorrect hash
|
||||
calculation.
|
||||
([`4ca4a2c`](https://github.com/npm/npm-registry-client/commit/4ca4a2c6333144299428be6b572e2691aa59852e),
|
||||
[@dominictarr](https://github.com/dominictarr))
|
||||
|
||||
### v1.3.20 (2013-12-17):
|
||||
|
||||
* Fixes a critical bug in v1.3.19. Thankfully, due to that bug, no one could
|
||||
install npm v1.3.19 :)
|
||||
|
||||
### v1.3.19 (2013-12-16):
|
||||
|
||||
* Adds atomic PUTs for publishing packages, which should result in far fewer
|
||||
requests and less room for replication errors on the server-side.
|
||||
|
||||
### v1.3.18 (2013-12-16):
|
||||
|
||||
* Added an `--ignore-scripts` option, which will prevent `package.json` scripts
|
||||
from being run. Most notably, this will work on `npm install`, so e.g. `npm
|
||||
install --ignore-scripts` will not run preinstall and prepublish scripts.
|
||||
([`d7e67bf`](https://github.com/npm/npm/commit/d7e67bf0d94b085652ec1c87d595afa6f650a8f6),
|
||||
[@sqs](https://github.com/sqs))
|
||||
* Fixed a bug introduced in 1.3.16 that would manifest with certain cache
|
||||
configurations, by causing spurious errors saying "Adding a cache directory
|
||||
to the cache will make the world implode."
|
||||
([`966373f`](https://github.com/npm/npm/commit/966373fad8d741637f9744882bde9f6e94000865),
|
||||
[@domenic](https://github.com/domenic))
|
||||
* Re-fixed the multiple download of URL dependencies, whose fix was reverted in
|
||||
1.3.17.
|
||||
([`a362c3f`](https://github.com/npm/npm/commit/a362c3f1919987419ed8a37c8defa19d2e6697b0),
|
||||
[@spmason](https://github.com/spmason))
|
||||
|
||||
### v1.3.17 (2013-12-11):
|
||||
|
||||
* This release reverts
|
||||
[`644c2ff`](https://github.com/npm/npm/commit/644c2ff3e3d9c93764f7045762477f48864d64a7),
|
||||
which avoided re-downloading URL and shinkwrap dependencies when doing `npm
|
||||
install`. You can see the in-depth reasoning in
|
||||
[`d8c907e`](https://github.com/npm/npm/commit/d8c907edc2019b75cff0f53467e34e0ffd7e5fba);
|
||||
the problem was, that the patch changed the behavior of `npm install -f` to
|
||||
reinstall all dependencies.
|
||||
* A new version of the no-re-downloading fix has been submitted as
|
||||
[#4303](https://github.com/npm/npm/issues/4303) and will hopefully be
|
||||
included in the next release.
|
||||
|
||||
### v1.3.16 (2013-12-11):
|
||||
|
||||
* Git URL dependencies are now updated on `npm install`, fixing a two-year old
|
||||
bug
|
||||
([`5829ecf`](https://github.com/npm/npm/commit/5829ecf032b392d2133bd351f53d3c644961396b),
|
||||
[@robertkowalski](https://github.com/robertkowalski)). Additional progress on
|
||||
reducing the resulting Git-related I/O is tracked as
|
||||
[#4191](https://github.com/npm/npm/issues/4191), but for now, this will be a
|
||||
big improvement.
|
||||
* Added a `--json` mode to `npm outdated` to give a parseable output.
|
||||
([`0b6c9b7`](https://github.com/npm/npm/commit/0b6c9b7c8c5579f4d7d37a0c24d9b7a12ccbe5fe),
|
||||
[@yyx990803](https://github.com/yyx990803))
|
||||
* Made `npm outdated` much prettier and more useful. It now outputs a
|
||||
color-coded and easy-to-read table.
|
||||
([`fd3017f`](https://github.com/npm/npm/commit/fd3017fc3e9d42acf6394a5285122edb4dc16106),
|
||||
[@quimcalpe](https://github.com/quimcalpe))
|
||||
* Added the `--depth` option to `npm outdated`, so that e.g. you can do `npm
|
||||
outdated --depth=0` to show only top-level outdated dependencies.
|
||||
([`1d184ef`](https://github.com/npm/npm/commit/1d184ef3f4b4bc309d38e9128732e3e6fb46d49c),
|
||||
[@yyx990803](https://github.com/yyx990803))
|
||||
* Added a `--no-git-tag-version` option to `npm version`, for doing the usual
|
||||
job of `npm version` minus the Git tagging. This could be useful if you need
|
||||
to increase the version in other related files before actually adding the
|
||||
tag.
|
||||
([`59ca984`](https://github.com/npm/npm/commit/59ca9841ba4f4b2f11b8e72533f385c77ae9f8bd),
|
||||
[@evanlucas](https://github.com/evanlucas))
|
||||
* Made `npm repo` and `npm docs` work without any arguments, adding them to the
|
||||
list of npm commands that work on the package in the current directory when
|
||||
invoked without arguments.
|
||||
([`bf9048e`](https://github.com/npm/npm/commit/bf9048e2fa16d43fbc4b328d162b0a194ca484e8),
|
||||
[@robertkowalski](https://github.com/robertkowalski);
|
||||
[`07600d0`](https://github.com/npm/npm/commit/07600d006c652507cb04ac0dae9780e35073dd67),
|
||||
[@wilmoore](https://github.com/wilmoore)). There are a few other commands we
|
||||
still want to implement this for; see
|
||||
[#4204](https://github.com/npm/npm/issues/4204).
|
||||
* Pass through the `GIT_SSL_NO_VERIFY` environment variable to Git, if it is
|
||||
set; we currently do this with a few other environment variables, but we
|
||||
missed that one.
|
||||
([`c625de9`](https://github.com/npm/npm/commit/c625de91770df24c189c77d2e4bc821f2265efa8),
|
||||
[@arikon](https://github.com/arikon))
|
||||
* Fixed `npm dedupe` on Windows due to incorrect path separators being used
|
||||
([`7677de4`](https://github.com/npm/npm/commit/7677de4583100bc39407093ecc6bc13715bf8161),
|
||||
[@mcolyer](https://github.com/mcolyer)).
|
||||
* Fixed the `npm help` command when multiple words were searched for; it
|
||||
previously gave a `ReferenceError`.
|
||||
([`6a28dd1`](https://github.com/npm/npm/commit/6a28dd147c6957a93db12b1081c6e0da44fe5e3c),
|
||||
[@dereckson](https://github.com/dereckson))
|
||||
* Stopped re-downloading URL and shrinkwrap dependencies, as demonstrated in
|
||||
[#3463](https://github.com/npm/npm/issues/3463)
|
||||
([`644c2ff`](https://github.com/isaacs/npm/commit/644c2ff3e3d9c93764f7045762477f48864d64a7),
|
||||
[@spmason](https://github.com/spmason)). You can use the `--force` option to
|
||||
force re-download and installation of all dependencies.
|
||||
9
deps/npm/CONTRIBUTING.md
vendored
9
deps/npm/CONTRIBUTING.md
vendored
@@ -1,9 +0,0 @@
|
||||
## Before you submit a new issue
|
||||
|
||||
* Check if there's a simple solution in the
|
||||
[Troubleshooting](https://github.com/npm/npm/wiki/Troubleshooting)
|
||||
wiki.
|
||||
* [Search for similar
|
||||
issues](https://github.com/npm/npm/search?q=Similar%20issues&type=Issues).
|
||||
* Ensure your new issue conforms to the [Contributing
|
||||
Guidelines](https://github.com/npm/npm/wiki/Contributing-Guidelines).
|
||||
294
deps/npm/LICENSE
vendored
294
deps/npm/LICENSE
vendored
@@ -1,256 +1,52 @@
|
||||
Copyright (c) npm, Inc. and Contributors
|
||||
Copyright (c) Isaac Z. Schlueter (the "Original Author")
|
||||
All rights reserved.
|
||||
|
||||
npm is released under the Artistic License 2.0, subject to additional terms
|
||||
that are listed below.
|
||||
MIT +no-false-attribs License
|
||||
|
||||
The text of the npm License follows and the text of the additional terms
|
||||
follows the Artistic License 2.0 terms:
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
Distributions of all or part of the Software intended to be used
|
||||
by the recipients as they would use the unmodified Software,
|
||||
containing modifications that substantially alter, remove, or
|
||||
disable functionality of the Software, outside of the documented
|
||||
configuration mechanisms provided by the Software, shall be
|
||||
modified such that the Original Author's bug reporting email
|
||||
addresses and urls are either replaced with the contact information
|
||||
of the parties responsible for the changes, or removed entirely.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
--------
|
||||
Except where noted, this license applies to any and all software
|
||||
programs and associated documentation files created by the
|
||||
Original Author, when distributed with the Software.
|
||||
|
||||
"Node.js" and "node" trademark Joyent, Inc. npm is not officially
|
||||
part of the Node.js project, and is neither owned by nor
|
||||
officially affiliated with Joyent, Inc.
|
||||
|
||||
The Artistic License 2.0
|
||||
|
||||
Copyright (c) 2000-2006, The Perl Foundation.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
This license establishes the terms under which a given free software
|
||||
Package may be copied, modified, distributed, and/or redistributed.
|
||||
The intent is that the Copyright Holder maintains some artistic
|
||||
control over the development of that Package while still keeping the
|
||||
Package available as open source and free software.
|
||||
|
||||
You are always permitted to make arrangements wholly outside of this
|
||||
license directly with the Copyright Holder of a given Package. If the
|
||||
terms of this license do not permit the full use that you propose to
|
||||
make of the Package, you should contact the Copyright Holder and seek
|
||||
a different licensing arrangement.
|
||||
|
||||
Definitions
|
||||
|
||||
"Copyright Holder" means the individual(s) or organization(s)
|
||||
named in the copyright notice for the entire Package.
|
||||
|
||||
"Contributor" means any party that has contributed code or other
|
||||
material to the Package, in accordance with the Copyright Holder's
|
||||
procedures.
|
||||
|
||||
"You" and "your" means any person who would like to copy,
|
||||
distribute, or modify the Package.
|
||||
|
||||
"Package" means the collection of files distributed by the
|
||||
Copyright Holder, and derivatives of that collection and/or of
|
||||
those files. A given Package may consist of either the Standard
|
||||
Version, or a Modified Version.
|
||||
|
||||
"Distribute" means providing a copy of the Package or making it
|
||||
accessible to anyone else, or in the case of a company or
|
||||
organization, to others outside of your company or organization.
|
||||
|
||||
"Distributor Fee" means any fee that you charge for Distributing
|
||||
this Package or providing support for this Package to another
|
||||
party. It does not mean licensing fees.
|
||||
|
||||
"Standard Version" refers to the Package if it has not been
|
||||
modified, or has been modified only in ways explicitly requested
|
||||
by the Copyright Holder.
|
||||
|
||||
"Modified Version" means the Package, if it has been changed, and
|
||||
such changes were not explicitly requested by the Copyright
|
||||
Holder.
|
||||
|
||||
"Original License" means this Artistic License as Distributed with
|
||||
the Standard Version of the Package, in its current version or as
|
||||
it may be modified by The Perl Foundation in the future.
|
||||
|
||||
"Source" form means the source code, documentation source, and
|
||||
configuration files for the Package.
|
||||
|
||||
"Compiled" form means the compiled bytecode, object code, binary,
|
||||
or any other form resulting from mechanical transformation or
|
||||
translation of the Source form.
|
||||
|
||||
|
||||
Permission for Use and Modification Without Distribution
|
||||
|
||||
(1) You are permitted to use the Standard Version and create and use
|
||||
Modified Versions for any purpose without restriction, provided that
|
||||
you do not Distribute the Modified Version.
|
||||
|
||||
|
||||
Permissions for Redistribution of the Standard Version
|
||||
|
||||
(2) You may Distribute verbatim copies of the Source form of the
|
||||
Standard Version of this Package in any medium without restriction,
|
||||
either gratis or for a Distributor Fee, provided that you duplicate
|
||||
all of the original copyright notices and associated disclaimers. At
|
||||
your discretion, such verbatim copies may or may not include a
|
||||
Compiled form of the Package.
|
||||
|
||||
(3) You may apply any bug fixes, portability changes, and other
|
||||
modifications made available from the Copyright Holder. The resulting
|
||||
Package will still be considered the Standard Version, and as such
|
||||
will be subject to the Original License.
|
||||
|
||||
|
||||
Distribution of Modified Versions of the Package as Source
|
||||
|
||||
(4) You may Distribute your Modified Version as Source (either gratis
|
||||
or for a Distributor Fee, and with or without a Compiled form of the
|
||||
Modified Version) provided that you clearly document how it differs
|
||||
from the Standard Version, including, but not limited to, documenting
|
||||
any non-standard features, executables, or modules, and provided that
|
||||
you do at least ONE of the following:
|
||||
|
||||
(a) make the Modified Version available to the Copyright Holder
|
||||
of the Standard Version, under the Original License, so that the
|
||||
Copyright Holder may include your modifications in the Standard
|
||||
Version.
|
||||
|
||||
(b) ensure that installation of your Modified Version does not
|
||||
prevent the user installing or running the Standard Version. In
|
||||
addition, the Modified Version must bear a name that is different
|
||||
from the name of the Standard Version.
|
||||
|
||||
(c) allow anyone who receives a copy of the Modified Version to
|
||||
make the Source form of the Modified Version available to others
|
||||
under
|
||||
|
||||
(i) the Original License or
|
||||
|
||||
(ii) a license that permits the licensee to freely copy,
|
||||
modify and redistribute the Modified Version using the same
|
||||
licensing terms that apply to the copy that the licensee
|
||||
received, and requires that the Source form of the Modified
|
||||
Version, and of any works derived from it, be made freely
|
||||
available in that license fees are prohibited but Distributor
|
||||
Fees are allowed.
|
||||
|
||||
|
||||
Distribution of Compiled Forms of the Standard Version
|
||||
or Modified Versions without the Source
|
||||
|
||||
(5) You may Distribute Compiled forms of the Standard Version without
|
||||
the Source, provided that you include complete instructions on how to
|
||||
get the Source of the Standard Version. Such instructions must be
|
||||
valid at the time of your distribution. If these instructions, at any
|
||||
time while you are carrying out such distribution, become invalid, you
|
||||
must provide new instructions on demand or cease further distribution.
|
||||
If you provide valid instructions or cease distribution within thirty
|
||||
days after you become aware that the instructions are invalid, then
|
||||
you do not forfeit any of your rights under this license.
|
||||
|
||||
(6) You may Distribute a Modified Version in Compiled form without
|
||||
the Source, provided that you comply with Section 4 with respect to
|
||||
the Source of the Modified Version.
|
||||
|
||||
|
||||
Aggregating or Linking the Package
|
||||
|
||||
(7) You may aggregate the Package (either the Standard Version or
|
||||
Modified Version) with other packages and Distribute the resulting
|
||||
aggregation provided that you do not charge a licensing fee for the
|
||||
Package. Distributor Fees are permitted, and licensing fees for other
|
||||
components in the aggregation are permitted. The terms of this license
|
||||
apply to the use and Distribution of the Standard or Modified Versions
|
||||
as included in the aggregation.
|
||||
|
||||
(8) You are permitted to link Modified and Standard Versions with
|
||||
other works, to embed the Package in a larger work of your own, or to
|
||||
build stand-alone binary or bytecode versions of applications that
|
||||
include the Package, and Distribute the result without restriction,
|
||||
provided the result does not expose a direct interface to the Package.
|
||||
|
||||
|
||||
Items That are Not Considered Part of a Modified Version
|
||||
|
||||
(9) Works (including, but not limited to, modules and scripts) that
|
||||
merely extend or make use of the Package, do not, by themselves, cause
|
||||
the Package to be a Modified Version. In addition, such works are not
|
||||
considered parts of the Package itself, and are not subject to the
|
||||
terms of this license.
|
||||
|
||||
|
||||
General Provisions
|
||||
|
||||
(10) Any use, modification, and distribution of the Standard or
|
||||
Modified Versions is governed by this Artistic License. By using,
|
||||
modifying or distributing the Package, you accept this license. Do not
|
||||
use, modify, or distribute the Package, if you do not accept this
|
||||
license.
|
||||
|
||||
(11) If your Modified Version has been derived from a Modified
|
||||
Version made by someone other than you, you are nevertheless required
|
||||
to ensure that your Modified Version complies with the requirements of
|
||||
Packages published in the npm registry (other than the Software and
|
||||
its included dependencies) are not part of npm itself, are the sole
|
||||
property of their respective maintainers, and are not covered by
|
||||
this license.
|
||||
|
||||
(12) This license does not grant you the right to use any trademark,
|
||||
service mark, tradename, or logo of the Copyright Holder.
|
||||
|
||||
(13) This license includes the non-exclusive, worldwide,
|
||||
free-of-charge patent license to make, have made, use, offer to sell,
|
||||
sell, import and otherwise transfer the Package with respect to any
|
||||
patent claims licensable by the Copyright Holder that are necessarily
|
||||
infringed by the Package. If you institute patent litigation
|
||||
(including a cross-claim or counterclaim) against any party alleging
|
||||
that the Package constitutes direct or contributory patent
|
||||
infringement, then this Artistic License to you shall terminate on the
|
||||
date that such litigation is filed.
|
||||
|
||||
(14) Disclaimer of Warranty:
|
||||
THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
|
||||
IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
|
||||
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
|
||||
LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
--------
|
||||
|
||||
|
||||
The following additional terms shall apply to use of the npm software, the npm
|
||||
website, the npm repository and any other services or products offered by npm,
|
||||
Inc.:
|
||||
|
||||
"Node.js" trademark Joyent, Inc. npm is not officially part of the Node.js
|
||||
project, and is neither owned by nor affiliated with Joyent, Inc.
|
||||
|
||||
"npm" and "The npm Registry" are owned by npm, Inc. All rights reserved.
|
||||
|
||||
Modules published on the npm registry are not officially endorsed by npm, Inc.
|
||||
or the Node.js project.
|
||||
|
||||
Data published to the npm registry is not part of npm itself, and is the sole
|
||||
property of the publisher. While every effort is made to ensure accountability,
|
||||
there is absolutely no guarantee, warrantee, or assertion expressed or implied
|
||||
as to the quality, fitness for a specific purpose, or lack of malice in any
|
||||
given npm package. Packages downloaded through the npm registry are
|
||||
independently licensed and are not covered by this license.
|
||||
|
||||
Additional policies relating to, and restrictions on use of, npm products and
|
||||
services are available on the npm website. All such policies and restrictions,
|
||||
as updated from time to time, are hereby incorporated into this license
|
||||
agreement. By using npm, you acknowledge your agreement to all such policies
|
||||
and restrictions.
|
||||
|
||||
If you have a complaint about a package in the public npm registry, and cannot
|
||||
resolve it with the package owner, please email support@npmjs.com and explain
|
||||
the situation. See the [npm Dispute Resolution
|
||||
policy](https://github.com/npm/policies/blob/master/disputes.md) for more
|
||||
details.
|
||||
|
||||
Any data published to The npm Registry (including user account information) may
|
||||
be removed or modified at the sole discretion of the npm server administrators.
|
||||
|
||||
"npm Logo" created by Mathias Pettersson and Brian Hammond,
|
||||
used with permission.
|
||||
|
||||
@@ -259,5 +55,11 @@ Copyright (c) by Tjarda Koster, http://jelloween.deviantart.com
|
||||
included for use in the npm website and documentation,
|
||||
used with permission.
|
||||
|
||||
This program uses several Node modules contained in the node_modules/
|
||||
subdirectory, according to the terms of their respective licenses.
|
||||
This program uses "request", Copyright (c) Mikeal Rogers,
|
||||
according to the terms of the Apache license.
|
||||
|
||||
This program uses "mkdirp", Copyright (c) James Halliday,
|
||||
according to the terms of the MIT/X11 license.
|
||||
|
||||
This program uses "opener", Copyright (c) Domenic Denicola,
|
||||
according to the terms of the DWTFPL2 license.
|
||||
|
||||
174
deps/npm/Makefile
vendored
174
deps/npm/Makefile
vendored
@@ -1,59 +1,31 @@
|
||||
# vim: set softtabstop=2 shiftwidth=2:
|
||||
SHELL = bash
|
||||
|
||||
PUBLISHTAG = $(shell node scripts/publish-tag.js)
|
||||
BRANCH = $(shell git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md
|
||||
|
||||
html_docdeps = html/dochead.html \
|
||||
html/docfoot.html \
|
||||
scripts/doc-build.sh \
|
||||
package.json
|
||||
|
||||
cli_mandocs = $(shell find doc/cli -name '*.md' \
|
||||
|sed 's|.md|.1|g' \
|
||||
|sed 's|doc/cli/|man/man1/|g' ) \
|
||||
man/man1/npm-README.1
|
||||
man/man1/README.1 \
|
||||
man/man1/index.1
|
||||
|
||||
api_mandocs = $(shell find doc/api -name '*.md' \
|
||||
|sed 's|.md|.3|g' \
|
||||
|sed 's|doc/api/|man/man3/|g' )
|
||||
|
||||
files_mandocs = $(shell find doc/files -name '*.md' \
|
||||
|sed 's|.md|.5|g' \
|
||||
|sed 's|doc/files/|man/man5/|g' ) \
|
||||
man/man5/npm-json.5 \
|
||||
man/man5/npm-global.5
|
||||
|
||||
misc_mandocs = $(shell find doc/misc -name '*.md' \
|
||||
|sed 's|.md|.7|g' \
|
||||
|sed 's|doc/misc/|man/man7/|g' ) \
|
||||
man/man7/npm-index.7
|
||||
|
||||
cli_htmldocs = $(shell find doc/cli -name '*.md' \
|
||||
|grep -v 'index.md' \
|
||||
|sed 's|.md|.html|g' \
|
||||
|sed 's|doc/cli/|html/doc/cli/|g' ) \
|
||||
html/doc/README.html
|
||||
|sed 's|doc/cli/|html/doc/|g' ) \
|
||||
html/doc/README.html \
|
||||
html/doc/index.html
|
||||
|
||||
api_htmldocs = $(shell find doc/api -name '*.md' \
|
||||
|sed 's|.md|.html|g' \
|
||||
|sed 's|doc/api/|html/doc/api/|g' )
|
||||
|sed 's|doc/api/|html/api/|g' )
|
||||
|
||||
files_htmldocs = $(shell find doc/files -name '*.md' \
|
||||
|sed 's|.md|.html|g' \
|
||||
|sed 's|doc/files/|html/doc/files/|g' ) \
|
||||
html/doc/files/npm-json.html \
|
||||
html/doc/files/npm-global.html
|
||||
mandocs = $(api_mandocs) $(cli_mandocs)
|
||||
|
||||
misc_htmldocs = $(shell find doc/misc -name '*.md' \
|
||||
|sed 's|.md|.html|g' \
|
||||
|sed 's|doc/misc/|html/doc/misc/|g' ) \
|
||||
html/doc/index.html
|
||||
|
||||
mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
|
||||
|
||||
htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
|
||||
htmldocs = $(api_htmldocs) $(cli_htmldocs)
|
||||
|
||||
all: doc
|
||||
|
||||
@@ -63,7 +35,7 @@ latest:
|
||||
@echo "in this folder that you're looking at right now."
|
||||
node cli.js install -g -f npm
|
||||
|
||||
install: docclean all
|
||||
install: all
|
||||
node cli.js install -g -f
|
||||
|
||||
# backwards compat
|
||||
@@ -72,8 +44,8 @@ dev: install
|
||||
link: uninstall
|
||||
node cli.js link -f
|
||||
|
||||
clean: markedclean ronnclean doc-clean uninstall
|
||||
rm -rf npmrc
|
||||
clean: doc-clean uninstall
|
||||
rm npmrc
|
||||
node cli.js cache clean
|
||||
|
||||
uninstall:
|
||||
@@ -81,24 +53,22 @@ uninstall:
|
||||
|
||||
doc: $(mandocs) $(htmldocs)
|
||||
|
||||
markedclean:
|
||||
rm -rf node_modules/marked node_modules/.bin/marked .building_marked
|
||||
|
||||
ronnclean:
|
||||
rm -rf node_modules/ronn node_modules/.bin/ronn .building_ronn
|
||||
|
||||
docclean: doc-clean
|
||||
doc-clean:
|
||||
rm -rf \
|
||||
.building_marked \
|
||||
.building_ronn \
|
||||
html/doc \
|
||||
html/api \
|
||||
man
|
||||
node_modules/ronn \
|
||||
node_modules/.bin/ronn \
|
||||
.building_ronn \
|
||||
doc/cli/index.md \
|
||||
doc/api/index.md \
|
||||
$(api_mandocs) \
|
||||
$(cli_mandocs) \
|
||||
$(api_htmldocs) \
|
||||
$(cli_htmldocs) \
|
||||
&>/dev/null || true
|
||||
|
||||
# use `npm install ronn` for this to work.
|
||||
man/man1/npm-README.1: README.md scripts/doc-build.sh package.json
|
||||
@[ -d man/man1 ] || mkdir -p man/man1
|
||||
man/man1/README.1: README.md scripts/doc-build.sh package.json
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json
|
||||
@@ -109,84 +79,60 @@ man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json
|
||||
@[ -d man/man3 ] || mkdir -p man/man3
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
man/man5/npm-json.5: man/man5/package.json.5
|
||||
cp $< $@
|
||||
|
||||
man/man5/npm-global.5: man/man5/npm-folders.5
|
||||
cp $< $@
|
||||
|
||||
man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json
|
||||
@[ -d man/man5 ] || mkdir -p man/man5
|
||||
html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
doc/misc/npm-index.md: scripts/index-build.js package.json
|
||||
html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json
|
||||
node scripts/index-build.js > $@
|
||||
|
||||
html/doc/index.html: doc/misc/npm-index.md $(html_docdeps)
|
||||
@[ -d html/doc ] || mkdir -p html/doc
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json
|
||||
@[ -d man/man7 ] || mkdir -p man/man7
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/doc/README.html: README.md $(html_docdeps)
|
||||
@[ -d html/doc ] || mkdir -p html/doc
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/doc/cli/%.html: doc/cli/%.md $(html_docdeps)
|
||||
@[ -d html/doc/cli ] || mkdir -p html/doc/cli
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/doc/api/%.html: doc/api/%.md $(html_docdeps)
|
||||
@[ -d html/doc/api ] || mkdir -p html/doc/api
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/doc/files/npm-json.html: html/doc/files/package.json.html
|
||||
cp $< $@
|
||||
html/doc/files/npm-global.html: html/doc/files/npm-folders.html
|
||||
cp $< $@
|
||||
|
||||
html/doc/files/%.html: doc/files/%.md $(html_docdeps)
|
||||
@[ -d html/doc/files ] || mkdir -p html/doc/files
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
html/doc/misc/%.html: doc/misc/%.md $(html_docdeps)
|
||||
@[ -d html/doc/misc ] || mkdir -p html/doc/misc
|
||||
scripts/doc-build.sh $< $@
|
||||
|
||||
|
||||
marked: node_modules/.bin/marked
|
||||
|
||||
node_modules/.bin/marked:
|
||||
node cli.js install marked --no-global
|
||||
|
||||
ronn: node_modules/.bin/ronn
|
||||
|
||||
node_modules/.bin/ronn:
|
||||
node cli.js install ronn --no-global
|
||||
node cli.js install ronn
|
||||
|
||||
doc: man
|
||||
|
||||
man: $(cli_docs) $(api_docs)
|
||||
|
||||
test: doc
|
||||
test:
|
||||
node cli.js test
|
||||
|
||||
tag:
|
||||
npm tag npm@$(PUBLISHTAG) latest
|
||||
|
||||
publish: link doc
|
||||
@git push origin :v$(shell npm -v) 2>&1 || true
|
||||
git clean -fd &&\
|
||||
git push origin $(BRANCH) &&\
|
||||
@git push origin :v$(shell npm -v) || true
|
||||
@npm unpublish npm@$(shell npm -v) || true
|
||||
git clean -fd
|
||||
git push origin --tags &&\
|
||||
npm publish --tag=$(PUBLISHTAG)
|
||||
npm publish &&\
|
||||
npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
|
||||
make doc-publish &&\
|
||||
make zip-publish
|
||||
|
||||
docpublish: doc-publish
|
||||
doc-publish: doc
|
||||
rsync -vazu --stats --no-implied-dirs --delete \
|
||||
html/doc/ \
|
||||
node@npmjs.org:/home/node/npm-www/doc
|
||||
rsync -vazu --stats --no-implied-dirs --delete \
|
||||
html/api/ \
|
||||
node@npmjs.org:/home/node/npm-www/api
|
||||
rsync -vazu --stats --no-implied-dirs --delete \
|
||||
html/static/webfonts/ \
|
||||
node@npmjs.org:/home/node/npm-www/static/webfonts
|
||||
rsync -vazu --stats --no-implied-dirs --delete \
|
||||
html/static/style.css \
|
||||
node@npmjs.org:/home/node/npm-www/static/
|
||||
|
||||
zip-publish: release
|
||||
scp release/* node@nodejs.org:dist/npm/
|
||||
|
||||
release:
|
||||
@bash scripts/release.sh
|
||||
|
||||
sandwich:
|
||||
@[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || (echo "make it yourself" && exit 13)
|
||||
@[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || echo "make it yourself" && exit 13
|
||||
|
||||
.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release
|
||||
.PHONY: all latest install dev link doc clean uninstall test man doc-publish doc-clean docclean docpublish release zip-publish
|
||||
|
||||
76
deps/npm/README.md
vendored
76
deps/npm/README.md
vendored
@@ -1,6 +1,6 @@
|
||||
npm(1) -- node package manager
|
||||
==============================
|
||||
[](https://travis-ci.org/npm/npm)
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
This is just enough info to get you up and running.
|
||||
@@ -9,7 +9,7 @@ Much more info available via `npm help` once it's installed.
|
||||
|
||||
## IMPORTANT
|
||||
|
||||
**You need node v0.8 or higher to run this program.**
|
||||
**You need node v0.6 or higher to run this program.**
|
||||
|
||||
To install an old **and unsupported** version of npm that works on node 0.3
|
||||
and prior, clone the git repo and dig through the old tags and branches.
|
||||
@@ -36,11 +36,7 @@ paths, etc.) then read on.
|
||||
## Fancy Install (Unix)
|
||||
|
||||
There's a pretty robust install script at
|
||||
<https://www.npmjs.org/install.sh>. You can download that and run it.
|
||||
|
||||
Here's an example using curl:
|
||||
|
||||
curl -L https://npmjs.org/install.sh | sh
|
||||
<https://npmjs.org/install.sh>. You can download that and run it.
|
||||
|
||||
### Slightly Fancier
|
||||
|
||||
@@ -173,61 +169,59 @@ help config` to learn about all the options you can set there.
|
||||
|
||||
## More Docs
|
||||
|
||||
Check out the [docs](https://www.npmjs.org/doc/),
|
||||
especially the [faq](https://www.npmjs.org/doc/faq.html).
|
||||
Check out the [docs](https://npmjs.org/doc/),
|
||||
especially the [faq](https://npmjs.org/doc/faq.html).
|
||||
|
||||
You can use the `npm help` command to read any of them.
|
||||
|
||||
If you're a developer, and you want to use npm to publish your program,
|
||||
you should [read this](https://www.npmjs.org/doc/developers.html)
|
||||
you should [read this](https://npmjs.org/doc/developers.html)
|
||||
|
||||
## Legal Stuff
|
||||
|
||||
"npm" and "The npm Registry" are owned by npm, Inc.
|
||||
All rights reserved. See the included LICENSE file for more details.
|
||||
"npm" and "the npm registry" are owned by Isaac Z. Schlueter. All
|
||||
rights not explicitly granted in the MIT license are reserved. See the
|
||||
included LICENSE file for more details.
|
||||
|
||||
"Node.js" and "node" are trademarks owned by Joyent, Inc.
|
||||
"Node.js" and "node" are trademarks owned by Joyent, Inc. npm is not
|
||||
officially part of the Node.js project, and is neither owned by nor
|
||||
officially affiliated with Joyent, Inc.
|
||||
|
||||
Modules published on the npm registry are not officially endorsed by
|
||||
npm, Inc. or the Node.js project.
|
||||
The packages in the npm registry are not part of npm itself, and are the
|
||||
sole property of their respective maintainers. While every effort is
|
||||
made to ensure accountability, there is absolutely no guarantee,
|
||||
warrantee, or assertion made as to the quality, fitness for a specific
|
||||
purpose, or lack of malice in any given npm package. Modules
|
||||
published on the npm registry are not affiliated with or endorsed by
|
||||
Joyent, Inc., Isaac Z. Schlueter, Ryan Dahl, or the Node.js project.
|
||||
|
||||
Data published to the npm registry is not part of npm itself, and is
|
||||
the sole property of the publisher. While every effort is made to
|
||||
ensure accountability, there is absolutely no guarantee, warrantee, or
|
||||
assertion expressed or implied as to the quality, fitness for a
|
||||
specific purpose, or lack of malice in any given npm package.
|
||||
If you have a complaint about a package in the npm registry, and cannot
|
||||
resolve it with the package owner, please express your concerns to
|
||||
Isaac Z. Schlueter at <i@izs.me>.
|
||||
|
||||
If you have a complaint about a package in the public npm registry,
|
||||
and cannot [resolve it with the package
|
||||
owner](https://www.npmjs.org/doc/misc/npm-disputes.html), please email
|
||||
<support@npmjs.com> and explain the situation.
|
||||
### In plain english
|
||||
|
||||
Any data published to The npm Registry (including user account
|
||||
information) may be removed or modified at the sole discretion of the
|
||||
npm server administrators.
|
||||
|
||||
### In plainer english
|
||||
|
||||
npm is the property of npm, Inc.
|
||||
This is mine; not my employer's, not Node's, not Joyent's, not Ryan
|
||||
Dahl's.
|
||||
|
||||
If you publish something, it's yours, and you are solely accountable
|
||||
for it.
|
||||
for it. Not me, not Node, not Joyent, not Ryan Dahl.
|
||||
|
||||
If other people publish something, it's theirs.
|
||||
If other people publish something, it's theirs. Not mine, not Node's,
|
||||
not Joyent's, not Ryan Dahl's.
|
||||
|
||||
Users can publish Bad Stuff. It will be removed promptly if reported.
|
||||
But there is no vetting process for published modules, and you use
|
||||
them at your own risk. Please inspect the source.
|
||||
Yes, you can publish something evil. It will be removed promptly if
|
||||
reported, and we'll lose respect for you. But there is no vetting
|
||||
process for published modules.
|
||||
|
||||
If you publish Bad Stuff, we may delete it from the registry, or even
|
||||
ban your account in extreme cases. So don't do that.
|
||||
If this concerns you, inspect the source before using packages.
|
||||
|
||||
## BUGS
|
||||
|
||||
When you find issues, please report them:
|
||||
|
||||
* web:
|
||||
<https://github.com/npm/npm/issues>
|
||||
<https://github.com/isaacs/npm/issues>
|
||||
* email:
|
||||
<npm-@googlegroups.com>
|
||||
|
||||
@@ -240,6 +234,6 @@ will no doubt tell you to put the output in a gist or email.
|
||||
## SEE ALSO
|
||||
|
||||
* npm(1)
|
||||
* npm-faq(7)
|
||||
* npm-faq(1)
|
||||
* npm-help(1)
|
||||
* npm-index(7)
|
||||
* npm-index(1)
|
||||
|
||||
1
deps/npm/bin/npm
vendored
1
deps/npm/bin/npm
vendored
@@ -1,5 +1,4 @@
|
||||
#!/bin/sh
|
||||
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
|
||||
|
||||
basedir=`dirname "$0"`
|
||||
|
||||
|
||||
22
deps/npm/doc/api/commands.md
vendored
Normal file
22
deps/npm/doc/api/commands.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
npm-commands(3) -- npm commands
|
||||
===============================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands[<command>](args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm comes with a full set of commands, and each of the commands takes a
|
||||
similar set of arguments.
|
||||
|
||||
In general, all commands on the command object take an **array** of positional
|
||||
argument **strings**. The last argument to any function is a callback. Some
|
||||
commands are special and take other optional arguments.
|
||||
|
||||
All commands have their own man page. See `man npm-<command>` for command-line
|
||||
usage, or `man 3 npm-<command>` for programmatic usage.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-index(1)
|
||||
34
deps/npm/doc/api/deprecate.md
vendored
Normal file
34
deps/npm/doc/api/deprecate.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
npm-deprecate(3) -- Deprecate a version of a package
|
||||
====================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.deprecate(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command will update the npm registry entry for a package, providing
|
||||
a deprecation warning to all who attempt to install it.
|
||||
|
||||
The 'args' parameter must have exactly two elements:
|
||||
|
||||
* `package[@version]`
|
||||
|
||||
The `version` portion is optional, and may be either a range, or a
|
||||
specific version, or a tag.
|
||||
|
||||
* `message`
|
||||
|
||||
The warning message that will be printed whenever a user attempts to
|
||||
install the package.
|
||||
|
||||
Note that you must be the package owner to deprecate something. See the
|
||||
`owner` and `adduser` help topics.
|
||||
|
||||
To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-publish(3)
|
||||
* npm-unpublish(3)
|
||||
* npm-registry(1)
|
||||
29
deps/npm/doc/api/init.md
vendored
Normal file
29
deps/npm/doc/api/init.md
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
npm init(3) -- Interactively create a package.json file
|
||||
=======================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.init(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This will ask you a bunch of questions, and then write a package.json for you.
|
||||
|
||||
It attempts to make reasonable guesses about what you want things to be set to,
|
||||
and then writes a package.json file with the options you've selected.
|
||||
|
||||
If you already have a package.json file, it'll read that first, and default to
|
||||
the options in there.
|
||||
|
||||
It is strictly additive, so it does not delete options from your package.json
|
||||
without a really good reason to do so.
|
||||
|
||||
Since this function expects to be run on the command-line, it doesn't work very
|
||||
well as a programmatically. The best option is to roll your own, and since
|
||||
JavaScript makes it stupid simple to output formatted JSON, that is the
|
||||
preferred method. If you're sure you want to handle command-line prompting,
|
||||
then go ahead and use this programmatically.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
npm-json(1)
|
||||
33
deps/npm/doc/api/link.md
vendored
Normal file
33
deps/npm/doc/api/link.md
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
npm-link(3) -- Symlink a package folder
|
||||
=======================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.command.link(callback)
|
||||
npm.command.link(packages, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Package linking is a two-step process.
|
||||
|
||||
Without parameters, link will create a globally-installed
|
||||
symbolic link from `prefix/package-name` to the current folder.
|
||||
|
||||
With a parameters, link will create a symlink from the local `node_modules`
|
||||
folder to the global symlink.
|
||||
|
||||
When creating tarballs for `npm publish`, the linked packages are
|
||||
"snapshotted" to their current state by resolving the symbolic links.
|
||||
|
||||
This is
|
||||
handy for installing your own stuff, so that you can work on it and test it
|
||||
iteratively without having to continually rebuild.
|
||||
|
||||
For example:
|
||||
|
||||
npm.commands.link(cb) # creates global link from the cwd
|
||||
# (say redis package)
|
||||
npm.commands.link('redis', cb) # link-install the package
|
||||
|
||||
Now, any changes to the redis package will be reflected in
|
||||
the package in the current working directory
|
||||
30
deps/npm/doc/api/npm-cache.md
vendored
30
deps/npm/doc/api/npm-cache.md
vendored
@@ -1,30 +0,0 @@
|
||||
npm-cache(3) -- manage the npm cache programmatically
|
||||
=====================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.cache([args], callback)
|
||||
|
||||
// helpers
|
||||
npm.commands.cache.clean([args], callback)
|
||||
npm.commands.cache.add([args], callback)
|
||||
npm.commands.cache.read(name, version, forceBypass, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This acts much the same ways as the npm-cache(1) command line
|
||||
functionality.
|
||||
|
||||
The callback is called with the package.json data of the thing that is
|
||||
eventually added to or read from the cache.
|
||||
|
||||
The top level `npm.commands.cache(...)` functionality is a public
|
||||
interface, and like all commands on the `npm.commands` object, it will
|
||||
match the command line behavior exactly.
|
||||
|
||||
However, the cache folder structure and the cache helper functions are
|
||||
considered **internal** API surface, and as such, may change in future
|
||||
releases of npm, potentially without warning or significant version
|
||||
incrementation.
|
||||
|
||||
Use at your own risk.
|
||||
22
deps/npm/doc/api/npm-commands.md
vendored
22
deps/npm/doc/api/npm-commands.md
vendored
@@ -1,22 +0,0 @@
|
||||
npm-commands(3) -- npm commands
|
||||
===============================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands[<command>](args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm comes with a full set of commands, and each of the commands takes a
|
||||
similar set of arguments.
|
||||
|
||||
In general, all commands on the command object take an **array** of positional
|
||||
argument **strings**. The last argument to any function is a callback. Some
|
||||
commands are special and take other optional arguments.
|
||||
|
||||
All commands have their own man page. See `man npm-<command>` for command-line
|
||||
usage, or `man 3 npm-<command>` for programmatic usage.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-index(7)
|
||||
34
deps/npm/doc/api/npm-deprecate.md
vendored
34
deps/npm/doc/api/npm-deprecate.md
vendored
@@ -1,34 +0,0 @@
|
||||
npm-deprecate(3) -- Deprecate a version of a package
|
||||
====================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.deprecate(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command will update the npm registry entry for a package, providing
|
||||
a deprecation warning to all who attempt to install it.
|
||||
|
||||
The 'args' parameter must have exactly two elements:
|
||||
|
||||
* `package[@version]`
|
||||
|
||||
The `version` portion is optional, and may be either a range, or a
|
||||
specific version, or a tag.
|
||||
|
||||
* `message`
|
||||
|
||||
The warning message that will be printed whenever a user attempts to
|
||||
install the package.
|
||||
|
||||
Note that you must be the package owner to deprecate something. See the
|
||||
`owner` and `adduser` help topics.
|
||||
|
||||
To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-publish(3)
|
||||
* npm-unpublish(3)
|
||||
* npm-registry(7)
|
||||
29
deps/npm/doc/api/npm-init.md
vendored
29
deps/npm/doc/api/npm-init.md
vendored
@@ -1,29 +0,0 @@
|
||||
npm init(3) -- Interactively create a package.json file
|
||||
=======================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.init(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This will ask you a bunch of questions, and then write a package.json for you.
|
||||
|
||||
It attempts to make reasonable guesses about what you want things to be set to,
|
||||
and then writes a package.json file with the options you've selected.
|
||||
|
||||
If you already have a package.json file, it'll read that first, and default to
|
||||
the options in there.
|
||||
|
||||
It is strictly additive, so it does not delete options from your package.json
|
||||
without a really good reason to do so.
|
||||
|
||||
Since this function expects to be run on the command-line, it doesn't work very
|
||||
well as a programmatically. The best option is to roll your own, and since
|
||||
JavaScript makes it stupid simple to output formatted JSON, that is the
|
||||
preferred method. If you're sure you want to handle command-line prompting,
|
||||
then go ahead and use this programmatically.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
package.json(5)
|
||||
33
deps/npm/doc/api/npm-link.md
vendored
33
deps/npm/doc/api/npm-link.md
vendored
@@ -1,33 +0,0 @@
|
||||
npm-link(3) -- Symlink a package folder
|
||||
=======================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.link(callback)
|
||||
npm.commands.link(packages, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Package linking is a two-step process.
|
||||
|
||||
Without parameters, link will create a globally-installed
|
||||
symbolic link from `prefix/package-name` to the current folder.
|
||||
|
||||
With a parameters, link will create a symlink from the local `node_modules`
|
||||
folder to the global symlink.
|
||||
|
||||
When creating tarballs for `npm publish`, the linked packages are
|
||||
"snapshotted" to their current state by resolving the symbolic links.
|
||||
|
||||
This is
|
||||
handy for installing your own stuff, so that you can work on it and test it
|
||||
iteratively without having to continually rebuild.
|
||||
|
||||
For example:
|
||||
|
||||
npm.commands.link(cb) # creates global link from the cwd
|
||||
# (say redis package)
|
||||
npm.commands.link('redis', cb) # link-install the package
|
||||
|
||||
Now, any changes to the redis package will be reflected in
|
||||
the package in the current working directory
|
||||
31
deps/npm/doc/api/npm-owner.md
vendored
31
deps/npm/doc/api/npm-owner.md
vendored
@@ -1,31 +0,0 @@
|
||||
npm-owner(3) -- Manage package owners
|
||||
=====================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.owner(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
The first element of the 'args' parameter defines what to do, and the subsequent
|
||||
elements depend on the action. Possible values for the action are (order of
|
||||
parameters are given in parenthesis):
|
||||
|
||||
* ls (package):
|
||||
List all the users who have access to modify a package and push new versions.
|
||||
Handy when you need to know who to bug for help.
|
||||
* add (user, package):
|
||||
Add a new user as a maintainer of a package. This user is enabled to modify
|
||||
metadata, publish new versions, and add other owners.
|
||||
* rm (user, package):
|
||||
Remove a user from the package owner list. This immediately revokes their
|
||||
privileges.
|
||||
|
||||
Note that there is only one level of access. Either you can modify a package,
|
||||
or you can't. Future versions may contain more fine-grained access levels, but
|
||||
that is not implemented at this time.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-publish(3)
|
||||
* npm-registry(7)
|
||||
30
deps/npm/doc/api/npm-publish.md
vendored
30
deps/npm/doc/api/npm-publish.md
vendored
@@ -1,30 +0,0 @@
|
||||
npm-publish(3) -- Publish a package
|
||||
===================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.publish([packages,] callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Publishes a package to the registry so that it can be installed by name.
|
||||
Possible values in the 'packages' array are:
|
||||
|
||||
* `<folder>`:
|
||||
A folder containing a package.json file
|
||||
|
||||
* `<tarball>`:
|
||||
A url or file path to a gzipped tar archive containing a single folder
|
||||
with a package.json file inside.
|
||||
|
||||
If the package array is empty, npm will try to publish something in the
|
||||
current working directory.
|
||||
|
||||
This command could fails if one of the packages specified already exists in
|
||||
the registry. Overwrites when the "force" environment variable is set.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-registry(7)
|
||||
* npm-adduser(1)
|
||||
* npm-owner(3)
|
||||
19
deps/npm/doc/api/npm-repo.md
vendored
19
deps/npm/doc/api/npm-repo.md
vendored
@@ -1,19 +0,0 @@
|
||||
npm-repo(3) -- Open package repository page in the browser
|
||||
========================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.repo(package, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command tries to guess at the likely location of a package's
|
||||
repository URL, and then tries to open it using the `--browser`
|
||||
config param.
|
||||
|
||||
Like other commands, the first parameter is an array. This command only
|
||||
uses the first element, which is expected to be a package name with an
|
||||
optional version number.
|
||||
|
||||
This command will launch a browser, so this command may not be the most
|
||||
friendly for programmatic use.
|
||||
27
deps/npm/doc/api/npm-run-script.md
vendored
27
deps/npm/doc/api/npm-run-script.md
vendored
@@ -1,27 +0,0 @@
|
||||
npm-run-script(3) -- Run arbitrary package scripts
|
||||
==================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.run-script(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This runs an arbitrary command from a package's "scripts" object.
|
||||
|
||||
It is used by the test, start, restart, and stop commands, but can be
|
||||
called directly, as well.
|
||||
|
||||
The 'args' parameter is an array of strings. Behavior depends on the number
|
||||
of elements. If there is only one element, npm assumes that the element
|
||||
represents a command to be run on the local repository. If there is more than
|
||||
one element, then the first is assumed to be the package and the second is
|
||||
assumed to be the command to run. All other elements are ignored.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-scripts(7)
|
||||
* npm-test(3)
|
||||
* npm-start(3)
|
||||
* npm-restart(3)
|
||||
* npm-stop(3)
|
||||
8
deps/npm/doc/api/npm.md
vendored
8
deps/npm/doc/api/npm.md
vendored
@@ -4,7 +4,7 @@ npm(3) -- node package manager
|
||||
## SYNOPSIS
|
||||
|
||||
var npm = require("npm")
|
||||
npm.load([configObject, ]function (er, npm) {
|
||||
npm.load([configObject,] function (er, npm) {
|
||||
// use the npm object, now that it's loaded.
|
||||
|
||||
npm.config.set(key, val)
|
||||
@@ -30,11 +30,11 @@ If you provide `configObject` as an object hash of top-level
|
||||
configs, they override the values stored in the various config
|
||||
locations. In the npm command line client, this set of configs
|
||||
is parsed from the command line options. Additional configuration
|
||||
params are loaded from two configuration files. See `npm-config(1)`,
|
||||
`npm-config(7)`, and `npmrc(5)` for more information.
|
||||
params are loaded from two configuration files. See `npm-config(1)`
|
||||
for more information.
|
||||
|
||||
After that, each of the functions are accessible in the
|
||||
commands object: `npm.commands.<cmd>`. See `npm-index(7)` for a list of
|
||||
commands object: `npm.commands.<cmd>`. See `npm-index(1)` for a list of
|
||||
all possible commands.
|
||||
|
||||
All commands on the command object take an **array** of positional argument
|
||||
|
||||
31
deps/npm/doc/api/owner.md
vendored
Normal file
31
deps/npm/doc/api/owner.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
npm-owner(3) -- Manage package owners
|
||||
=====================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.owner(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
The first element of the 'args' parameter defines what to do, and the subsequent
|
||||
elements depend on the action. Possible values for the action are (order of
|
||||
parameters are given in parenthesis):
|
||||
|
||||
* ls (package):
|
||||
List all the users who have access to modify a package and push new versions.
|
||||
Handy when you need to know who to bug for help.
|
||||
* add (user, package):
|
||||
Add a new user as a maintainer of a package. This user is enabled to modify
|
||||
metadata, publish new versions, and add other owners.
|
||||
* rm (user, package):
|
||||
Remove a user from the package owner list. This immediately revokes their
|
||||
privileges.
|
||||
|
||||
Note that there is only one level of access. Either you can modify a package,
|
||||
or you can't. Future versions may contain more fine-grained access levels, but
|
||||
that is not implemented at this time.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-publish(3)
|
||||
* npm-registry(1)
|
||||
30
deps/npm/doc/api/publish.md
vendored
Normal file
30
deps/npm/doc/api/publish.md
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
npm-publish(3) -- Publish a package
|
||||
===================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.publish([packages,] callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Publishes a package to the registry so that it can be installed by name.
|
||||
Possible values in the 'packages' array are:
|
||||
|
||||
* `<folder>`:
|
||||
A folder containing a package.json file
|
||||
|
||||
* `<tarball>`:
|
||||
A url or file path to a gzipped tar archive containing a single folder
|
||||
with a package.json file inside.
|
||||
|
||||
If the package array is empty, npm will try to publish something in the
|
||||
current working directory.
|
||||
|
||||
This command could fails if one of the packages specified already exists in
|
||||
the registry. Overwrites when the "force" environment variable is set.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-registry(1)
|
||||
* npm-adduser(1)
|
||||
* npm-owner(3)
|
||||
27
deps/npm/doc/api/run-script.md
vendored
Normal file
27
deps/npm/doc/api/run-script.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
npm-run-script(3) -- Run arbitrary package scripts
|
||||
==================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm.commands.run-script(args, callback)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This runs an arbitrary command from a package's "scripts" object.
|
||||
|
||||
It is used by the test, start, restart, and stop commands, but can be
|
||||
called directly, as well.
|
||||
|
||||
The 'args' parameter is an array of strings. Behavior depends on the number
|
||||
of elements. If there is only one element, npm assumes that the element
|
||||
represents a command to be run on the local repository. If there is more than
|
||||
one element, then the first is assumed to be the package and the second is
|
||||
assumed to be the command to run. All other elements are ignored.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-scripts(1)
|
||||
* npm-test(3)
|
||||
* npm-start(3)
|
||||
* npm-restart(3)
|
||||
* npm-stop(3)
|
||||
36
deps/npm/doc/cli/adduser.md
vendored
Normal file
36
deps/npm/doc/cli/adduser.md
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
npm-adduser(1) -- Add a registry user account
|
||||
=============================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm adduser
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Create or verify a user named `<username>` in the npm registry, and
|
||||
save the credentials to the `.npmrc` file.
|
||||
|
||||
The username, password, and email are read in from prompts.
|
||||
|
||||
You may use this command to change your email address, but not username
|
||||
or password.
|
||||
|
||||
To reset your password, go to <http://admin.npmjs.org/>
|
||||
|
||||
You may use this command multiple times with the same user account to
|
||||
authorize on a new machine.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### registry
|
||||
|
||||
Default: http://registry.npmjs.org/
|
||||
|
||||
The base URL of the npm package registry.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-registry(1)
|
||||
* npm-config(1)
|
||||
* npm-owner(1)
|
||||
* npm-whoami(1)
|
||||
17
deps/npm/doc/cli/bin.md
vendored
Normal file
17
deps/npm/doc/cli/bin.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
npm-bin(1) -- Display npm bin folder
|
||||
====================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm bin
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Print the folder where npm will install executables.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-prefix(1)
|
||||
* npm-root(1)
|
||||
* npm-folders(1)
|
||||
* npm-config(1)
|
||||
38
deps/npm/doc/cli/bugs.md
vendored
Normal file
38
deps/npm/doc/cli/bugs.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
npm-bugs(1) -- Bugs for a package in a web browser maybe
|
||||
========================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm bugs <pkgname>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command tries to guess at the likely location of a package's
|
||||
bug tracker URL, and then tries to open it using the `--browser`
|
||||
config param.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### browser
|
||||
|
||||
* Default: OS X: `"open"`, others: `"google-chrome"`
|
||||
* Type: String
|
||||
|
||||
The browser that is called by the `npm bugs` command to open websites.
|
||||
|
||||
### registry
|
||||
|
||||
* Default: https://registry.npmjs.org/
|
||||
* Type: url
|
||||
|
||||
The base URL of the npm package registry.
|
||||
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-docs(1)
|
||||
* npm-view(1)
|
||||
* npm-publish(1)
|
||||
* npm-registry(1)
|
||||
* npm-config(1)
|
||||
* npm-json(1)
|
||||
22
deps/npm/doc/cli/build.md
vendored
Normal file
22
deps/npm/doc/cli/build.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
npm-build(1) -- Build a package
|
||||
===============================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm build <package-folder>
|
||||
|
||||
* `<package-folder>`:
|
||||
A folder containing a `package.json` file in its root.
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This is the plumbing command called by `npm link` and `npm install`.
|
||||
|
||||
It should generally not be called directly.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-install(1)
|
||||
* npm-link(1)
|
||||
* npm-scripts(1)
|
||||
* npm-json(1)
|
||||
70
deps/npm/doc/cli/cache.md
vendored
Normal file
70
deps/npm/doc/cli/cache.md
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
npm-cache(1) -- Manipulates packages cache
|
||||
==========================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm cache add <tarball file>
|
||||
npm cache add <folder>
|
||||
npm cache add <tarball url>
|
||||
npm cache add <name>@<version>
|
||||
|
||||
npm cache ls [<path>]
|
||||
|
||||
npm cache clean [<path>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Used to add, list, or clear the npm cache folder.
|
||||
|
||||
* add:
|
||||
Add the specified package to the local cache. This command is primarily
|
||||
intended to be used internally by npm, but it can provide a way to
|
||||
add data to the local installation cache explicitly.
|
||||
|
||||
* ls:
|
||||
Show the data in the cache. Argument is a path to show in the cache
|
||||
folder. Works a bit like the `find` program, but limited by the
|
||||
`depth` config.
|
||||
|
||||
* clean:
|
||||
Delete data out of the cache folder. If an argument is provided, then
|
||||
it specifies a subpath to delete. If no argument is provided, then
|
||||
the entire cache is cleared.
|
||||
|
||||
## DETAILS
|
||||
|
||||
npm stores cache data in `$HOME/.npm`. For each package that is added
|
||||
to the cache, three pieces of information are stored in
|
||||
`{cache}/{name}/{version}`:
|
||||
|
||||
* .../package/:
|
||||
A folder containing the package contents as they appear in the tarball.
|
||||
* .../package.json:
|
||||
The package.json file, as npm sees it, with overlays applied and a _id attribute.
|
||||
* .../package.tgz:
|
||||
The tarball for that version.
|
||||
|
||||
Additionally, whenever a registry request is made, a `.cache.json` file
|
||||
is placed at the corresponding URI, to store the ETag and the requested
|
||||
data.
|
||||
|
||||
Commands that make non-essential registry requests (such as `search` and
|
||||
`view`, or the completion scripts) generally specify a minimum timeout.
|
||||
If the `.cache.json` file is younger than the specified timeout, then
|
||||
they do not make an HTTP request to the registry.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### cache
|
||||
|
||||
Default: `$HOME/.npm` on Posix, or `$HOME/npm-cache` on Windows.
|
||||
|
||||
The root cache folder.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-folders(1)
|
||||
* npm-config(1)
|
||||
* npm-install(1)
|
||||
* npm-publish(1)
|
||||
* npm-pack(1)
|
||||
80
deps/npm/doc/cli/changelog.md
vendored
Normal file
80
deps/npm/doc/cli/changelog.md
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
npm-changelog(1) -- Changes
|
||||
===========================
|
||||
|
||||
## HISTORY
|
||||
|
||||
### 1.1.3, 1.1.4
|
||||
|
||||
* Update request to support HTTPS-over-HTTP proxy tunneling
|
||||
* Throw on undefined envs in config settings
|
||||
* Update which to 1.0.5
|
||||
* Fix windows UNC busyloop in findPrefix
|
||||
* Bundle nested bundleDependencies properly
|
||||
* Alias adduser to add-user
|
||||
* Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)
|
||||
* ignore logfd/outfd streams in makeEnv() (Rod Vagg)
|
||||
* shrinkwrap: Behave properly with url-installed deps
|
||||
* install: Support --save with url install targets
|
||||
* Support installing naked tars or single-file modules from urls etc.
|
||||
* init: Don't add engines section
|
||||
* Don't run make clean on rebuild
|
||||
* Added missing unicode replacement (atomizer)
|
||||
|
||||
### 1.1.2
|
||||
|
||||
Dave Pacheco (2):
|
||||
add "npm shrinkwrap"
|
||||
|
||||
Martin Cooper (1):
|
||||
Fix #1753 Make a copy of the cached objects we'll modify.
|
||||
|
||||
Tim Oxley (1):
|
||||
correctly remove readme from default npm view command.
|
||||
|
||||
Tyler Green (1):
|
||||
fix #2187 set terminal columns to Infinity if 0
|
||||
|
||||
isaacs (19):
|
||||
update minimatch
|
||||
update request
|
||||
Experimental: single-file modules
|
||||
Fix #2172 Don't remove global mans uninstalling local pkgs
|
||||
Add --versions flag to show the version of node as well
|
||||
Support --json flag for ls output
|
||||
update request to 2.9.151
|
||||
|
||||
### 1.1
|
||||
* Replace system tar dependency with a JS tar
|
||||
* Continue to refine
|
||||
|
||||
### 1.0
|
||||
* Greatly simplified folder structure
|
||||
* Install locally (bundle by default)
|
||||
* Drastic rearchitecture
|
||||
|
||||
### 0.3
|
||||
* More correct permission/uid handling when running as root
|
||||
* Require node 0.4.0
|
||||
* Reduce featureset
|
||||
* Packages without "main" modules don't export modules
|
||||
* Remove support for invalid JSON (since node doesn't support it)
|
||||
|
||||
### 0.2
|
||||
* First allegedly "stable" release
|
||||
* Most functionality implemented
|
||||
* Used shim files and `name@version` symlinks
|
||||
* Feature explosion
|
||||
* Kind of a mess
|
||||
|
||||
### 0.1
|
||||
* push to beta, and announce
|
||||
* Solaris and Cygwin support
|
||||
|
||||
### 0.0
|
||||
* Lots of sketches and false starts; abandoned a few times
|
||||
* Core functionality established
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm(1)
|
||||
* npm-faq(1)
|
||||
181
deps/npm/doc/cli/coding-style.md
vendored
Normal file
181
deps/npm/doc/cli/coding-style.md
vendored
Normal file
@@ -0,0 +1,181 @@
|
||||
npm-coding-style(1) -- npm's "funny" coding style
|
||||
=================================================
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm's coding style is a bit unconventional. It is not different for
|
||||
difference's sake, but rather a carefully crafted style that is
|
||||
designed to reduce visual clutter and make bugs more apparent.
|
||||
|
||||
If you want to contribute to npm (which is very encouraged), you should
|
||||
make your code conform to npm's style.
|
||||
|
||||
Note: this concerns npm's code not the specific packages at npmjs.org
|
||||
|
||||
## Line Length
|
||||
|
||||
Keep lines shorter than 80 characters. It's better for lines to be
|
||||
too short than to be too long. Break up long lists, objects, and other
|
||||
statements onto multiple lines.
|
||||
|
||||
## Indentation
|
||||
|
||||
Two-spaces. Tabs are better, but they look like hell in web browsers
|
||||
(and on github), and node uses 2 spaces, so that's that.
|
||||
|
||||
Configure your editor appropriately.
|
||||
|
||||
## Curly braces
|
||||
|
||||
Curly braces belong on the same line as the thing that necessitates them.
|
||||
|
||||
Bad:
|
||||
|
||||
function ()
|
||||
{
|
||||
|
||||
Good:
|
||||
|
||||
function () {
|
||||
|
||||
If a block needs to wrap to the next line, use a curly brace. Don't
|
||||
use it if it doesn't.
|
||||
|
||||
Bad:
|
||||
|
||||
if (foo) { bar() }
|
||||
while (foo)
|
||||
bar()
|
||||
|
||||
Good:
|
||||
|
||||
if (foo) bar()
|
||||
while (foo) {
|
||||
bar()
|
||||
}
|
||||
|
||||
## Semicolons
|
||||
|
||||
Don't use them except in four situations:
|
||||
|
||||
* `for (;;)` loops. They're actually required.
|
||||
* null loops like: `while (something) ;` (But you'd better have a good
|
||||
reason for doing that.)
|
||||
* `case "foo": doSomething(); break`
|
||||
* In front of a leading `(` or `[` at the start of the line.
|
||||
This prevents the expression from being interpreted
|
||||
as a function call or property access, respectively.
|
||||
|
||||
Some examples of good semicolon usage:
|
||||
|
||||
;(x || y).doSomething()
|
||||
;[a, b, c].forEach(doSomething)
|
||||
for (var i = 0; i < 10; i ++) {
|
||||
switch (state) {
|
||||
case "begin": start(); continue
|
||||
case "end": finish(); break
|
||||
default: throw new Error("unknown state")
|
||||
}
|
||||
end()
|
||||
}
|
||||
|
||||
Note that starting lines with `-` and `+` also should be prefixed
|
||||
with a semicolon, but this is much less common.
|
||||
|
||||
## Comma First
|
||||
|
||||
If there is a list of things separated by commas, and it wraps
|
||||
across multiple lines, put the comma at the start of the next
|
||||
line, directly below the token that starts the list. Put the
|
||||
final token in the list on a line by itself. For example:
|
||||
|
||||
var magicWords = [ "abracadabra"
|
||||
, "gesundheit"
|
||||
, "ventrilo"
|
||||
]
|
||||
, spells = { "fireball" : function () { setOnFire() }
|
||||
, "water" : function () { putOut() }
|
||||
}
|
||||
, a = 1
|
||||
, b = "abc"
|
||||
, etc
|
||||
, somethingElse
|
||||
|
||||
## Whitespace
|
||||
|
||||
Put a single space in front of ( for anything other than a function call.
|
||||
Also use a single space wherever it makes things more readable.
|
||||
|
||||
Don't leave trailing whitespace at the end of lines. Don't indent empty
|
||||
lines. Don't use more spaces than are helpful.
|
||||
|
||||
## Functions
|
||||
|
||||
Use named functions. They make stack traces a lot easier to read.
|
||||
|
||||
## Callbacks, Sync/async Style
|
||||
|
||||
Use the asynchronous/non-blocking versions of things as much as possible.
|
||||
It might make more sense for npm to use the synchronous fs APIs, but this
|
||||
way, the fs and http and child process stuff all uses the same callback-passing
|
||||
methodology.
|
||||
|
||||
The callback should always be the last argument in the list. Its first
|
||||
argument is the Error or null.
|
||||
|
||||
Be very careful never to ever ever throw anything. It's worse than useless.
|
||||
Just send the error message back as the first argument to the callback.
|
||||
|
||||
## Errors
|
||||
|
||||
Always create a new Error object with your message. Don't just return a
|
||||
string message to the callback. Stack traces are handy.
|
||||
|
||||
## Logging
|
||||
|
||||
Logging is done using the [npmlog](https://github.com/isaacs/npmlog)
|
||||
utility.
|
||||
|
||||
Please clean up logs when they are no longer helpful. In particular,
|
||||
logging the same object over and over again is not helpful. Logs should
|
||||
report what's happening so that it's easier to track down where a fault
|
||||
occurs.
|
||||
|
||||
Use appropriate log levels. See `npm-config(1)` and search for
|
||||
"loglevel".
|
||||
|
||||
## Case, naming, etc.
|
||||
|
||||
Use `lowerCamelCase` for multiword identifiers when they refer to objects,
|
||||
functions, methods, members, or anything not specified in this section.
|
||||
|
||||
Use `UpperCamelCase` for class names (things that you'd pass to "new").
|
||||
|
||||
Use `all-lower-hyphen-css-case` for multiword filenames and config keys.
|
||||
|
||||
Use named functions. They make stack traces easier to follow.
|
||||
|
||||
Use `CAPS_SNAKE_CASE` for constants, things that should never change
|
||||
and are rarely used.
|
||||
|
||||
Use a single uppercase letter for function names where the function
|
||||
would normally be anonymous, but needs to call itself recursively. It
|
||||
makes it clear that it's a "throwaway" function.
|
||||
|
||||
## null, undefined, false, 0
|
||||
|
||||
Boolean variables and functions should always be either `true` or
|
||||
`false`. Don't set it to 0 unless it's supposed to be a number.
|
||||
|
||||
When something is intentionally missing or removed, set it to `null`.
|
||||
|
||||
Don't set things to `undefined`. Reserve that value to mean "not yet
|
||||
set to anything."
|
||||
|
||||
Boolean objects are verboten.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-developers(1)
|
||||
* npm-faq(1)
|
||||
* npm(1)
|
||||
29
deps/npm/doc/cli/completion.md
vendored
Normal file
29
deps/npm/doc/cli/completion.md
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
npm-completion(1) -- Tab Completion for npm
|
||||
===========================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
. <(npm completion)
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Enables tab-completion in all npm commands.
|
||||
|
||||
The synopsis above
|
||||
loads the completions into your current shell. Adding it to
|
||||
your ~/.bashrc or ~/.zshrc will make the completions available
|
||||
everywhere.
|
||||
|
||||
You may of course also pipe the output of npm completion to a file
|
||||
such as `/usr/local/etc/bash_completion.d/npm` if you have a system
|
||||
that will read that file for you.
|
||||
|
||||
When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the
|
||||
environment, `npm completion` acts in "plumbing mode", and outputs
|
||||
completions based on the arguments.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-developers(1)
|
||||
* npm-faq(1)
|
||||
* npm(1)
|
||||
874
deps/npm/doc/cli/config.md
vendored
Normal file
874
deps/npm/doc/cli/config.md
vendored
Normal file
@@ -0,0 +1,874 @@
|
||||
npm-config(1) -- Manage the npm configuration file
|
||||
==================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm config set <key> <value> [--global]
|
||||
npm config get <key>
|
||||
npm config delete <key>
|
||||
npm config list
|
||||
npm config edit
|
||||
npm get <key>
|
||||
npm set <key> <value> [--global]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm gets its configuration values from 6 sources, in this priority:
|
||||
|
||||
### Command Line Flags
|
||||
|
||||
Putting `--foo bar` on the command line sets the
|
||||
`foo` configuration parameter to `"bar"`. A `--` argument tells the cli
|
||||
parser to stop reading flags. A `--flag` parameter that is at the *end* of
|
||||
the command will be given the value of `true`.
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Any environment variables that start with `npm_config_` will be interpreted
|
||||
as a configuration parameter. For example, putting `npm_config_foo=bar` in
|
||||
your environment will set the `foo` configuration parameter to `bar`. Any
|
||||
environment configurations that are not given a value will be given the value
|
||||
of `true`. Config values are case-insensitive, so `NPM_CONFIG_FOO=bar` will
|
||||
work the same.
|
||||
|
||||
### Per-user config file
|
||||
|
||||
`$HOME/.npmrc` (or the `userconfig` param, if set above)
|
||||
|
||||
This file is an ini-file formatted list of `key = value` parameters.
|
||||
Environment variables can be replaced using `${VARIABLE_NAME}`. For example:
|
||||
|
||||
prefix = ${HOME}/.npm-packages
|
||||
|
||||
### Global config file
|
||||
|
||||
`$PREFIX/etc/npmrc` (or the `globalconfig` param, if set above):
|
||||
This file is an ini-file formatted list of `key = value` parameters.
|
||||
Environment variables can be replaced as above.
|
||||
|
||||
### Built-in config file
|
||||
|
||||
`path/to/npm/itself/npmrc`
|
||||
|
||||
This is an unchangeable "builtin"
|
||||
configuration file that npm keeps consistent across updates. Set
|
||||
fields in here using the `./configure` script that comes with npm.
|
||||
This is primarily for distribution maintainers to override default
|
||||
configs in a standard and consistent manner.
|
||||
|
||||
### Default Configs
|
||||
|
||||
A set of configuration parameters that are internal to npm, and are
|
||||
defaults if nothing else is specified.
|
||||
|
||||
## Sub-commands
|
||||
|
||||
Config supports the following sub-commands:
|
||||
|
||||
### set
|
||||
|
||||
npm config set key value
|
||||
|
||||
Sets the config key to the value.
|
||||
|
||||
If value is omitted, then it sets it to "true".
|
||||
|
||||
### get
|
||||
|
||||
npm config get key
|
||||
|
||||
Echo the config value to stdout.
|
||||
|
||||
### list
|
||||
|
||||
npm config list
|
||||
|
||||
Show all the config settings.
|
||||
|
||||
### delete
|
||||
|
||||
npm config delete key
|
||||
|
||||
Deletes the key from all configuration files.
|
||||
|
||||
### edit
|
||||
|
||||
npm config edit
|
||||
|
||||
Opens the config file in an editor. Use the `--global` flag to edit the
|
||||
global config.
|
||||
|
||||
## Shorthands and Other CLI Niceties
|
||||
|
||||
The following shorthands are parsed on the command-line:
|
||||
|
||||
* `-v`: `--version`
|
||||
* `-h`, `-?`, `--help`, `-H`: `--usage`
|
||||
* `-s`, `--silent`: `--loglevel silent`
|
||||
* `-q`, `--quiet`: `--loglevel warn`
|
||||
* `-d`: `--loglevel info`
|
||||
* `-dd`, `--verbose`: `--loglevel verbose`
|
||||
* `-ddd`: `--loglevel silly`
|
||||
* `-g`: `--global`
|
||||
* `-l`: `--long`
|
||||
* `-m`: `--message`
|
||||
* `-p`, `--porcelain`: `--parseable`
|
||||
* `-reg`: `--registry`
|
||||
* `-v`: `--version`
|
||||
* `-f`: `--force`
|
||||
* `-desc`: `--description`
|
||||
* `-S`: `--save`
|
||||
* `-D`: `--save-dev`
|
||||
* `-O`: `--save-optional`
|
||||
* `-B`: `--save-bundle`
|
||||
* `-y`: `--yes`
|
||||
* `-n`: `--yes false`
|
||||
* `ll` and `la` commands: `ls --long`
|
||||
|
||||
If the specified configuration param resolves unambiguously to a known
|
||||
configuration parameter, then it is expanded to that configuration
|
||||
parameter. For example:
|
||||
|
||||
npm ls --par
|
||||
# same as:
|
||||
npm ls --parseable
|
||||
|
||||
If multiple single-character shorthands are strung together, and the
|
||||
resulting combination is unambiguously not some other configuration
|
||||
param, then it is expanded to its various component pieces. For
|
||||
example:
|
||||
|
||||
npm ls -gpld
|
||||
# same as:
|
||||
npm ls --global --parseable --long --loglevel info
|
||||
|
||||
## Per-Package Config Settings
|
||||
|
||||
When running scripts (see `npm-scripts(1)`)
|
||||
the package.json "config" keys are overwritten in the environment if
|
||||
there is a config param of `<name>[@<version>]:<key>`. For example, if
|
||||
the package.json has this:
|
||||
|
||||
{ "name" : "foo"
|
||||
, "config" : { "port" : "8080" }
|
||||
, "scripts" : { "start" : "node server.js" } }
|
||||
|
||||
and the server.js is this:
|
||||
|
||||
http.createServer(...).listen(process.env.npm_package_config_port)
|
||||
|
||||
then the user could change the behavior by doing:
|
||||
|
||||
npm config set foo:port 80
|
||||
|
||||
## Config Settings
|
||||
|
||||
### always-auth
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Force npm to always require authentication when accessing the registry,
|
||||
even for `GET` requests.
|
||||
|
||||
### bin-links
|
||||
|
||||
* Default: `true`
|
||||
* Type: Boolean
|
||||
|
||||
Tells npm to create symlinks (or `.cmd` shims on Windows) for package
|
||||
executables.
|
||||
|
||||
Set to false to have it not do this. This can be used to work around
|
||||
the fact that some file systems don't support symlinks, even on
|
||||
ostensibly Unix systems.
|
||||
|
||||
### browser
|
||||
|
||||
* Default: OS X: `"open"`, others: `"google-chrome"`
|
||||
* Type: String
|
||||
|
||||
The browser that is called by the `npm docs` command to open websites.
|
||||
|
||||
### ca
|
||||
|
||||
* Default: The npm CA certificate
|
||||
* Type: String or null
|
||||
|
||||
The Certificate Authority signing certificate that is trusted for SSL
|
||||
connections to the registry.
|
||||
|
||||
Set to `null` to only allow "known" registrars, or to a specific CA cert
|
||||
to trust only that specific signing authority.
|
||||
|
||||
See also the `strict-ssl` config.
|
||||
|
||||
### cache
|
||||
|
||||
* Default: Windows: `%APPDATA%\npm-cache`, Posix: `~/.npm`
|
||||
* Type: path
|
||||
|
||||
The location of npm's cache directory. See `npm-cache(1)`
|
||||
|
||||
### cache-lock-stale
|
||||
|
||||
* Default: 60000 (1 minute)
|
||||
* Type: Number
|
||||
|
||||
The number of ms before cache folder lockfiles are considered stale.
|
||||
|
||||
### cache-lock-retries
|
||||
|
||||
* Default: 10
|
||||
* Type: Number
|
||||
|
||||
Number of times to retry to acquire a lock on cache folder lockfiles.
|
||||
|
||||
### cache-lock-wait
|
||||
|
||||
* Default: 10000 (10 seconds)
|
||||
* Type: Number
|
||||
|
||||
Number of ms to wait for cache lock files to expire.
|
||||
|
||||
### cache-max
|
||||
|
||||
* Default: Infinity
|
||||
* Type: Number
|
||||
|
||||
The maximum time (in seconds) to keep items in the registry cache before
|
||||
re-checking against the registry.
|
||||
|
||||
Note that no purging is done unless the `npm cache clean` command is
|
||||
explicitly used, and that only GET requests use the cache.
|
||||
|
||||
### cache-min
|
||||
|
||||
* Default: 10
|
||||
* Type: Number
|
||||
|
||||
The minimum time (in seconds) to keep items in the registry cache before
|
||||
re-checking against the registry.
|
||||
|
||||
Note that no purging is done unless the `npm cache clean` command is
|
||||
explicitly used, and that only GET requests use the cache.
|
||||
|
||||
### color
|
||||
|
||||
* Default: true on Posix, false on Windows
|
||||
* Type: Boolean or `"always"`
|
||||
|
||||
If false, never shows colors. If `"always"` then always shows colors.
|
||||
If true, then only prints color codes for tty file descriptors.
|
||||
|
||||
### coverage
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
A flag to tell test-harness to run with their coverage options enabled,
|
||||
if they respond to the `npm_config_coverage` environment variable.
|
||||
|
||||
### depth
|
||||
|
||||
* Default: Infinity
|
||||
* Type: Number
|
||||
|
||||
The depth to go when recursing directories for `npm ls` and
|
||||
`npm cache ls`.
|
||||
|
||||
### description
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Show the description in `npm search`
|
||||
|
||||
### dev
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Install `dev-dependencies` along with packages.
|
||||
|
||||
Note that `dev-dependencies` are also installed if the `npat` flag is
|
||||
set.
|
||||
|
||||
### editor
|
||||
|
||||
* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
|
||||
or `"notepad"` on Windows.
|
||||
* Type: path
|
||||
|
||||
The command to run for `npm edit` or `npm config edit`.
|
||||
|
||||
### engine-strict
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
If set to true, then npm will stubbornly refuse to install (or even
|
||||
consider installing) any package that claims to not be compatible with
|
||||
the current Node.js version.
|
||||
|
||||
### force
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Makes various commands more forceful.
|
||||
|
||||
* lifecycle script failure does not block progress.
|
||||
* publishing clobbers previously published versions.
|
||||
* skips cache when requesting from the registry.
|
||||
* prevents checks against clobbering non-npm files.
|
||||
|
||||
### fetch-retries
|
||||
|
||||
* Default: 2
|
||||
* Type: Number
|
||||
|
||||
The "retries" config for the `retry` module to use when fetching
|
||||
packages from the registry.
|
||||
|
||||
### fetch-retry-factor
|
||||
|
||||
* Default: 10
|
||||
* Type: Number
|
||||
|
||||
The "factor" config for the `retry` module to use when fetching
|
||||
packages.
|
||||
|
||||
### fetch-retry-mintimeout
|
||||
|
||||
* Default: 10000 (10 seconds)
|
||||
* Type: Number
|
||||
|
||||
The "minTimeout" config for the `retry` module to use when fetching
|
||||
packages.
|
||||
|
||||
### fetch-retry-maxtimeout
|
||||
|
||||
* Default: 60000 (1 minute)
|
||||
* Type: Number
|
||||
|
||||
The "maxTimeout" config for the `retry` module to use when fetching
|
||||
packages.
|
||||
|
||||
### git
|
||||
|
||||
* Default: `"git"`
|
||||
* Type: String
|
||||
|
||||
The command to use for git commands. If git is installed on the
|
||||
computer, but is not in the `PATH`, then set this to the full path to
|
||||
the git binary.
|
||||
|
||||
### global
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Operates in "global" mode, so that packages are installed into the
|
||||
`prefix` folder instead of the current working directory. See
|
||||
`npm-folders(1)` for more on the differences in behavior.
|
||||
|
||||
* packages are installed into the `{prefix}/lib/node_modules` folder, instead of the
|
||||
current working directory.
|
||||
* bin files are linked to `{prefix}/bin`
|
||||
* man pages are linked to `{prefix}/share/man`
|
||||
|
||||
### globalconfig
|
||||
|
||||
* Default: {prefix}/etc/npmrc
|
||||
* Type: path
|
||||
|
||||
The config file to read for global config options.
|
||||
|
||||
### globalignorefile
|
||||
|
||||
* Default: {prefix}/etc/npmignore
|
||||
* Type: path
|
||||
|
||||
The config file to read for global ignore patterns to apply to all users
|
||||
and all projects.
|
||||
|
||||
If not found, but there is a "gitignore" file in the
|
||||
same directory, then that will be used instead.
|
||||
|
||||
### group
|
||||
|
||||
* Default: GID of the current process
|
||||
* Type: String or Number
|
||||
|
||||
The group to use when running package scripts in global mode as the root
|
||||
user.
|
||||
|
||||
### https-proxy
|
||||
|
||||
* Default: the `HTTPS_PROXY` or `https_proxy` or `HTTP_PROXY` or
|
||||
`http_proxy` environment variables.
|
||||
* Type: url
|
||||
|
||||
A proxy to use for outgoing https requests.
|
||||
|
||||
### user-agent
|
||||
|
||||
* Default: node/{process.version} {process.platform} {process.arch}
|
||||
* Type: String
|
||||
|
||||
Sets a User-Agent to the request header
|
||||
|
||||
### ignore
|
||||
|
||||
* Default: ""
|
||||
* Type: string
|
||||
|
||||
A white-space separated list of glob patterns of files to always exclude
|
||||
from packages when building tarballs.
|
||||
|
||||
### init-module
|
||||
|
||||
* Default: ~/.npm-init.js
|
||||
* Type: path
|
||||
|
||||
A module that will be loaded by the `npm init` command. See the
|
||||
documentation for the
|
||||
[init-package-json](https://github.com/isaacs/init-package-json) module
|
||||
for more information, or npm-init(1).
|
||||
|
||||
### init.version
|
||||
|
||||
* Default: "0.0.0"
|
||||
* Type: semver
|
||||
|
||||
The value `npm init` should use by default for the package version.
|
||||
|
||||
### init.author.name
|
||||
|
||||
* Default: ""
|
||||
* Type: String
|
||||
|
||||
The value `npm init` should use by default for the package author's name.
|
||||
|
||||
### init.author.email
|
||||
|
||||
* Default: ""
|
||||
* Type: String
|
||||
|
||||
The value `npm init` should use by default for the package author's email.
|
||||
|
||||
### init.author.url
|
||||
|
||||
* Default: ""
|
||||
* Type: String
|
||||
|
||||
The value `npm init` should use by default for the package author's homepage.
|
||||
|
||||
### json
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Whether or not to output JSON data, rather than the normal output.
|
||||
|
||||
This feature is currently experimental, and the output data structures
|
||||
for many commands is either not implemented in JSON yet, or subject to
|
||||
change. Only the output from `npm ls --json` is currently valid.
|
||||
|
||||
### link
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
If true, then local installs will link if there is a suitable globally
|
||||
installed package.
|
||||
|
||||
Note that this means that local installs can cause things to be
|
||||
installed into the global space at the same time. The link is only done
|
||||
if one of the two conditions are met:
|
||||
|
||||
* The package is not already installed globally, or
|
||||
* the globally installed version is identical to the version that is
|
||||
being installed locally.
|
||||
|
||||
### loglevel
|
||||
|
||||
* Default: "http"
|
||||
* Type: String
|
||||
* Values: "silent", "win", "error", "warn", "http", "info", "verbose", "silly"
|
||||
|
||||
What level of logs to report. On failure, *all* logs are written to
|
||||
`npm-debug.log` in the current working directory.
|
||||
|
||||
Any logs of a higher level than the setting are shown.
|
||||
The default is "http", which shows http, warn, and error output.
|
||||
|
||||
### logstream
|
||||
|
||||
* Default: process.stderr
|
||||
* Type: Stream
|
||||
|
||||
This is the stream that is passed to the
|
||||
[npmlog](https://github.com/isaacs/npmlog) module at run time.
|
||||
|
||||
It cannot be set from the command line, but if you are using npm
|
||||
programmatically, you may wish to send logs to somewhere other than
|
||||
stderr.
|
||||
|
||||
If the `color` config is set to true, then this stream will receive
|
||||
colored output if it is a TTY.
|
||||
|
||||
### long
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Show extended information in `npm ls`
|
||||
|
||||
### message
|
||||
|
||||
* Default: "%s"
|
||||
* Type: String
|
||||
|
||||
Commit message which is used by `npm version` when creating version commit.
|
||||
|
||||
Any "%s" in the message will be replaced with the version number.
|
||||
|
||||
### node-version
|
||||
|
||||
* Default: process.version
|
||||
* Type: semver or false
|
||||
|
||||
The node version to use when checking package's "engines" hash.
|
||||
|
||||
### npat
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Run tests on installation and report results to the
|
||||
`npaturl`.
|
||||
|
||||
### npaturl
|
||||
|
||||
* Default: Not yet implemented
|
||||
* Type: url
|
||||
|
||||
The url to report npat test results.
|
||||
|
||||
### onload-script
|
||||
|
||||
* Default: false
|
||||
* Type: path
|
||||
|
||||
A node module to `require()` when npm loads. Useful for programmatic
|
||||
usage.
|
||||
|
||||
### optional
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Attempt to install packages in the `optionalDependencies` hash. Note
|
||||
that if these packages fail to install, the overall installation
|
||||
process is not aborted.
|
||||
|
||||
### parseable
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Output parseable results from commands that write to
|
||||
standard output.
|
||||
|
||||
### prefix
|
||||
|
||||
* Default: see npm-folders(1)
|
||||
* Type: path
|
||||
|
||||
The location to install global items. If set on the command line, then
|
||||
it forces non-global commands to run in the specified folder.
|
||||
|
||||
### production
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Set to true to run in "production" mode.
|
||||
|
||||
1. devDependencies are not installed at the topmost level when running
|
||||
local `npm install` without any arguments.
|
||||
2. Set the NODE_ENV="production" for lifecycle scripts.
|
||||
|
||||
### proprietary-attribs
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Whether or not to include proprietary extended attributes in the
|
||||
tarballs created by npm.
|
||||
|
||||
Unless you are expecting to unpack package tarballs with something other
|
||||
than npm -- particularly a very outdated tar implementation -- leave
|
||||
this as true.
|
||||
|
||||
### proxy
|
||||
|
||||
* Default: `HTTP_PROXY` or `http_proxy` environment variable, or null
|
||||
* Type: url
|
||||
|
||||
A proxy to use for outgoing http requests.
|
||||
|
||||
### rebuild-bundle
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Rebuild bundled dependencies after installation.
|
||||
|
||||
### registry
|
||||
|
||||
* Default: https://registry.npmjs.org/
|
||||
* Type: url
|
||||
|
||||
The base URL of the npm package registry.
|
||||
|
||||
### rollback
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Remove failed installs.
|
||||
|
||||
### save
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Save installed packages to a package.json file as dependencies.
|
||||
|
||||
When used with the `npm rm` command, it removes it from the dependencies
|
||||
hash.
|
||||
|
||||
Only works if there is already a package.json file present.
|
||||
|
||||
### save-bundle
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
If a package would be saved at install time by the use of `--save`,
|
||||
`--save-dev`, or `--save-optional`, then also put it in the
|
||||
`bundleDependencies` list.
|
||||
|
||||
When used with the `npm rm` command, it removes it from the
|
||||
bundledDependencies list.
|
||||
|
||||
### save-dev
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Save installed packages to a package.json file as devDependencies.
|
||||
|
||||
When used with the `npm rm` command, it removes it from the devDependencies
|
||||
hash.
|
||||
|
||||
Only works if there is already a package.json file present.
|
||||
|
||||
### save-optional
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Save installed packages to a package.json file as optionalDependencies.
|
||||
|
||||
When used with the `npm rm` command, it removes it from the devDependencies
|
||||
hash.
|
||||
|
||||
Only works if there is already a package.json file present.
|
||||
|
||||
### searchopts
|
||||
|
||||
* Default: ""
|
||||
* Type: String
|
||||
|
||||
Space-separated options that are always passed to search.
|
||||
|
||||
### searchexclude
|
||||
|
||||
* Default: ""
|
||||
* Type: String
|
||||
|
||||
Space-separated options that limit the results from search.
|
||||
|
||||
### searchsort
|
||||
|
||||
* Default: "name"
|
||||
* Type: String
|
||||
* Values: "name", "-name", "date", "-date", "description",
|
||||
"-description", "keywords", "-keywords"
|
||||
|
||||
Indication of which field to sort search results by. Prefix with a `-`
|
||||
character to indicate reverse sort.
|
||||
|
||||
### shell
|
||||
|
||||
* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
|
||||
Windows
|
||||
* Type: path
|
||||
|
||||
The shell to run for the `npm explore` command.
|
||||
|
||||
### sign-git-tag
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
If set to true, then the `npm version` command will tag the version
|
||||
using `-s` to add a signature.
|
||||
|
||||
Note that git requires you to have set up GPG keys in your git configs
|
||||
for this to work properly.
|
||||
|
||||
### strict-ssl
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
Whether or not to do SSL key validation when making requests to the
|
||||
registry via https.
|
||||
|
||||
See also the `ca` config.
|
||||
|
||||
### tag
|
||||
|
||||
* Default: latest
|
||||
* Type: String
|
||||
|
||||
If you ask npm to install a package and don't tell it a specific version, then
|
||||
it will install the specified tag.
|
||||
|
||||
Also the tag that is added to the package@version specified by the `npm
|
||||
tag` command, if no explicit tag is given.
|
||||
|
||||
### tmp
|
||||
|
||||
* Default: TMPDIR environment variable, or "/tmp"
|
||||
* Type: path
|
||||
|
||||
Where to store temporary files and folders. All temp files are deleted
|
||||
on success, but left behind on failure for forensic purposes.
|
||||
|
||||
### unicode
|
||||
|
||||
* Default: true
|
||||
* Type: Boolean
|
||||
|
||||
When set to true, npm uses unicode characters in the tree output. When
|
||||
false, it uses ascii characters to draw trees.
|
||||
|
||||
### unsafe-perm
|
||||
|
||||
* Default: false if running as root, true otherwise
|
||||
* Type: Boolean
|
||||
|
||||
Set to true to suppress the UID/GID switching when running package
|
||||
scripts. If set explicitly to false, then installing as a non-root user
|
||||
will fail.
|
||||
|
||||
### usage
|
||||
|
||||
* Default: false
|
||||
* Type: Boolean
|
||||
|
||||
Set to show short usage output (like the -H output)
|
||||
instead of complete help when doing `npm-help(1)`.
|
||||
|
||||
### user
|
||||
|
||||
* Default: "nobody"
|
||||
* Type: String or Number
|
||||
|
||||
The UID to set to when running package scripts as root.
|
||||
|
||||
### username
|
||||
|
||||
* Default: null
|
||||
* Type: String
|
||||
|
||||
The username on the npm registry. Set with `npm adduser`
|
||||
|
||||
### userconfig
|
||||
|
||||
* Default: ~/.npmrc
|
||||
* Type: path
|
||||
|
||||
The location of user-level configuration settings.
|
||||
|
||||
### userignorefile
|
||||
|
||||
* Default: ~/.npmignore
|
||||
* Type: path
|
||||
|
||||
The location of a user-level ignore file to apply to all packages.
|
||||
|
||||
If not found, but there is a .gitignore file in the same directory, then
|
||||
that will be used instead.
|
||||
|
||||
### umask
|
||||
|
||||
* Default: 022
|
||||
* Type: Octal numeric string
|
||||
|
||||
The "umask" value to use when setting the file creation mode on files
|
||||
and folders.
|
||||
|
||||
Folders and executables are given a mode which is `0777` masked against
|
||||
this value. Other files are given a mode which is `0666` masked against
|
||||
this value. Thus, the defaults are `0755` and `0644` respectively.
|
||||
|
||||
### version
|
||||
|
||||
* Default: false
|
||||
* Type: boolean
|
||||
|
||||
If true, output the npm version and exit successfully.
|
||||
|
||||
Only relevant when specified explicitly on the command line.
|
||||
|
||||
### versions
|
||||
|
||||
* Default: false
|
||||
* Type: boolean
|
||||
|
||||
If true, output the npm version as well as node's `process.versions`
|
||||
hash, and exit successfully.
|
||||
|
||||
Only relevant when specified explicitly on the command line.
|
||||
|
||||
### viewer
|
||||
|
||||
* Default: "man" on Posix, "browser" on Windows
|
||||
* Type: path
|
||||
|
||||
The program to use to view help content.
|
||||
|
||||
Set to `"browser"` to view html help content in the default web browser.
|
||||
|
||||
### yes
|
||||
|
||||
* Default: null
|
||||
* Type: Boolean or null
|
||||
|
||||
If set to `null`, then prompt the user for responses in some
|
||||
circumstances.
|
||||
|
||||
If set to `true`, then answer "yes" to any prompt. If set to `false`
|
||||
then answer "no" to any prompt.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-folders(1)
|
||||
* npm(1)
|
||||
53
deps/npm/doc/cli/dedupe.md
vendored
Normal file
53
deps/npm/doc/cli/dedupe.md
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
npm-dedupe(1) -- Reduce duplication
|
||||
===================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm dedupe [package names...]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Searches the local package tree and attempts to simplify the overall
|
||||
structure by moving dependencies further up the tree, where they can
|
||||
be more effectively shared by multiple dependent packages.
|
||||
|
||||
For example, consider this dependency graph:
|
||||
|
||||
a
|
||||
+-- b <-- depends on c@1.0.x
|
||||
| `-- c@1.0.3
|
||||
`-- d <-- depends on c@~1.0.9
|
||||
`-- c@1.0.10
|
||||
|
||||
In this case, `npm-dedupe(1)` will transform the tree to:
|
||||
|
||||
a
|
||||
+-- b
|
||||
+-- d
|
||||
`-- c@1.0.10
|
||||
|
||||
Because of the hierarchical nature of node's module lookup, b and d
|
||||
will both get their dependency met by the single c package at the root
|
||||
level of the tree.
|
||||
|
||||
If a suitable version exists at the target location in the tree
|
||||
already, then it will be left untouched, but the other duplicates will
|
||||
be deleted.
|
||||
|
||||
If no suitable version can be found, then a warning is printed, and
|
||||
nothing is done.
|
||||
|
||||
If any arguments are supplied, then they are filters, and only the
|
||||
named packages will be touched.
|
||||
|
||||
Note that this operation transforms the dependency tree, and may
|
||||
result in packages getting updated versions, perhaps from the npm
|
||||
registry.
|
||||
|
||||
This feature is experimental, and may change in future versions.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-ls(1)
|
||||
* npm-update(1)
|
||||
* npm-install(1)
|
||||
26
deps/npm/doc/cli/deprecate.md
vendored
Normal file
26
deps/npm/doc/cli/deprecate.md
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
npm-deprecate(1) -- Deprecate a version of a package
|
||||
====================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm deprecate <name>[@<version>] <message>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command will update the npm registry entry for a package, providing
|
||||
a deprecation warning to all who attempt to install it.
|
||||
|
||||
It works on version ranges as well as specific versions, so you can do
|
||||
something like this:
|
||||
|
||||
npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
|
||||
|
||||
Note that you must be the package owner to deprecate something. See the
|
||||
`owner` and `adduser` help topics.
|
||||
|
||||
To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-publish(1)
|
||||
* npm-registry(1)
|
||||
183
deps/npm/doc/cli/developers.md
vendored
Normal file
183
deps/npm/doc/cli/developers.md
vendored
Normal file
@@ -0,0 +1,183 @@
|
||||
npm-developers(1) -- Developer Guide
|
||||
====================================
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
So, you've decided to use npm to develop (and maybe publish/deploy)
|
||||
your project.
|
||||
|
||||
Fantastic!
|
||||
|
||||
There are a few things that you need to do above the simple steps
|
||||
that your users will do to install your program.
|
||||
|
||||
## About These Documents
|
||||
|
||||
These are man pages. If you install npm, you should be able to
|
||||
then do `man npm-thing` to get the documentation on a particular
|
||||
topic, or `npm help thing` to see the same information.
|
||||
|
||||
## What is a `package`
|
||||
|
||||
A package is:
|
||||
|
||||
* a) a folder containing a program described by a package.json file
|
||||
* b) a gzipped tarball containing (a)
|
||||
* c) a url that resolves to (b)
|
||||
* d) a `<name>@<version>` that is published on the registry with (c)
|
||||
* e) a `<name>@<tag>` that points to (d)
|
||||
* f) a `<name>` that has a "latest" tag satisfying (e)
|
||||
* g) a `git` url that, when cloned, results in (a).
|
||||
|
||||
Even if you never publish your package, you can still get a lot of
|
||||
benefits of using npm if you just want to write a node program (a), and
|
||||
perhaps if you also want to be able to easily install it elsewhere
|
||||
after packing it up into a tarball (b).
|
||||
|
||||
Git urls can be of the form:
|
||||
|
||||
git://github.com/user/project.git#commit-ish
|
||||
git+ssh://user@hostname:project.git#commit-ish
|
||||
git+http://user@hostname/project/blah.git#commit-ish
|
||||
git+https://user@hostname/project/blah.git#commit-ish
|
||||
|
||||
The `commit-ish` can be any tag, sha, or branch which can be supplied as
|
||||
an argument to `git checkout`. The default is `master`.
|
||||
|
||||
## The package.json File
|
||||
|
||||
You need to have a `package.json` file in the root of your project to do
|
||||
much of anything with npm. That is basically the whole interface.
|
||||
|
||||
See `npm-json(1)` for details about what goes in that file. At the very
|
||||
least, you need:
|
||||
|
||||
* name:
|
||||
This should be a string that identifies your project. Please do not
|
||||
use the name to specify that it runs on node, or is in JavaScript.
|
||||
You can use the "engines" field to explicitly state the versions of
|
||||
node (or whatever else) that your program requires, and it's pretty
|
||||
well assumed that it's javascript.
|
||||
|
||||
It does not necessarily need to match your github repository name.
|
||||
|
||||
So, `node-foo` and `bar-js` are bad names. `foo` or `bar` are better.
|
||||
|
||||
* version:
|
||||
A semver-compatible version.
|
||||
|
||||
* engines:
|
||||
Specify the versions of node (or whatever else) that your program
|
||||
runs on. The node API changes a lot, and there may be bugs or new
|
||||
functionality that you depend on. Be explicit.
|
||||
|
||||
* author:
|
||||
Take some credit.
|
||||
|
||||
* scripts:
|
||||
If you have a special compilation or installation script, then you
|
||||
should put it in the `scripts` hash. You should definitely have at
|
||||
least a basic smoke-test command as the "scripts.test" field.
|
||||
See npm-scripts(1).
|
||||
|
||||
* main:
|
||||
If you have a single module that serves as the entry point to your
|
||||
program (like what the "foo" package gives you at require("foo")),
|
||||
then you need to specify that in the "main" field.
|
||||
|
||||
* directories:
|
||||
This is a hash of folders. The best ones to include are "lib" and
|
||||
"doc", but if you specify a folder full of man pages in "man", then
|
||||
they'll get installed just like these ones.
|
||||
|
||||
You can use `npm init` in the root of your package in order to get you
|
||||
started with a pretty basic package.json file. See `npm-init(1)` for
|
||||
more info.
|
||||
|
||||
## Keeping files *out* of your package
|
||||
|
||||
Use a `.npmignore` file to keep stuff out of your package. If there's
|
||||
no .npmignore file, but there *is* a .gitignore file, then npm will
|
||||
ignore the stuff matched by the .gitignore file. If you *want* to
|
||||
include something that is excluded by your .gitignore file, you can
|
||||
create an empty .npmignore file to override it.
|
||||
|
||||
## Link Packages
|
||||
|
||||
`npm link` is designed to install a development package and see the
|
||||
changes in real time without having to keep re-installing it. (You do
|
||||
need to either re-link or `npm rebuild -g` to update compiled packages,
|
||||
of course.)
|
||||
|
||||
More info at `npm-link(1)`.
|
||||
|
||||
## Before Publishing: Make Sure Your Package Installs and Works
|
||||
|
||||
**This is important.**
|
||||
|
||||
If you can not install it locally, you'll have
|
||||
problems trying to publish it. Or, worse yet, you'll be able to
|
||||
publish it, but you'll be publishing a broken or pointless package.
|
||||
So don't do that.
|
||||
|
||||
In the root of your package, do this:
|
||||
|
||||
npm install . -g
|
||||
|
||||
That'll show you that it's working. If you'd rather just create a symlink
|
||||
package that points to your working directory, then do this:
|
||||
|
||||
npm link
|
||||
|
||||
Use `npm ls -g` to see if it's there.
|
||||
|
||||
To test a local install, go into some other folder, and then do:
|
||||
|
||||
cd ../some-other-folder
|
||||
npm install ../my-package
|
||||
|
||||
to install it locally into the node_modules folder in that other place.
|
||||
|
||||
Then go into the node-repl, and try using require("my-thing") to
|
||||
bring in your module's main module.
|
||||
|
||||
## Create a User Account
|
||||
|
||||
Create a user with the adduser command. It works like this:
|
||||
|
||||
npm adduser
|
||||
|
||||
and then follow the prompts.
|
||||
|
||||
This is documented better in npm-adduser(1).
|
||||
|
||||
## Publish your package
|
||||
|
||||
This part's easy. IN the root of your folder, do this:
|
||||
|
||||
npm publish
|
||||
|
||||
You can give publish a url to a tarball, or a filename of a tarball,
|
||||
or a path to a folder.
|
||||
|
||||
Note that pretty much **everything in that folder will be exposed**
|
||||
by default. So, if you have secret stuff in there, use a
|
||||
`.npmignore` file to list out the globs to ignore, or publish
|
||||
from a fresh checkout.
|
||||
|
||||
## Brag about it
|
||||
|
||||
Send emails, write blogs, blab in IRC.
|
||||
|
||||
Tell the world how easy it is to install your program!
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-faq(1)
|
||||
* npm(1)
|
||||
* npm-init(1)
|
||||
* npm-json(1)
|
||||
* npm-scripts(1)
|
||||
* npm-publish(1)
|
||||
* npm-adduser(1)
|
||||
* npm-registry(1)
|
||||
98
deps/npm/doc/cli/disputes.md
vendored
Normal file
98
deps/npm/doc/cli/disputes.md
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
npm-disputes(1) -- Handling Module Name Disputes
|
||||
================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
1. Get the author email with `npm owner ls <pkgname>`
|
||||
2. Email the author, CC <i@izs.me>.
|
||||
3. After a few weeks, if there's no resolution, we'll sort it out.
|
||||
|
||||
Don't squat on package names. Publish code or move out of the way.
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
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
|
||||
ways that happens (each of these is based on actual events.)
|
||||
|
||||
1. Joe writes a JavaScript module `foo`, which is not node-specific.
|
||||
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, Joe starts using node,
|
||||
and wants to take over management of his program.
|
||||
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
|
||||
request to Bob, but Bob doesn't have the time to deal with it,
|
||||
because he has a new job and a new baby and is focused on his new
|
||||
erlang project, and kind of not involved with node any more. Joe
|
||||
would like to publish a new `foo`, but can't, because the name is
|
||||
taken.
|
||||
3. Bob writes a 10-line flow-control library, and calls it `foo`, and
|
||||
publishes it to the npm registry. Being a simple little thing, it
|
||||
never really has to be updated. Joe works for Foo Inc, the makers
|
||||
of the critically acclaimed and widely-marketed `foo` JavaScript
|
||||
toolkit framework. They publish it to npm as `foojs`, but people are
|
||||
routinely confused when `npm install foo` is some different thing.
|
||||
4. Bob writes a parser for the widely-known `foo` file format, because
|
||||
he needs it for work. Then, he gets a new job, and never updates the
|
||||
prototype. Later on, Joe writes a much more complete `foo` parser,
|
||||
but can't publish, because Bob's `foo` is in the way.
|
||||
|
||||
The validity of Joe's claim in each situation can be debated. However,
|
||||
Joe's appropriate course of action in each case is the same.
|
||||
|
||||
1. `npm owner ls foo`. This will tell Joe the email address of the
|
||||
owner (Bob).
|
||||
2. Joe emails Bob, explaining the situation **as respectfully as possible**,
|
||||
and what he would like to do with the module name. He adds
|
||||
isaacs <i@izs.me> to the CC list of the email. Mention in the email
|
||||
that Bob can run `npm owner add joe foo` to add Joe as an owner of
|
||||
the `foo` package.
|
||||
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
|
||||
<i@izs.me> and we'll sort it out. ("Reasonable" is usually about 4
|
||||
weeks, but extra time is allowed around common holidays.)
|
||||
|
||||
## REASONING
|
||||
|
||||
In almost every case so far, the parties involved have been able to reach
|
||||
an amicable resolution without any major intervention. Most people
|
||||
really do want to be reasonable, and are probably not even aware that
|
||||
they're in your way.
|
||||
|
||||
Module ecosystems are most vibrant and powerful when they are as
|
||||
self-directed as possible. If an admin one day deletes something you
|
||||
had worked on, then that is going to make most people quite upset,
|
||||
regardless of the justification. When humans solve their problems by
|
||||
talking to other humans with respect, everyone has the chance to end up
|
||||
feeling good about the interaction.
|
||||
|
||||
## EXCEPTIONS
|
||||
|
||||
Some things are not allowed, and will be removed without discussion if
|
||||
they are brought to the attention of the npm registry admins, including
|
||||
but not limited to:
|
||||
|
||||
1. Malware (that is, a package designed to exploit or harm the machine on
|
||||
which it is installed).
|
||||
2. Violations of copyright or licenses (for example, cloning an
|
||||
MIT-licensed program, and then removing or changing the copyright and
|
||||
license statement).
|
||||
3. Illegal content.
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-registry(1)
|
||||
* npm-owner(1)
|
||||
38
deps/npm/doc/cli/docs.md
vendored
Normal file
38
deps/npm/doc/cli/docs.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
npm-docs(1) -- Docs for a package in a web browser maybe
|
||||
========================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm docs <pkgname>
|
||||
npm home <pkgname>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command tries to guess at the likely location of a package's
|
||||
documentation URL, and then tries to open it using the `--browser`
|
||||
config param.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### browser
|
||||
|
||||
* Default: OS X: `"open"`, others: `"google-chrome"`
|
||||
* Type: String
|
||||
|
||||
The browser that is called by the `npm docs` command to open websites.
|
||||
|
||||
### registry
|
||||
|
||||
* Default: https://registry.npmjs.org/
|
||||
* Type: url
|
||||
|
||||
The base URL of the npm package registry.
|
||||
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-view(1)
|
||||
* npm-publish(1)
|
||||
* npm-registry(1)
|
||||
* npm-config(1)
|
||||
* npm-json(1)
|
||||
35
deps/npm/doc/cli/edit.md
vendored
Normal file
35
deps/npm/doc/cli/edit.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
npm-edit(1) -- Edit an installed package
|
||||
========================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm edit <name>[@<version>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Opens the package folder in the default editor (or whatever you've
|
||||
configured as the npm `editor` config -- see `npm-config(1)`.)
|
||||
|
||||
After it has been edited, the package is rebuilt so as to pick up any
|
||||
changes in compiled packages.
|
||||
|
||||
For instance, you can do `npm install connect` to install connect
|
||||
into your package, and then `npm edit connect` to make a few
|
||||
changes to your locally installed copy.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### editor
|
||||
|
||||
* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
|
||||
or `"notepad"` on Windows.
|
||||
* Type: path
|
||||
|
||||
The command to run for `npm edit` or `npm config edit`.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-folders(1)
|
||||
* npm-explore(1)
|
||||
* npm-install(1)
|
||||
* npm-config(1)
|
||||
40
deps/npm/doc/cli/explore.md
vendored
Normal file
40
deps/npm/doc/cli/explore.md
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
npm-explore(1) -- Browse an installed package
|
||||
=============================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm explore <name>[@<version>] [ -- <cmd>]
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Spawn a subshell in the directory of the installed package specified.
|
||||
|
||||
If a command is specified, then it is run in the subshell, which then
|
||||
immediately terminates.
|
||||
|
||||
This is particularly handy in the case of git submodules in the
|
||||
`node_modules` folder:
|
||||
|
||||
npm explore some-dependency -- git pull origin master
|
||||
|
||||
Note that the package is *not* automatically rebuilt afterwards, so be
|
||||
sure to use `npm rebuild <pkg>` if you make any changes.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### shell
|
||||
|
||||
* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
|
||||
Windows
|
||||
* Type: path
|
||||
|
||||
The shell to run for the `npm explore` command.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-submodule(1)
|
||||
* npm-folders(1)
|
||||
* npm-edit(1)
|
||||
* npm-rebuild(1)
|
||||
* npm-build(1)
|
||||
* npm-install(1)
|
||||
306
deps/npm/doc/cli/faq.md
vendored
Normal file
306
deps/npm/doc/cli/faq.md
vendored
Normal file
@@ -0,0 +1,306 @@
|
||||
npm-faq(1) -- Frequently Asked Questions
|
||||
========================================
|
||||
|
||||
## Where can I find these docs in HTML?
|
||||
|
||||
<https://npmjs.org/doc/>, or run:
|
||||
|
||||
npm config set viewer browser
|
||||
|
||||
to open these documents in your default web browser rather than `man`.
|
||||
|
||||
## It didn't work.
|
||||
|
||||
That's not really a question.
|
||||
|
||||
## Why didn't it work?
|
||||
|
||||
I don't know yet.
|
||||
|
||||
Read the error output, and if you can't figure out what it means,
|
||||
do what it says and post a bug with all the information it asks for.
|
||||
|
||||
## Where does npm put stuff?
|
||||
|
||||
See `npm-folders(1)`
|
||||
|
||||
tl;dr:
|
||||
|
||||
* Use the `npm root` command to see where modules go, and the `npm bin`
|
||||
command to see where executables go
|
||||
* Global installs are different from local installs. If you install
|
||||
something with the `-g` flag, then its executables go in `npm bin -g`
|
||||
and its modules go in `npm root -g`.
|
||||
|
||||
## How do I install something on my computer in a central location?
|
||||
|
||||
Install it globally by tacking `-g` or `--global` to the command. (This
|
||||
is especially important for command line utilities that need to add
|
||||
their bins to the global system `PATH`.)
|
||||
|
||||
## I installed something globally, but I can't `require()` it
|
||||
|
||||
Install it locally.
|
||||
|
||||
The global install location is a place for command-line utilities
|
||||
to put their bins in the system `PATH`. It's not for use with `require()`.
|
||||
|
||||
If you `require()` a module in your code, then that means it's a
|
||||
dependency, and a part of your program. You need to install it locally
|
||||
in your program.
|
||||
|
||||
## Why can't npm just put everything in one place, like other package managers?
|
||||
|
||||
Not every change is an improvement, but every improvement is a change.
|
||||
This would be like asking git to do network IO for every commit. It's
|
||||
not going to happen, because it's a terrible idea that causes more
|
||||
problems than it solves.
|
||||
|
||||
It is much harder to avoid dependency conflicts without nesting
|
||||
dependencies. This is fundamental to the way that npm works, and has
|
||||
proven to be an extremely successful approach. See `npm-folders(1)` for
|
||||
more details.
|
||||
|
||||
If you want a package to be installed in one place, and have all your
|
||||
programs reference the same copy of it, then use the `npm link` command.
|
||||
That's what it's for. Install it globally, then link it into each
|
||||
program that uses it.
|
||||
|
||||
## Whatever, I really want the old style 'everything global' style.
|
||||
|
||||
Write your own package manager, then. It's not that hard.
|
||||
|
||||
npm will not help you do something that is known to be a bad idea.
|
||||
|
||||
## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?
|
||||
|
||||
No. This will never happen. This question comes up sometimes,
|
||||
because it seems silly from the outside that npm couldn't just be
|
||||
configured to put stuff somewhere else, and then npm could load them
|
||||
from there. It's an arbitrary spelling choice, right? What's the big
|
||||
deal?
|
||||
|
||||
At the time of this writing, the string `'node_modules'` appears 151
|
||||
times in 53 separate files in npm and node core (excluding tests and
|
||||
documentation).
|
||||
|
||||
Some of these references are in node's built-in module loader. Since
|
||||
npm is not involved **at all** at run-time, node itself would have to
|
||||
be configured to know where you've decided to stick stuff. Complexity
|
||||
hurdle #1. Since the Node module system is locked, this cannot be
|
||||
changed, and is enough to kill this request. But I'll continue, in
|
||||
deference to your deity's delicate feelings regarding spelling.
|
||||
|
||||
Many of the others are in dependencies that npm uses, which are not
|
||||
necessarily tightly coupled to npm (in the sense that they do not read
|
||||
npm's configuration files, etc.) Each of these would have to be
|
||||
configured to take the name of the `node_modules` folder as a
|
||||
parameter. Complexity hurdle #2.
|
||||
|
||||
Furthermore, npm has the ability to "bundle" dependencies by adding
|
||||
the dep names to the `"bundledDependencies"` list in package.json,
|
||||
which causes the folder to be included in the package tarball. What
|
||||
if the author of a module bundles its dependencies, and they use a
|
||||
different spelling for `node_modules`? npm would have to rename the
|
||||
folder at publish time, and then be smart enough to unpack it using
|
||||
your locally configured name. Complexity hurdle #3.
|
||||
|
||||
Furthermore, what happens when you *change* this name? Fine, it's
|
||||
easy enough the first time, just rename the `node_modules` folders to
|
||||
`./blergyblerp/` or whatever name you choose. But what about when you
|
||||
change it again? npm doesn't currently track any state about past
|
||||
configuration settings, so this would be rather difficult to do
|
||||
properly. It would have to track every previous value for this
|
||||
config, and always accept any of them, or else yesterday's install may
|
||||
be broken tomorrow. Complexity hurdle #5.
|
||||
|
||||
Never going to happen. The folder is named `node_modules`. It is
|
||||
written indelibly in the Node Way, handed down from the ancient times
|
||||
of Node 0.3.
|
||||
|
||||
## Should I check my `node_modules` folder into git?
|
||||
|
||||
Mikeal Rogers answered this question very well:
|
||||
|
||||
<http://www.mikealrogers.com/posts/nodemodules-in-git.html>
|
||||
|
||||
tl;dr
|
||||
|
||||
* Check `node_modules` into git for things you **deploy**, such as
|
||||
websites and apps.
|
||||
* Do not check `node_modules` into git for libraries and modules
|
||||
intended to be reused.
|
||||
* Use npm to manage dependencies in your dev environment, but not in
|
||||
your deployment scripts.
|
||||
|
||||
## Is it 'npm' or 'NPM' or 'Npm'?
|
||||
|
||||
npm should never be capitalized unless it is being displayed in a
|
||||
location that is customarily all-caps (such as the title of man pages.)
|
||||
|
||||
## If 'npm' is an acronym, why is it never capitalized?
|
||||
|
||||
Contrary to the belief of many, "npm" is not in fact an abbreviation for
|
||||
"Node Package Manager". It is a recursive bacronymic abbreviation for
|
||||
"npm is not an acronym". (If it was "ninaa", then it would be an
|
||||
acronym, and thus incorrectly named.)
|
||||
|
||||
"NPM", however, *is* an acronym (more precisely, a capitonym) for the
|
||||
National Association of Pastoral Musicians. You can learn more
|
||||
about them at <http://npm.org/>.
|
||||
|
||||
In software, "NPM" is a Non-Parametric Mapping utility written by
|
||||
Chris Rorden. You can analyze pictures of brains with it. Learn more
|
||||
about the (capitalized) NPM program at <http://www.cabiatl.com/mricro/npm/>.
|
||||
|
||||
The first seed that eventually grew into this flower was a bash utility
|
||||
named "pm", which was a shortened descendent of "pkgmakeinst", a
|
||||
bash function that was used to install various different things on different
|
||||
platforms, most often using Yahoo's `yinst`. If `npm` was ever an
|
||||
acronym for anything, it was `node pm` or maybe `new pm`.
|
||||
|
||||
So, in all seriousness, the "npm" project is named after its command-line
|
||||
utility, which was organically selected to be easily typed by a right-handed
|
||||
programmer using a US QWERTY keyboard layout, ending with the
|
||||
right-ring-finger in a postition to type the `-` key for flags and
|
||||
other command-line arguments. That command-line utility is always
|
||||
lower-case, though it starts most sentences it is a part of.
|
||||
|
||||
## How do I list installed packages?
|
||||
|
||||
`npm ls`
|
||||
|
||||
## How do I search for packages?
|
||||
|
||||
`npm search`
|
||||
|
||||
Arguments are greps. `npm search jsdom` shows jsdom packages.
|
||||
|
||||
## How do I update npm?
|
||||
|
||||
npm update npm -g
|
||||
|
||||
You can also update all outdated local packages by doing `npm update` without
|
||||
any arguments, or global packages by doing `npm update -g`.
|
||||
|
||||
Occasionally, the version of npm will progress such that the current
|
||||
version cannot be properly installed with the version that you have
|
||||
installed already. (Consider, if there is ever a bug in the `update`
|
||||
command.)
|
||||
|
||||
In those cases, you can do this:
|
||||
|
||||
curl https://npmjs.org/install.sh | sh
|
||||
|
||||
## What is a `package`?
|
||||
|
||||
A package is:
|
||||
|
||||
* a) a folder containing a program described by a package.json file
|
||||
* b) a gzipped tarball containing (a)
|
||||
* c) a url that resolves to (b)
|
||||
* d) a `<name>@<version>` that is published on the registry with (c)
|
||||
* e) a `<name>@<tag>` that points to (d)
|
||||
* f) a `<name>` that has a "latest" tag satisfying (e)
|
||||
* g) a `git` url that, when cloned, results in (a).
|
||||
|
||||
Even if you never publish your package, you can still get a lot of
|
||||
benefits of using npm if you just want to write a node program (a), and
|
||||
perhaps if you also want to be able to easily install it elsewhere
|
||||
after packing it up into a tarball (b).
|
||||
|
||||
Git urls can be of the form:
|
||||
|
||||
git://github.com/user/project.git#commit-ish
|
||||
git+ssh://user@hostname:project.git#commit-ish
|
||||
git+http://user@hostname/project/blah.git#commit-ish
|
||||
git+https://user@hostname/project/blah.git#commit-ish
|
||||
|
||||
The `commit-ish` can be any tag, sha, or branch which can be supplied as
|
||||
an argument to `git checkout`. The default is `master`.
|
||||
|
||||
## How do I install node with npm?
|
||||
|
||||
You don't. Try one of these:
|
||||
|
||||
* <https://github.com/isaacs/nave>
|
||||
* <https://github.com/visionmedia/n>
|
||||
* <https://github.com/creationix/nvm>
|
||||
|
||||
## How can I use npm for development?
|
||||
|
||||
See `npm-developers(1)` and `npm-json(1)`.
|
||||
|
||||
You'll most likely want to `npm link` your development folder. That's
|
||||
awesomely handy.
|
||||
|
||||
To set up your own private registry, check out `npm-registry(1)`.
|
||||
|
||||
## Can I list a url as a dependency?
|
||||
|
||||
Yes. It should be a url to a gzipped tarball containing a single folder
|
||||
that has a package.json in its root, or a git url.
|
||||
(See "what is a package?" above.)
|
||||
|
||||
## How do I symlink to a dev folder so I don't have to keep re-installing?
|
||||
|
||||
See `npm-link(1)`
|
||||
|
||||
## The package registry website. What is that exactly?
|
||||
|
||||
See `npm-registry(1)`.
|
||||
|
||||
## What's up with the insecure channel warnings?
|
||||
|
||||
Until node 0.4.10, there were problems sending big files over HTTPS. That
|
||||
means that publishes go over HTTP by default in those versions of node.
|
||||
|
||||
## I forgot my password, and can't publish. How do I reset it?
|
||||
|
||||
Go to <https://npmjs.org/forgot>.
|
||||
|
||||
## I get ECONNREFUSED a lot. What's up?
|
||||
|
||||
Either the registry is down, or node's DNS isn't able to reach out.
|
||||
|
||||
To check if the registry is down, open up <http://registry.npmjs.org/>
|
||||
in a web browser. This will also tell you if you are just unable to
|
||||
access the internet for some reason.
|
||||
|
||||
If the registry IS down, let me know by emailing or posting an issue.
|
||||
We'll have someone kick it or something.
|
||||
|
||||
## Why no namespaces?
|
||||
|
||||
Please see this discussion: <https://github.com/isaacs/npm/issues/798>
|
||||
|
||||
tl;dr - It doesn't actually make things better, and can make them worse.
|
||||
|
||||
If you want to namespace your own packages, you may: simply use the
|
||||
`-` character to separate the names. npm is a mostly anarchic system.
|
||||
There is not sufficient need to impose namespace rules on everyone.
|
||||
|
||||
## Who does npm?
|
||||
|
||||
`npm view npm author`
|
||||
|
||||
`npm view npm contributors`
|
||||
|
||||
## I have a question or request not addressed here. Where should I put it?
|
||||
|
||||
Discuss it on the mailing list, or post an issue.
|
||||
|
||||
* <npm-@googlegroups.com>
|
||||
* <https://github.com/isaacs/npm/issues>
|
||||
|
||||
## Why does npm hate me?
|
||||
|
||||
npm is not capable of hatred. It loves everyone, especially you.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm(1)
|
||||
* npm-developers(1)
|
||||
* npm-json(1)
|
||||
* npm-config(1)
|
||||
* npm-folders(1)
|
||||
209
deps/npm/doc/cli/folders.md
vendored
Normal file
209
deps/npm/doc/cli/folders.md
vendored
Normal file
@@ -0,0 +1,209 @@
|
||||
npm-folders(1) -- Folder Structures Used by npm
|
||||
===============================================
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm puts various things on your computer. That's its job.
|
||||
|
||||
This document will tell you what it puts where.
|
||||
|
||||
### tl;dr
|
||||
|
||||
* Local install (default): puts stuff in `./node_modules` of the current
|
||||
package root.
|
||||
* Global install (with `-g`): puts stuff in /usr/local or wherever node
|
||||
is installed.
|
||||
* Install it **locally** if you're going to `require()` it.
|
||||
* Install it **globally** if you're going to run it on the command line.
|
||||
* If you need both, then install it in both places, or use `npm link`.
|
||||
|
||||
### prefix Configuration
|
||||
|
||||
The `prefix` config defaults to the location where node is installed.
|
||||
On most systems, this is `/usr/local`, and most of the time is the same
|
||||
as node's `process.installPrefix`.
|
||||
|
||||
On windows, this is the exact location of the node.exe binary. On Unix
|
||||
systems, it's one level up, since node is typically installed at
|
||||
`{prefix}/bin/node` rather than `{prefix}/node.exe`.
|
||||
|
||||
When the `global` flag is set, npm installs things into this prefix.
|
||||
When it is not set, it uses the root of the current package, or the
|
||||
current working directory if not in a package already.
|
||||
|
||||
### Node Modules
|
||||
|
||||
Packages are dropped into the `node_modules` folder under the `prefix`.
|
||||
When installing locally, this means that you can
|
||||
`require("packagename")` to load its main module, or
|
||||
`require("packagename/lib/path/to/sub/module")` to load other modules.
|
||||
|
||||
Global installs on Unix systems go to `{prefix}/lib/node_modules`.
|
||||
Global installs on Windows go to `{prefix}/node_modules` (that is, no
|
||||
`lib` folder.)
|
||||
|
||||
If you wish to `require()` a package, then install it locally.
|
||||
|
||||
### Executables
|
||||
|
||||
When in global mode, executables are linked into `{prefix}/bin` on Unix,
|
||||
or directly into `{prefix}` on Windows.
|
||||
|
||||
When in local mode, executables are linked into
|
||||
`./node_modules/.bin` so that they can be made available to scripts run
|
||||
through npm. (For example, so that a test runner will be in the path
|
||||
when you run `npm test`.)
|
||||
|
||||
### Man Pages
|
||||
|
||||
When in global mode, man pages are linked into `{prefix}/share/man`.
|
||||
|
||||
When in local mode, man pages are not installed.
|
||||
|
||||
Man pages are not installed on Windows systems.
|
||||
|
||||
### Cache
|
||||
|
||||
See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
|
||||
`~/npm-cache` on Windows.
|
||||
|
||||
This is controlled by the `cache` configuration param.
|
||||
|
||||
### Temp Files
|
||||
|
||||
Temporary files are stored by default in the folder specified by the
|
||||
`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment
|
||||
variables, or `/tmp` on Unix and `c:\windows\temp` on Windows.
|
||||
|
||||
Temp files are given a unique folder under this root for each run of the
|
||||
program, and are deleted upon successful exit.
|
||||
|
||||
## More Information
|
||||
|
||||
When installing locally, npm first tries to find an appropriate
|
||||
`prefix` folder. This is so that `npm install foo@1.2.3` will install
|
||||
to the sensible root of your package, even if you happen to have `cd`ed
|
||||
into some other folder.
|
||||
|
||||
Starting at the $PWD, npm will walk up the folder tree checking for a
|
||||
folder that contains either a `package.json` file, or a `node_modules`
|
||||
folder. If such a thing is found, then that is treated as the effective
|
||||
"current directory" for the purpose of running npm commands. (This
|
||||
behavior is inspired by and similar to git's .git-folder seeking
|
||||
logic when running git commands in a working dir.)
|
||||
|
||||
If no package root is found, then the current folder is used.
|
||||
|
||||
When you run `npm install foo@1.2.3`, then the package is loaded into
|
||||
the cache, and then unpacked into `./node_modules/foo`. Then, any of
|
||||
foo's dependencies are similarly unpacked into
|
||||
`./node_modules/foo/node_modules/...`.
|
||||
|
||||
Any bin files are symlinked to `./node_modules/.bin/`, so that they may
|
||||
be found by npm scripts when necessary.
|
||||
|
||||
### Global Installation
|
||||
|
||||
If the `global` configuration is set to true, then npm will
|
||||
install packages "globally".
|
||||
|
||||
For global installation, packages are installed roughly the same way,
|
||||
but using the folders described above.
|
||||
|
||||
### Cycles, Conflicts, and Folder Parsimony
|
||||
|
||||
Cycles are handled using the property of node's module system that it
|
||||
walks up the directories looking for `node_modules` folders. So, at every
|
||||
stage, if a package is already installed in an ancestor `node_modules`
|
||||
folder, then it is not installed at the current location.
|
||||
|
||||
Consider the case above, where `foo -> bar -> baz`. Imagine if, in
|
||||
addition to that, baz depended on bar, so you'd have:
|
||||
`foo -> bar -> baz -> bar -> baz ...`. However, since the folder
|
||||
structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to
|
||||
put another copy of bar into `.../baz/node_modules`, since when it calls
|
||||
require("bar"), it will get the copy that is installed in
|
||||
`foo/node_modules/bar`.
|
||||
|
||||
This shortcut is only used if the exact same
|
||||
version would be installed in multiple nested `node_modules` folders. It
|
||||
is still possible to have `a/node_modules/b/node_modules/a` if the two
|
||||
"a" packages are different versions. However, without repeating the
|
||||
exact same package multiple times, an infinite regress will always be
|
||||
prevented.
|
||||
|
||||
Another optimization can be made by installing dependencies at the
|
||||
highest level possible, below the localized "target" folder.
|
||||
|
||||
#### Example
|
||||
|
||||
Consider this dependency graph:
|
||||
|
||||
foo
|
||||
+-- blerg@1.2.5
|
||||
+-- bar@1.2.3
|
||||
| +-- blerg@1.x (latest=1.3.7)
|
||||
| +-- baz@2.x
|
||||
| | `-- quux@3.x
|
||||
| | `-- bar@1.2.3 (cycle)
|
||||
| `-- asdf@*
|
||||
`-- baz@1.2.3
|
||||
`-- quux@3.x
|
||||
`-- bar
|
||||
|
||||
In this case, we might expect a folder structure like this:
|
||||
|
||||
foo
|
||||
+-- node_modules
|
||||
+-- blerg (1.2.5) <---[A]
|
||||
+-- bar (1.2.3) <---[B]
|
||||
| +-- node_modules
|
||||
| | `-- baz (2.0.2) <---[C]
|
||||
| | `-- node_modules
|
||||
| | `-- quux (3.2.0)
|
||||
| `-- asdf (2.3.4)
|
||||
`-- baz (1.2.3) <---[D]
|
||||
`-- node_modules
|
||||
`-- quux (3.2.0) <---[E]
|
||||
|
||||
Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are
|
||||
installed in foo's `node_modules` folder.
|
||||
|
||||
Even though the latest copy of blerg is 1.3.7, foo has a specific
|
||||
dependency on version 1.2.5. So, that gets installed at [A]. Since the
|
||||
parent installation of blerg satisfie's bar's dependency on blerg@1.x,
|
||||
it does not install another copy under [B].
|
||||
|
||||
Bar [B] also has dependencies on baz and asdf, so those are installed in
|
||||
bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot
|
||||
re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D],
|
||||
and must install its own copy [C].
|
||||
|
||||
Underneath bar, the `baz->quux->bar` dependency creates a cycle.
|
||||
However, because `bar` is already in `quux`'s ancestry [B], it does not
|
||||
unpack another copy of bar into that folder.
|
||||
|
||||
Underneath `foo->baz` [D], quux's [E] folder tree is empty, because its
|
||||
dependency on bar is satisfied by the parent folder copy installed at [B].
|
||||
|
||||
For a graphical breakdown of what is installed where, use `npm ls`.
|
||||
|
||||
### Publishing
|
||||
|
||||
Upon publishing, npm will look in the `node_modules` folder. If any of
|
||||
the items there are not in the `bundledDependencies` array, then they will
|
||||
not be included in the package tarball.
|
||||
|
||||
This allows a package maintainer to install all of their dependencies
|
||||
(and dev dependencies) locally, but only re-publish those items that
|
||||
cannot be found elsewhere. See `npm-json(1)` for more information.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-faq(1)
|
||||
* npm-json(1)
|
||||
* npm-install(1)
|
||||
* npm-pack(1)
|
||||
* npm-cache(1)
|
||||
* npm-config(1)
|
||||
* npm-publish(1)
|
||||
209
deps/npm/doc/cli/global.md
vendored
Normal file
209
deps/npm/doc/cli/global.md
vendored
Normal file
@@ -0,0 +1,209 @@
|
||||
npm-folders(1) -- Folder Structures Used by npm
|
||||
===============================================
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
npm puts various things on your computer. That's its job.
|
||||
|
||||
This document will tell you what it puts where.
|
||||
|
||||
### tl;dr
|
||||
|
||||
* Local install (default): puts stuff in `./node_modules` of the current
|
||||
package root.
|
||||
* Global install (with `-g`): puts stuff in /usr/local or wherever node
|
||||
is installed.
|
||||
* Install it **locally** if you're going to `require()` it.
|
||||
* Install it **globally** if you're going to run it on the command line.
|
||||
* If you need both, then install it in both places, or use `npm link`.
|
||||
|
||||
### prefix Configuration
|
||||
|
||||
The `prefix` config defaults to the location where node is installed.
|
||||
On most systems, this is `/usr/local`, and most of the time is the same
|
||||
as node's `process.installPrefix`.
|
||||
|
||||
On windows, this is the exact location of the node.exe binary. On Unix
|
||||
systems, it's one level up, since node is typically installed at
|
||||
`{prefix}/bin/node` rather than `{prefix}/node.exe`.
|
||||
|
||||
When the `global` flag is set, npm installs things into this prefix.
|
||||
When it is not set, it uses the root of the current package, or the
|
||||
current working directory if not in a package already.
|
||||
|
||||
### Node Modules
|
||||
|
||||
Packages are dropped into the `node_modules` folder under the `prefix`.
|
||||
When installing locally, this means that you can
|
||||
`require("packagename")` to load its main module, or
|
||||
`require("packagename/lib/path/to/sub/module")` to load other modules.
|
||||
|
||||
Global installs on Unix systems go to `{prefix}/lib/node_modules`.
|
||||
Global installs on Windows go to `{prefix}/node_modules` (that is, no
|
||||
`lib` folder.)
|
||||
|
||||
If you wish to `require()` a package, then install it locally.
|
||||
|
||||
### Executables
|
||||
|
||||
When in global mode, executables are linked into `{prefix}/bin` on Unix,
|
||||
or directly into `{prefix}` on Windows.
|
||||
|
||||
When in local mode, executables are linked into
|
||||
`./node_modules/.bin` so that they can be made available to scripts run
|
||||
through npm. (For example, so that a test runner will be in the path
|
||||
when you run `npm test`.)
|
||||
|
||||
### Man Pages
|
||||
|
||||
When in global mode, man pages are linked into `{prefix}/share/man`.
|
||||
|
||||
When in local mode, man pages are not installed.
|
||||
|
||||
Man pages are not installed on Windows systems.
|
||||
|
||||
### Cache
|
||||
|
||||
See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
|
||||
`~/npm-cache` on Windows.
|
||||
|
||||
This is controlled by the `cache` configuration param.
|
||||
|
||||
### Temp Files
|
||||
|
||||
Temporary files are stored by default in the folder specified by the
|
||||
`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment
|
||||
variables, or `/tmp` on Unix and `c:\windows\temp` on Windows.
|
||||
|
||||
Temp files are given a unique folder under this root for each run of the
|
||||
program, and are deleted upon successful exit.
|
||||
|
||||
## More Information
|
||||
|
||||
When installing locally, npm first tries to find an appropriate
|
||||
`prefix` folder. This is so that `npm install foo@1.2.3` will install
|
||||
to the sensible root of your package, even if you happen to have `cd`ed
|
||||
into some other folder.
|
||||
|
||||
Starting at the $PWD, npm will walk up the folder tree checking for a
|
||||
folder that contains either a `package.json` file, or a `node_modules`
|
||||
folder. If such a thing is found, then that is treated as the effective
|
||||
"current directory" for the purpose of running npm commands. (This
|
||||
behavior is inspired by and similar to git's .git-folder seeking
|
||||
logic when running git commands in a working dir.)
|
||||
|
||||
If no package root is found, then the current folder is used.
|
||||
|
||||
When you run `npm install foo@1.2.3`, then the package is loaded into
|
||||
the cache, and then unpacked into `./node_modules/foo`. Then, any of
|
||||
foo's dependencies are similarly unpacked into
|
||||
`./node_modules/foo/node_modules/...`.
|
||||
|
||||
Any bin files are symlinked to `./node_modules/.bin/`, so that they may
|
||||
be found by npm scripts when necessary.
|
||||
|
||||
### Global Installation
|
||||
|
||||
If the `global` configuration is set to true, then npm will
|
||||
install packages "globally".
|
||||
|
||||
For global installation, packages are installed roughly the same way,
|
||||
but using the folders described above.
|
||||
|
||||
### Cycles, Conflicts, and Folder Parsimony
|
||||
|
||||
Cycles are handled using the property of node's module system that it
|
||||
walks up the directories looking for `node_modules` folders. So, at every
|
||||
stage, if a package is already installed in an ancestor `node_modules`
|
||||
folder, then it is not installed at the current location.
|
||||
|
||||
Consider the case above, where `foo -> bar -> baz`. Imagine if, in
|
||||
addition to that, baz depended on bar, so you'd have:
|
||||
`foo -> bar -> baz -> bar -> baz ...`. However, since the folder
|
||||
structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to
|
||||
put another copy of bar into `.../baz/node_modules`, since when it calls
|
||||
require("bar"), it will get the copy that is installed in
|
||||
`foo/node_modules/bar`.
|
||||
|
||||
This shortcut is only used if the exact same
|
||||
version would be installed in multiple nested `node_modules` folders. It
|
||||
is still possible to have `a/node_modules/b/node_modules/a` if the two
|
||||
"a" packages are different versions. However, without repeating the
|
||||
exact same package multiple times, an infinite regress will always be
|
||||
prevented.
|
||||
|
||||
Another optimization can be made by installing dependencies at the
|
||||
highest level possible, below the localized "target" folder.
|
||||
|
||||
#### Example
|
||||
|
||||
Consider this dependency graph:
|
||||
|
||||
foo
|
||||
+-- blerg@1.2.5
|
||||
+-- bar@1.2.3
|
||||
| +-- blerg@1.x (latest=1.3.7)
|
||||
| +-- baz@2.x
|
||||
| | `-- quux@3.x
|
||||
| | `-- bar@1.2.3 (cycle)
|
||||
| `-- asdf@*
|
||||
`-- baz@1.2.3
|
||||
`-- quux@3.x
|
||||
`-- bar
|
||||
|
||||
In this case, we might expect a folder structure like this:
|
||||
|
||||
foo
|
||||
+-- node_modules
|
||||
+-- blerg (1.2.5) <---[A]
|
||||
+-- bar (1.2.3) <---[B]
|
||||
| +-- node_modules
|
||||
| | `-- baz (2.0.2) <---[C]
|
||||
| | `-- node_modules
|
||||
| | `-- quux (3.2.0)
|
||||
| `-- asdf (2.3.4)
|
||||
`-- baz (1.2.3) <---[D]
|
||||
`-- node_modules
|
||||
`-- quux (3.2.0) <---[E]
|
||||
|
||||
Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are
|
||||
installed in foo's `node_modules` folder.
|
||||
|
||||
Even though the latest copy of blerg is 1.3.7, foo has a specific
|
||||
dependency on version 1.2.5. So, that gets installed at [A]. Since the
|
||||
parent installation of blerg satisfie's bar's dependency on blerg@1.x,
|
||||
it does not install another copy under [B].
|
||||
|
||||
Bar [B] also has dependencies on baz and asdf, so those are installed in
|
||||
bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot
|
||||
re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D],
|
||||
and must install its own copy [C].
|
||||
|
||||
Underneath bar, the `baz->quux->bar` dependency creates a cycle.
|
||||
However, because `bar` is already in `quux`'s ancestry [B], it does not
|
||||
unpack another copy of bar into that folder.
|
||||
|
||||
Underneath `foo->baz` [D], quux's [E] folder tree is empty, because its
|
||||
dependency on bar is satisfied by the parent folder copy installed at [B].
|
||||
|
||||
For a graphical breakdown of what is installed where, use `npm ls`.
|
||||
|
||||
### Publishing
|
||||
|
||||
Upon publishing, npm will look in the `node_modules` folder. If any of
|
||||
the items there are not in the `bundledDependencies` array, then they will
|
||||
not be included in the package tarball.
|
||||
|
||||
This allows a package maintainer to install all of their dependencies
|
||||
(and dev dependencies) locally, but only re-publish those items that
|
||||
cannot be found elsewhere. See `npm-json(1)` for more information.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-faq(1)
|
||||
* npm-json(1)
|
||||
* npm-install(1)
|
||||
* npm-pack(1)
|
||||
* npm-cache(1)
|
||||
* npm-config(1)
|
||||
* npm-publish(1)
|
||||
35
deps/npm/doc/cli/help-search.md
vendored
Normal file
35
deps/npm/doc/cli/help-search.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
npm-help-search(1) -- Search npm help documentation
|
||||
===================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm help-search some search terms
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command will search the npm markdown documentation files for the
|
||||
terms provided, and then list the results, sorted by relevance.
|
||||
|
||||
If only one result is found, then it will show that help topic.
|
||||
|
||||
If the argument to `npm help` is not a known help topic, then it will
|
||||
call `help-search`. It is rarely if ever necessary to call this
|
||||
command directly.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### long
|
||||
|
||||
* Type: Boolean
|
||||
* Default false
|
||||
|
||||
If true, the "long" flag will cause help-search to output context around
|
||||
where the terms were found in the documentation.
|
||||
|
||||
If false, then help-search will just list out the help topics found.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm(1)
|
||||
* npm-faq(1)
|
||||
* npm-help(1)
|
||||
38
deps/npm/doc/cli/help.md
vendored
Normal file
38
deps/npm/doc/cli/help.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
npm-help(1) -- Get help on npm
|
||||
==============================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm help <topic>
|
||||
npm help some search terms
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
If supplied a topic, then show the appropriate documentation page.
|
||||
|
||||
If the topic does not exist, or if multiple terms are provided, then run
|
||||
the `help-search` command to find a match. Note that, if `help-search`
|
||||
finds a single subject, then it will run `help` on that topic, so unique
|
||||
matches are equivalent to specifying a topic name.
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
### viewer
|
||||
|
||||
* Default: "man" on Posix, "browser" on Windows
|
||||
* Type: path
|
||||
|
||||
The program to use to view help content.
|
||||
|
||||
Set to `"browser"` to view html help content in the default web browser.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm(1)
|
||||
* README
|
||||
* npm-faq(1)
|
||||
* npm-folders(1)
|
||||
* npm-config(1)
|
||||
* npm-json(1)
|
||||
* npm-help-search(1)
|
||||
* npm-index(1)
|
||||
393
deps/npm/doc/cli/index.md
vendored
Normal file
393
deps/npm/doc/cli/index.md
vendored
Normal file
@@ -0,0 +1,393 @@
|
||||
npm-index(1) -- Index of all npm documentation
|
||||
==============================================
|
||||
|
||||
## npm-README(1)
|
||||
|
||||
node package manager
|
||||
|
||||
# Command Line Documentation
|
||||
## npm-adduser(1)
|
||||
|
||||
Add a registry user account
|
||||
|
||||
## npm-bin(1)
|
||||
|
||||
Display npm bin folder
|
||||
|
||||
## npm-bugs(1)
|
||||
|
||||
Bugs for a package in a web browser maybe
|
||||
|
||||
## npm-build(1)
|
||||
|
||||
Build a package
|
||||
|
||||
## npm-bundle(1)
|
||||
|
||||
REMOVED
|
||||
|
||||
## npm-cache(1)
|
||||
|
||||
Manipulates packages cache
|
||||
|
||||
## npm-changelog(1)
|
||||
|
||||
Changes
|
||||
|
||||
## npm-coding-style(1)
|
||||
|
||||
npm's "funny" coding style
|
||||
|
||||
## npm-completion(1)
|
||||
|
||||
Tab Completion for npm
|
||||
|
||||
## npm-config(1)
|
||||
|
||||
Manage the npm configuration file
|
||||
|
||||
## npm-dedupe(1)
|
||||
|
||||
Reduce duplication
|
||||
|
||||
## npm-deprecate(1)
|
||||
|
||||
Deprecate a version of a package
|
||||
|
||||
## npm-developers(1)
|
||||
|
||||
Developer Guide
|
||||
|
||||
## npm-disputes(1)
|
||||
|
||||
Handling Module Name Disputes
|
||||
|
||||
## npm-docs(1)
|
||||
|
||||
Docs for a package in a web browser maybe
|
||||
|
||||
## npm-edit(1)
|
||||
|
||||
Edit an installed package
|
||||
|
||||
## npm-explore(1)
|
||||
|
||||
Browse an installed package
|
||||
|
||||
## npm-faq(1)
|
||||
|
||||
Frequently Asked Questions
|
||||
|
||||
## npm-folders(1)
|
||||
|
||||
Folder Structures Used by npm
|
||||
|
||||
## npm-global(1)
|
||||
|
||||
Folder Structures Used by npm
|
||||
|
||||
## npm-help-search(1)
|
||||
|
||||
Search npm help documentation
|
||||
|
||||
## npm-help(1)
|
||||
|
||||
Get help on npm
|
||||
|
||||
## npm-init(1)
|
||||
|
||||
Interactively create a package.json file
|
||||
|
||||
## npm-install(1)
|
||||
|
||||
Install a package
|
||||
|
||||
## npm-json(1)
|
||||
|
||||
Specifics of npm's package.json handling
|
||||
|
||||
## npm-link(1)
|
||||
|
||||
Symlink a package folder
|
||||
|
||||
## npm-ls(1)
|
||||
|
||||
List installed packages
|
||||
|
||||
## npm-npm(1)
|
||||
|
||||
node package manager
|
||||
|
||||
## npm-outdated(1)
|
||||
|
||||
Check for outdated packages
|
||||
|
||||
## npm-owner(1)
|
||||
|
||||
Manage package owners
|
||||
|
||||
## npm-pack(1)
|
||||
|
||||
Create a tarball from a package
|
||||
|
||||
## npm-prefix(1)
|
||||
|
||||
Display prefix
|
||||
|
||||
## npm-prune(1)
|
||||
|
||||
Remove extraneous packages
|
||||
|
||||
## npm-publish(1)
|
||||
|
||||
Publish a package
|
||||
|
||||
## npm-rebuild(1)
|
||||
|
||||
Rebuild a package
|
||||
|
||||
## npm-registry(1)
|
||||
|
||||
The JavaScript Package Registry
|
||||
|
||||
## npm-removing-npm(1)
|
||||
|
||||
Cleaning the Slate
|
||||
|
||||
## npm-restart(1)
|
||||
|
||||
Start a package
|
||||
|
||||
## npm-rm(1)
|
||||
|
||||
Remove a package
|
||||
|
||||
## npm-root(1)
|
||||
|
||||
Display npm root
|
||||
|
||||
## npm-run-script(1)
|
||||
|
||||
Run arbitrary package scripts
|
||||
|
||||
## npm-scripts(1)
|
||||
|
||||
How npm handles the "scripts" field
|
||||
|
||||
## npm-search(1)
|
||||
|
||||
Search for packages
|
||||
|
||||
## npm-semver(1)
|
||||
|
||||
The semantic versioner for npm
|
||||
|
||||
## npm-shrinkwrap(1)
|
||||
|
||||
Lock down dependency versions
|
||||
|
||||
## npm-star(1)
|
||||
|
||||
Mark your favorite packages
|
||||
|
||||
## npm-stars(1)
|
||||
|
||||
View packages marked as favorites
|
||||
|
||||
## npm-start(1)
|
||||
|
||||
Start a package
|
||||
|
||||
## npm-stop(1)
|
||||
|
||||
Stop a package
|
||||
|
||||
## npm-submodule(1)
|
||||
|
||||
Add a package as a git submodule
|
||||
|
||||
## npm-tag(1)
|
||||
|
||||
Tag a published version
|
||||
|
||||
## npm-test(1)
|
||||
|
||||
Test a package
|
||||
|
||||
## npm-uninstall(1)
|
||||
|
||||
Remove a package
|
||||
|
||||
## npm-unpublish(1)
|
||||
|
||||
Remove a package from the registry
|
||||
|
||||
## npm-update(1)
|
||||
|
||||
Update a package
|
||||
|
||||
## npm-version(1)
|
||||
|
||||
Bump a package version
|
||||
|
||||
## npm-view(1)
|
||||
|
||||
View registry info
|
||||
|
||||
## npm-whoami(1)
|
||||
|
||||
Display npm username
|
||||
|
||||
# API Documentation
|
||||
## npm-bin(3)
|
||||
|
||||
Display npm bin folder
|
||||
|
||||
## npm-bugs(3)
|
||||
|
||||
Bugs for a package in a web browser maybe
|
||||
|
||||
## npm-commands(3)
|
||||
|
||||
npm commands
|
||||
|
||||
## npm-config(3)
|
||||
|
||||
Manage the npm configuration files
|
||||
|
||||
## npm-deprecate(3)
|
||||
|
||||
Deprecate a version of a package
|
||||
|
||||
## npm-docs(3)
|
||||
|
||||
Docs for a package in a web browser maybe
|
||||
|
||||
## npm-edit(3)
|
||||
|
||||
Edit an installed package
|
||||
|
||||
## npm-explore(3)
|
||||
|
||||
Browse an installed package
|
||||
|
||||
## npm-help-search(3)
|
||||
|
||||
Search the help pages
|
||||
|
||||
## npm-init(3)
|
||||
|
||||
Interactively create a package.json file
|
||||
|
||||
## npm-install(3)
|
||||
|
||||
install a package programmatically
|
||||
|
||||
## npm-link(3)
|
||||
|
||||
Symlink a package folder
|
||||
|
||||
## npm-load(3)
|
||||
|
||||
Load config settings
|
||||
|
||||
## npm-ls(3)
|
||||
|
||||
List installed packages
|
||||
|
||||
## npm-npm(3)
|
||||
|
||||
node package manager
|
||||
|
||||
## npm-outdated(3)
|
||||
|
||||
Check for outdated packages
|
||||
|
||||
## npm-owner(3)
|
||||
|
||||
Manage package owners
|
||||
|
||||
## npm-pack(3)
|
||||
|
||||
Create a tarball from a package
|
||||
|
||||
## npm-prefix(3)
|
||||
|
||||
Display prefix
|
||||
|
||||
## npm-prune(3)
|
||||
|
||||
Remove extraneous packages
|
||||
|
||||
## npm-publish(3)
|
||||
|
||||
Publish a package
|
||||
|
||||
## npm-rebuild(3)
|
||||
|
||||
Rebuild a package
|
||||
|
||||
## npm-restart(3)
|
||||
|
||||
Start a package
|
||||
|
||||
## npm-root(3)
|
||||
|
||||
Display npm root
|
||||
|
||||
## npm-run-script(3)
|
||||
|
||||
Run arbitrary package scripts
|
||||
|
||||
## npm-search(3)
|
||||
|
||||
Search for packages
|
||||
|
||||
## npm-shrinkwrap(3)
|
||||
|
||||
programmatically generate package shrinkwrap file
|
||||
|
||||
## npm-start(3)
|
||||
|
||||
Start a package
|
||||
|
||||
## npm-stop(3)
|
||||
|
||||
Stop a package
|
||||
|
||||
## npm-submodule(3)
|
||||
|
||||
Add a package as a git submodule
|
||||
|
||||
## npm-tag(3)
|
||||
|
||||
Tag a published version
|
||||
|
||||
## npm-test(3)
|
||||
|
||||
Test a package
|
||||
|
||||
## npm-uninstall(3)
|
||||
|
||||
uninstall a package programmatically
|
||||
|
||||
## npm-unpublish(3)
|
||||
|
||||
Remove a package from the registry
|
||||
|
||||
## npm-update(3)
|
||||
|
||||
Update a package
|
||||
|
||||
## npm-version(3)
|
||||
|
||||
Bump a package version
|
||||
|
||||
## npm-view(3)
|
||||
|
||||
View registry info
|
||||
|
||||
## npm-whoami(3)
|
||||
|
||||
Display npm username
|
||||
|
||||
25
deps/npm/doc/cli/init.md
vendored
Normal file
25
deps/npm/doc/cli/init.md
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
npm-init(1) -- Interactively create a package.json file
|
||||
=======================================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm init
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This will ask you a bunch of questions, and then write a package.json for you.
|
||||
|
||||
It attempts to make reasonable guesses about what you want things to be set to,
|
||||
and then writes a package.json file with the options you've selected.
|
||||
|
||||
If you already have a package.json file, it'll read that first, and default to
|
||||
the options in there.
|
||||
|
||||
It is strictly additive, so it does not delete options from your package.json
|
||||
without a really good reason to do so.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* <https://github.com/isaacs/init-package-json>
|
||||
* npm-json(1)
|
||||
* npm-version(1)
|
||||
236
deps/npm/doc/cli/install.md
vendored
Normal file
236
deps/npm/doc/cli/install.md
vendored
Normal file
@@ -0,0 +1,236 @@
|
||||
npm-install(1) -- Install a package
|
||||
===================================
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
npm install (with no args in a package dir)
|
||||
npm install <tarball file>
|
||||
npm install <tarball url>
|
||||
npm install <folder>
|
||||
npm install <name> [--save|--save-dev|--save-optional]
|
||||
npm install <name>@<tag>
|
||||
npm install <name>@<version>
|
||||
npm install <name>@<version range>
|
||||
npm install <name>@<version range>
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
This command installs a package, and any packages that it depends on. If the
|
||||
package has a shrinkwrap file, the installation of dependencies will be driven
|
||||
by that. See npm-shrinkwrap(1).
|
||||
|
||||
A `package` is:
|
||||
|
||||
* a) a folder containing a program described by a package.json file
|
||||
* b) a gzipped tarball containing (a)
|
||||
* c) a url that resolves to (b)
|
||||
* d) a `<name>@<version>` that is published on the registry with (c)
|
||||
* e) a `<name>@<tag>` that points to (d)
|
||||
* f) a `<name>` that has a "latest" tag satisfying (e)
|
||||
* g) a `<git remote url>` that resolves to (b)
|
||||
|
||||
Even if you never publish your package, you can still get a lot of
|
||||
benefits of using npm if you just want to write a node program (a), and
|
||||
perhaps if you also want to be able to easily install it elsewhere
|
||||
after packing it up into a tarball (b).
|
||||
|
||||
|
||||
* `npm install` (in package directory, no arguments):
|
||||
|
||||
Install the dependencies in the local node_modules folder.
|
||||
|
||||
In global mode (ie, with `-g` or `--global` appended to the command),
|
||||
it installs the current package context (ie, the current working
|
||||
directory) as a global package.
|
||||
|
||||
|
||||
* `npm install <folder>`:
|
||||
|
||||
Install a package that is sitting in a folder on the filesystem.
|
||||
|
||||
* `npm install <tarball file>`:
|
||||
|
||||
Install a package that is sitting on the filesystem. Note: if you just want
|
||||
to link a dev directory into your npm root, you can do this more easily by
|
||||
using `npm link`.
|
||||
|
||||
Example:
|
||||
|
||||
npm install ./package.tgz
|
||||
|
||||
* `npm install <tarball url>`:
|
||||
|
||||
Fetch the tarball url, and then install it. In order to distinguish between
|
||||
this and other options, the argument must start with "http://" or "https://"
|
||||
|
||||
Example:
|
||||
|
||||
npm install https://github.com/indexzero/forever/tarball/v0.5.6
|
||||
|
||||
* `npm install <name> [--save|--save-dev|--save-optional]`:
|
||||
|
||||
Do a `<name>@<tag>` install, where `<tag>` is the "tag" config. (See
|
||||
`npm-config(1)`.)
|
||||
|
||||
In most cases, this will install the latest version
|
||||
of the module published on npm.
|
||||
|
||||
Example:
|
||||
|
||||
npm install sax
|
||||
|
||||
`npm install` takes 3 exclusive, optional flags which save or update
|
||||
the package version in your main package.json:
|
||||
|
||||
* `--save`: Package will appear in your `dependencies`.
|
||||
|
||||
* `--save-dev`: Package will appear in your `devDependencies`.
|
||||
|
||||
* `--save-optional`: Package will appear in your `optionalDependencies`.
|
||||
|
||||
Examples:
|
||||
|
||||
npm install sax --save
|
||||
npm install node-tap --save-dev
|
||||
npm install dtrace-provider --save-optional
|
||||
|
||||
|
||||
**Note**: If there is a file or folder named `<name>` in the current
|
||||
working directory, then it will try to install that, and only try to
|
||||
fetch the package by name if it is not valid.
|
||||
|
||||
* `npm install <name>@<tag>`:
|
||||
|
||||
Install the version of the package that is referenced by the specified tag.
|
||||
If the tag does not exist in the registry data for that package, then this
|
||||
will fail.
|
||||
|
||||
Example:
|
||||
|
||||
npm install sax@latest
|
||||
|
||||
* `npm install <name>@<version>`:
|
||||
|
||||
Install the specified version of the package. This will fail if the version
|
||||
has not been published to the registry.
|
||||
|
||||
Example:
|
||||
|
||||
npm install sax@0.1.1
|
||||
|
||||
* `npm install <name>@<version range>`:
|
||||
|
||||
Install a version of the package matching the specified version range. This
|
||||
will follow the same rules for resolving dependencies described in `npm-json(1)`.
|
||||
|
||||
Note that most version ranges must be put in quotes so that your shell will
|
||||
treat it as a single argument.
|
||||
|
||||
Example:
|
||||
|
||||
npm install sax@">=0.1.0 <0.2.0"
|
||||
|
||||
* `npm install <git remote url>`:
|
||||
|
||||
Install a package by cloning a git remote url. The format of the git
|
||||
url is:
|
||||
|
||||
<protocol>://[<user>@]<hostname><separator><path>[#<commit-ish>]
|
||||
|
||||
`<protocol>` is one of `git`, `git+ssh`, `git+http`, or
|
||||
`git+https`. If no `<commit-ish>` is specified, then `master` is
|
||||
used.
|
||||
|
||||
Examples:
|
||||
|
||||
git+ssh://git@github.com:isaacs/npm.git#v1.0.27
|
||||
git+https://isaacs@github.com/isaacs/npm.git
|
||||
git://github.com/isaacs/npm.git#v1.0.27
|
||||
|
||||
You may combine multiple arguments, and even multiple types of arguments.
|
||||
For example:
|
||||
|
||||
npm install sax@">=0.1.0 <0.2.0" bench supervisor
|
||||
|
||||
The `--tag` argument will apply to all of the specified install targets.
|
||||
|
||||
The `--force` argument will force npm to fetch remote resources even if a
|
||||
local copy exists on disk.
|
||||
|
||||
npm install sax --force
|
||||
|
||||
The `--global` argument will cause npm to install the package globally
|
||||
rather than locally. See `npm-folders(1)`.
|
||||
|
||||
The `--link` argument will cause npm to link global installs into the
|
||||
local space in some cases.
|
||||
|
||||
The `--no-bin-links` argument will prevent npm from creating symlinks for
|
||||
any binaries the package might contain.
|
||||
|
||||
See `npm-config(1)`. Many of the configuration params have some
|
||||
effect on installation, since that's most of what npm does.
|
||||
|
||||
## ALGORITHM
|
||||
|
||||
To install a package, npm uses the following algorithm:
|
||||
|
||||
install(where, what, family, ancestors)
|
||||
fetch what, unpack to <where>/node_modules/<what>
|
||||
for each dep in what.dependencies
|
||||
resolve dep to precise version
|
||||
for each dep@version in what.dependencies
|
||||
not in <where>/node_modules/<what>/node_modules/*
|
||||
and not in <family>
|
||||
add precise version deps to <family>
|
||||
install(<where>/node_modules/<what>, dep, family)
|
||||
|
||||
For this `package{dep}` structure: `A{B,C}, B{C}, C{D}`,
|
||||
this algorithm produces:
|
||||
|
||||
A
|
||||
+-- B
|
||||
`-- C
|
||||
`-- D
|
||||
|
||||
That is, the dependency from B to C is satisfied by the fact that A
|
||||
already caused C to be installed at a higher level.
|
||||
|
||||
See npm-folders(1) for a more detailed description of the specific
|
||||
folder structures that npm creates.
|
||||
|
||||
### Limitations of npm's Install Algorithm
|
||||
|
||||
There are some very rare and pathological edge-cases where a cycle can
|
||||
cause npm to try to install a never-ending tree of packages. Here is
|
||||
the simplest case:
|
||||
|
||||
A -> B -> A' -> B' -> A -> B -> A' -> B' -> A -> ...
|
||||
|
||||
where `A` is some version of a package, and `A'` is a different version
|
||||
of the same package. Because `B` depends on a different version of `A`
|
||||
than the one that is already in the tree, it must install a separate
|
||||
copy. The same is true of `A'`, which must install `B'`. Because `B'`
|
||||
depends on the original version of `A`, which has been overridden, the
|
||||
cycle falls into infinite regress.
|
||||
|
||||
To avoid this situation, npm flat-out refuses to install any
|
||||
`name@version` that is already present anywhere in the tree of package
|
||||
folder ancestors. A more correct, but more complex, solution would be
|
||||
to symlink the existing version into the new location. If this ever
|
||||
affects a real use-case, it will be investigated.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
* npm-folders(1)
|
||||
* npm-update(1)
|
||||
* npm-link(1)
|
||||
* npm-rebuild(1)
|
||||
* npm-scripts(1)
|
||||
* npm-build(1)
|
||||
* npm-config(1)
|
||||
* npm-registry(1)
|
||||
* npm-folders(1)
|
||||
* npm-tag(1)
|
||||
* npm-rm(1)
|
||||
* npm-shrinkwrap(1)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user