This repository has been archived by the owner on Sep 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
npm-debug.log
5793 lines (5793 loc) · 578 KB
/
npm-debug.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'install',
1 verbose cli 'meteorite',
1 verbose cli '-g' ]
2 info using npm@1.2.10
3 info using node@v0.8.19
4 verbose read json /usr/local/lib/package.json
5 verbose read json /usr/local/lib/package.json
6 verbose cache add [ 'meteorite', null ]
7 verbose cache add name=undefined spec="meteorite" args=["meteorite",null]
8 verbose parsed url { pathname: 'meteorite', path: 'meteorite', href: 'meteorite' }
9 silly lockFile 8f2f99a9-meteorite meteorite
10 verbose lock meteorite /home/mark/.npm/8f2f99a9-meteorite.lock
11 silly lockFile 8f2f99a9-meteorite meteorite
12 silly lockFile 8f2f99a9-meteorite meteorite
13 verbose addNamed [ 'meteorite', '' ]
14 verbose addNamed [ null, '' ]
15 silly lockFile bf6d5fee-meteorite meteorite@
16 verbose lock meteorite@ /home/mark/.npm/bf6d5fee-meteorite.lock
17 silly addNameRange { name: 'meteorite', range: '', hasData: false }
18 verbose url raw meteorite
19 verbose url resolving [ 'https://registry.npmjs.org/', './meteorite' ]
20 verbose url resolved https://registry.npmjs.org/meteorite
21 info trying registry request attempt 1 at 15:52:31
22 verbose etag "7GKCACOCNGHP3SLVV22OMB869"
23 http GET https://registry.npmjs.org/meteorite
24 http 304 https://registry.npmjs.org/meteorite
25 silly registry.get cb [ 304,
25 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
25 silly registry.get etag: '"7GKCACOCNGHP3SLVV22OMB869"',
25 silly registry.get date: 'Thu, 07 Mar 2013 14:52:32 GMT',
25 silly registry.get 'content-length': '0' } ]
26 verbose etag meteorite from cache
27 silly addNameRange number 2 { name: 'meteorite', range: '', hasData: true }
28 silly addNameRange versions [ 'meteorite',
28 silly addNameRange [ '0.0.1',
28 silly addNameRange '0.0.2',
28 silly addNameRange '0.0.3',
28 silly addNameRange '0.0.4',
28 silly addNameRange '0.0.5',
28 silly addNameRange '0.0.6',
28 silly addNameRange '0.0.7',
28 silly addNameRange '0.0.8',
28 silly addNameRange '0.0.9',
28 silly addNameRange '0.0.10',
28 silly addNameRange '0.0.11',
28 silly addNameRange '0.0.12',
28 silly addNameRange '0.0.13',
28 silly addNameRange '0.0.14',
28 silly addNameRange '0.0.15',
28 silly addNameRange '0.0.16',
28 silly addNameRange '0.0.17',
28 silly addNameRange '0.0.18',
28 silly addNameRange '0.0.19',
28 silly addNameRange '0.1.0',
28 silly addNameRange '0.1.1',
28 silly addNameRange '0.2.0',
28 silly addNameRange '0.2.1',
28 silly addNameRange '0.2.2',
28 silly addNameRange '0.3.0',
28 silly addNameRange '0.3.1',
28 silly addNameRange '0.3.3',
28 silly addNameRange '0.4.0',
28 silly addNameRange '0.4.1',
28 silly addNameRange '0.4.2',
28 silly addNameRange '0.4.3',
28 silly addNameRange '0.4.4',
28 silly addNameRange '0.4.5',
28 silly addNameRange '0.4.6',
28 silly addNameRange '0.4.7' ] ]
29 verbose addNamed [ 'meteorite', '0.4.7' ]
30 verbose addNamed [ '0.4.7', '0.4.7' ]
31 silly lockFile d46f37a6-meteorite-0-4-7 meteorite@0.4.7
32 verbose lock meteorite@0.4.7 /home/mark/.npm/d46f37a6-meteorite-0-4-7.lock
33 verbose read json /home/mark/.npm/meteorite/0.4.7/package/package.json
34 silly lockFile d46f37a6-meteorite-0-4-7 meteorite@0.4.7
35 silly lockFile d46f37a6-meteorite-0-4-7 meteorite@0.4.7
36 silly lockFile bf6d5fee-meteorite meteorite@
37 silly lockFile bf6d5fee-meteorite meteorite@
38 silly resolved [ { name: 'meteorite',
38 silly resolved version: '0.4.7',
38 silly resolved homepage: 'http://oortcloud.github.com/meteorite',
38 silly resolved engines: [ 'node >=0.6.0' ],
38 silly resolved description: 'Installer & smart package manager for Meteor',
38 silly resolved author:
38 silly resolved { name: 'Mike Bannister',
38 silly resolved email: 'notimpossiblemike@gmail.com',
38 silly resolved url: 'http://po.ssibiliti.es' },
38 silly resolved dependencies:
38 silly resolved { ddp: '>=0.2.3',
38 silly resolved underscore: '>=1.3.3',
38 silly resolved wrench: '>=1.3.9',
38 silly resolved fstream: '>=0.1.18',
38 silly resolved optimist: '>=0.3.4',
38 silly resolved prompt: '0.2.3',
38 silly resolved colors: '0.6.0-1' },
38 silly resolved devDependencies: { mocha: '>=1.2.2', connect: '>=2.3.6' },
38 silly resolved scripts:
38 silly resolved { test: 'mocha spec/unit spec/acceptance -t 240000 -R spec',
38 silly resolved flushcache: 'rm -rf spec/support/cache' },
38 silly resolved repository:
38 silly resolved { type: 'git',
38 silly resolved url: 'https://github.com/oortcloud/meteorite.git' },
38 silly resolved bin: { mrt: './bin/mrt.js' },
38 silly resolved readme: '# Meteorite\n\nMeteorite is a Meteor version manager and package manager. It provides an easy way to run different versions of meteor, use non-core packages, and to install packages from the [Atmosphere package repository](https://atmosphere.meteor.com/). Meteorite provides the `mrt` command that wraps the `meteor` command, and should be used in its place.\n\n``` sh\n# Create an app based on Meteor\'s devel branch.\n$ mrt create my-app --branch devel\n$ cd my-app\n# Install an Atmosphere package, recursively fetching dependencies.\n$ mrt add router\n# Check for and install any updates, and run the app.\n$ mrt\n```\n\n## Installing Meteorite\n\nMeteorite can be installed via [npm](https://npmjs.org/).\n\n``` sh\n$ sudo npm install -g meteorite\n```\n\n**Note:** Meteorite does not work on Ubuntu 12.04\'s default Node.js v0.6 ([issue #67](https://github.com/oortcloud/meteorite/issues/67)). To fix this, install a recent version of Node.js via [this PPA](https://launchpad.net/~chris-lea/+archive/node.js/) or by compiling from source.\n\n## Usage\n\n### `mrt create <name>`\n\nWorks like `meteor create`, but you can specify the desired branch, tag or reference of [Meteor\'s git repository](https://github.com/meteor/meteor) that the app should be based on.\n\n``` sh\n# By default, apps are based on Meteor\'s master branch.\n$ mrt create cool-app\n# You can create apps based on a branch of Meteor\'s repo.\n$ mrt create risky-app --branch devel\n# Or, on a tag (such as version numbers).\n$ mrt create safe-app --tag v0.5.4\n# Or, or on a commit.\n$ mrt create choosy-app --ref a9a717\n```\n\n### `mrt add <package>`\n\nWorks like `meteor add`, but if the package isn\'t one of Meteor\'s included packages, it installs it from [Atmosphere](https://atmosphere.meteor.com).\n\nUnlike `meteor add`, only one package can be added at a time with `mrt add`.\n\n``` sh\n# Add the latest version of the moment package on Atmosphere.\n$ mrt add moment\n# Add a specific version of a package.\n$ mrt add router --version 0.3.4\n# Meteorite will install page.js too, because router depends on it.\n```\n\n### `mrt run`\n\nWorks like `meteor run`, but checks and installs the app\'s desired Meteor version and package dependencies before running the app.\n\n### `mrt update`\n\nInstalls any available updates to the app\'s desired Meteor version and packages.\n\n### Other commands\n\nWhen Meteorite is executed for an app, it checks or installs the app\'s desired Meteor version, packages and dependencies, then does the required book-keeping (described below), and finally passes the command onto `meteor`.\n\nHowever, these checks takes time to send requests to remote servers. It only really makes sense to check the app\'s dependencies when running the `create`, `run`, `add` or `update` commands. For other commands, there\'s no need. Therefore, you\'ll likely want to stick with using `meteor` other commands like `list`, `bundle` or `deploy`.\n\n## How Meteorite works\n\nApps tell Meteorite the Meteor version and packages they want with a file called `smart.json` in their root directory. Meteorite will install those dependencies the next time it is executed within that app.\n\nMeteorite writes to a `smart.lock` file in the app\'s root directory to track the exact versions of its dependencies, even when it\'s set up in a fresh environment. You should check the `smart.lock` file into your app\'s version control, to ensure that other developers are running the same versions of the dependencies. Any changes in `smart.json` take precendency over `smart.lock`. The `smart.lock` file is reset with the `mrt update` command.\n\n### Example `smart.json`\n\nThe `meteor` property is not required: apps will depend on Meteor\'s master branch by default. You can specify `meteor.branch`, `meteor.tag` or `meteor.git` to use alternate branches, tags and forks respectively.\n\n``` json\n{\n "meteor": {\n "tag": "v0.5.4"\n },\n "packages": {\n "moment": {},\n "router": "0.3.4",\n "roles": {\n "version": "1.0.1"\n },\n "accounts-persona": {\n "git": "https://github.com/vladikoff/meteor-accounts-persona"\n },\n "normalize.css": {\n "git": "https://github.com/rithis/meteor-normalize.css",\n "tag": "v2.0.1"\n },\n "my-experiment": {\n "path": "/path/to/local/package"\n }\n }\n}\n```\n\n## Writing Meteorite packages\n\nMeteorite packages include a `smart.json` file in their root directory to provide information about the package, and to list their dependencies. For an example, see [Meteor Router\'s `smart.json`](https://github.com/tmeasday/meteor-router/blob/master/smart.json).\n\nMeteorite packages also include a `package.js` file in their root directory to tell Meteorite how it should be installed. For an example, see [Meteor Roles\' `package.js`](https://github.com/alanning/meteor-roles/blob/master/roles/package.js).\n\nSee [Atmosphere\'s documentation on writing packages](https://atmosphere.meteor.com/wtf/package) for more information.\n\n## Contributing\n\nContributions to meteorite are very welcome! Please see the [Contribution Guide](https://github.com/oortcloud/meteorite/blob/master/CONTRIBUTING.md) for details.\n',
38 silly resolved readmeFilename: 'README.md',
38 silly resolved _id: 'meteorite@0.4.7',
38 silly resolved _from: 'meteorite@' } ]
39 info install meteorite@0.4.7 into /usr/local/lib
40 info installOne meteorite@0.4.7
41 verbose from cache /home/mark/.npm/meteorite/0.4.7/package/package.json
42 info /usr/local/lib/node_modules/meteorite unbuild
43 verbose read json /usr/local/lib/node_modules/meteorite/package.json
44 info preuninstall meteorite@0.4.7
45 info uninstall meteorite@0.4.7
46 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild meteorite@0.4.7
47 verbose /usr/local/bin,[object Object] binRoot
48 info postuninstall meteorite@0.4.7
49 verbose tar unpack /home/mark/.npm/meteorite/0.4.7/package.tgz
50 silly lockFile 8fc49c16-local-lib-node-modules-meteorite /usr/local/lib/node_modules/meteorite
51 verbose lock /usr/local/lib/node_modules/meteorite /home/mark/.npm/8fc49c16-local-lib-node-modules-meteorite.lock
52 silly lockFile 6d1e1ab3--npm-meteorite-0-4-7-package-tgz /home/mark/.npm/meteorite/0.4.7/package.tgz
53 verbose lock /home/mark/.npm/meteorite/0.4.7/package.tgz /home/mark/.npm/6d1e1ab3--npm-meteorite-0-4-7-package-tgz.lock
54 silly gunzTarPerm modes [ '755', '644' ]
55 silly gunzTarPerm extractEntry package.json
56 silly gunzTarPerm extractEntry README.md
57 silly gunzTarPerm extractEntry CONTRIBUTING.md
58 silly gunzTarPerm extractEntry lib/project.js
59 silly gunzTarPerm extractEntry lib/console.js
60 silly gunzTarPerm extractEntry lib/meteorite.js
61 silly gunzTarPerm extractEntry lib/command.js
62 silly gunzTarPerm extractEntry lib/meteor.js
63 silly gunzTarPerm extractEntry lib/config.js
64 silly gunzTarPerm extractEntry lib/debug.js
65 silly gunzTarPerm extractEntry lib/atmosphere.js
66 silly gunzTarPerm extractEntry lib/dependencies/dependencies.js
67 silly gunzTarPerm extractEntry lib/dependencies/package.js
68 silly gunzTarPerm extractEntry lib/dependencies/resolver.js
69 silly gunzTarPerm extractEntry lib/sources/git.js
70 silly gunzTarPerm extractEntry lib/sources/source.js
71 silly gunzTarPerm extractEntry lib/sources/local.js
72 silly gunzTarPerm extractEntry lib/utils/git.js
73 silly gunzTarPerm extractEntry lib/utils/fs.js
74 silly gunzTarPerm extractEntry bin/mrt.js
75 silly gunzTarPerm extractEntry LICENSE.txt
76 verbose read json /usr/local/lib/node_modules/meteorite/package.json
77 silly lockFile 8fc49c16-local-lib-node-modules-meteorite /usr/local/lib/node_modules/meteorite
78 silly lockFile 8fc49c16-local-lib-node-modules-meteorite /usr/local/lib/node_modules/meteorite
79 silly lockFile 6d1e1ab3--npm-meteorite-0-4-7-package-tgz /home/mark/.npm/meteorite/0.4.7/package.tgz
80 silly lockFile 6d1e1ab3--npm-meteorite-0-4-7-package-tgz /home/mark/.npm/meteorite/0.4.7/package.tgz
81 info preinstall meteorite@0.4.7
82 verbose from cache /usr/local/lib/node_modules/meteorite/package.json
83 verbose readDependencies using package.json deps
84 verbose from cache /usr/local/lib/node_modules/meteorite/package.json
85 verbose readDependencies using package.json deps
86 verbose cache add [ 'ddp@>=0.2.3', null ]
87 verbose cache add name=undefined spec="ddp@>=0.2.3" args=["ddp@>=0.2.3",null]
88 verbose parsed url { pathname: 'ddp@%3E=0.2.3',
88 verbose parsed url path: 'ddp@%3E=0.2.3',
88 verbose parsed url href: 'ddp@%3E=0.2.3' }
89 verbose cache add name="ddp" spec=">=0.2.3" args=["ddp",">=0.2.3"]
90 verbose parsed url { pathname: '%3E=0.2.3', path: '%3E=0.2.3', href: '%3E=0.2.3' }
91 verbose addNamed [ 'ddp', '>=0.2.3' ]
92 verbose addNamed [ null, '>=0.2.3' ]
93 silly lockFile e9052430-ddp-0-2-3 ddp@>=0.2.3
94 verbose lock ddp@>=0.2.3 /home/mark/.npm/e9052430-ddp-0-2-3.lock
95 verbose cache add [ 'underscore@>=1.3.3', null ]
96 verbose cache add name=undefined spec="underscore@>=1.3.3" args=["underscore@>=1.3.3",null]
97 verbose parsed url { pathname: 'underscore@%3E=1.3.3',
97 verbose parsed url path: 'underscore@%3E=1.3.3',
97 verbose parsed url href: 'underscore@%3E=1.3.3' }
98 verbose cache add name="underscore" spec=">=1.3.3" args=["underscore",">=1.3.3"]
99 verbose parsed url { pathname: '%3E=1.3.3', path: '%3E=1.3.3', href: '%3E=1.3.3' }
100 verbose addNamed [ 'underscore', '>=1.3.3' ]
101 verbose addNamed [ null, '>=1.3.3' ]
102 silly lockFile 8f6137b1-underscore-1-3-3 underscore@>=1.3.3
103 verbose lock underscore@>=1.3.3 /home/mark/.npm/8f6137b1-underscore-1-3-3.lock
104 silly addNameRange { name: 'ddp', range: '>=0.2.3', hasData: false }
105 silly addNameRange { name: 'underscore', range: '>=1.3.3', hasData: false }
106 verbose cache add [ 'wrench@>=1.3.9', null ]
107 verbose cache add name=undefined spec="wrench@>=1.3.9" args=["wrench@>=1.3.9",null]
108 verbose parsed url { pathname: 'wrench@%3E=1.3.9',
108 verbose parsed url path: 'wrench@%3E=1.3.9',
108 verbose parsed url href: 'wrench@%3E=1.3.9' }
109 verbose cache add name="wrench" spec=">=1.3.9" args=["wrench",">=1.3.9"]
110 verbose parsed url { pathname: '%3E=1.3.9', path: '%3E=1.3.9', href: '%3E=1.3.9' }
111 verbose addNamed [ 'wrench', '>=1.3.9' ]
112 verbose addNamed [ null, '>=1.3.9' ]
113 silly lockFile 624ccb60-wrench-1-3-9 wrench@>=1.3.9
114 verbose lock wrench@>=1.3.9 /home/mark/.npm/624ccb60-wrench-1-3-9.lock
115 verbose cache add [ 'fstream@>=0.1.18', null ]
116 verbose cache add name=undefined spec="fstream@>=0.1.18" args=["fstream@>=0.1.18",null]
117 verbose parsed url { pathname: 'fstream@%3E=0.1.18',
117 verbose parsed url path: 'fstream@%3E=0.1.18',
117 verbose parsed url href: 'fstream@%3E=0.1.18' }
118 verbose cache add name="fstream" spec=">=0.1.18" args=["fstream",">=0.1.18"]
119 verbose parsed url { pathname: '%3E=0.1.18',
119 verbose parsed url path: '%3E=0.1.18',
119 verbose parsed url href: '%3E=0.1.18' }
120 verbose addNamed [ 'fstream', '>=0.1.18' ]
121 verbose addNamed [ null, '>=0.1.18' ]
122 silly lockFile 5141b154-fstream-0-1-18 fstream@>=0.1.18
123 verbose lock fstream@>=0.1.18 /home/mark/.npm/5141b154-fstream-0-1-18.lock
124 verbose cache add [ 'optimist@>=0.3.4', null ]
125 verbose cache add name=undefined spec="optimist@>=0.3.4" args=["optimist@>=0.3.4",null]
126 verbose parsed url { pathname: 'optimist@%3E=0.3.4',
126 verbose parsed url path: 'optimist@%3E=0.3.4',
126 verbose parsed url href: 'optimist@%3E=0.3.4' }
127 verbose cache add name="optimist" spec=">=0.3.4" args=["optimist",">=0.3.4"]
128 verbose parsed url { pathname: '%3E=0.3.4', path: '%3E=0.3.4', href: '%3E=0.3.4' }
129 verbose addNamed [ 'optimist', '>=0.3.4' ]
130 verbose addNamed [ null, '>=0.3.4' ]
131 silly lockFile 748708ed-optimist-0-3-4 optimist@>=0.3.4
132 verbose lock optimist@>=0.3.4 /home/mark/.npm/748708ed-optimist-0-3-4.lock
133 verbose cache add [ 'prompt@0.2.3', null ]
134 verbose cache add name=undefined spec="prompt@0.2.3" args=["prompt@0.2.3",null]
135 verbose parsed url { pathname: 'prompt@0.2.3',
135 verbose parsed url path: 'prompt@0.2.3',
135 verbose parsed url href: 'prompt@0.2.3' }
136 verbose cache add name="prompt" spec="0.2.3" args=["prompt","0.2.3"]
137 verbose parsed url { pathname: '0.2.3', path: '0.2.3', href: '0.2.3' }
138 verbose addNamed [ 'prompt', '0.2.3' ]
139 verbose addNamed [ '0.2.3', '0.2.3' ]
140 silly lockFile 3a67ba9e-prompt-0-2-3 prompt@0.2.3
141 verbose lock prompt@0.2.3 /home/mark/.npm/3a67ba9e-prompt-0-2-3.lock
142 silly addNameRange { name: 'wrench', range: '>=1.3.9', hasData: false }
143 silly addNameRange { name: 'fstream', range: '>=0.1.18', hasData: false }
144 silly addNameRange { name: 'optimist', range: '>=0.3.4', hasData: false }
145 verbose url raw ddp
146 verbose url resolving [ 'https://registry.npmjs.org/', './ddp' ]
147 verbose url resolved https://registry.npmjs.org/ddp
148 info trying registry request attempt 1 at 15:52:32
149 verbose etag "40GGESFBNNHD5SMP7T606MZJP"
150 http GET https://registry.npmjs.org/ddp
151 verbose url raw underscore
152 verbose url resolving [ 'https://registry.npmjs.org/', './underscore' ]
153 verbose url resolved https://registry.npmjs.org/underscore
154 info trying registry request attempt 1 at 15:52:32
155 verbose etag "3Y1MHGZCJLF41E9F6G986P3ZB"
156 http GET https://registry.npmjs.org/underscore
157 verbose url raw wrench
158 verbose url resolving [ 'https://registry.npmjs.org/', './wrench' ]
159 verbose url resolved https://registry.npmjs.org/wrench
160 info trying registry request attempt 1 at 15:52:32
161 verbose etag "B0ZAO0DXV139MX3M07YGMHCOJ"
162 http GET https://registry.npmjs.org/wrench
163 verbose url raw fstream
164 verbose url resolving [ 'https://registry.npmjs.org/', './fstream' ]
165 verbose url resolved https://registry.npmjs.org/fstream
166 info trying registry request attempt 1 at 15:52:32
167 verbose etag "220YHKJO8IIDFBK2Q3VJZ6XCW"
168 http GET https://registry.npmjs.org/fstream
169 verbose url raw optimist
170 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
171 verbose url resolved https://registry.npmjs.org/optimist
172 info trying registry request attempt 1 at 15:52:32
173 verbose etag "DINJX8JJJF3SUM849RJWMQAS"
174 http GET https://registry.npmjs.org/optimist
175 verbose url raw prompt/0.2.3
176 verbose url resolving [ 'https://registry.npmjs.org/', './prompt/0.2.3' ]
177 verbose url resolved https://registry.npmjs.org/prompt/0.2.3
178 info trying registry request attempt 1 at 15:52:32
179 verbose etag "5DOHP4JYKO5CWCUYQ83G7PU6F"
180 http GET https://registry.npmjs.org/prompt/0.2.3
181 verbose cache add [ 'colors@0.6.0-1', null ]
182 verbose cache add name=undefined spec="colors@0.6.0-1" args=["colors@0.6.0-1",null]
183 verbose parsed url { pathname: 'colors@0.6.0-1',
183 verbose parsed url path: 'colors@0.6.0-1',
183 verbose parsed url href: 'colors@0.6.0-1' }
184 verbose cache add name="colors" spec="0.6.0-1" args=["colors","0.6.0-1"]
185 verbose parsed url { pathname: '0.6.0-1', path: '0.6.0-1', href: '0.6.0-1' }
186 verbose addNamed [ 'colors', '0.6.0-1' ]
187 verbose addNamed [ '0.6.0-1', '0.6.0-1' ]
188 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
189 verbose lock colors@0.6.0-1 /home/mark/.npm/02eba27f-colors-0-6-0-1.lock
190 verbose url raw colors/0.6.0-1
191 verbose url resolving [ 'https://registry.npmjs.org/', './colors/0.6.0-1' ]
192 verbose url resolved https://registry.npmjs.org/colors/0.6.0-1
193 info trying registry request attempt 1 at 15:52:32
194 verbose etag "6JP0MVYKSDQ61S7E6KOD3V33Y"
195 http GET https://registry.npmjs.org/colors/0.6.0-1
196 http 304 https://registry.npmjs.org/underscore
197 silly registry.get cb [ 304,
197 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
197 silly registry.get etag: '"3Y1MHGZCJLF41E9F6G986P3ZB"',
197 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
197 silly registry.get 'content-length': '0' } ]
198 verbose etag underscore from cache
199 http 304 https://registry.npmjs.org/ddp
200 silly registry.get cb [ 304,
200 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
200 silly registry.get etag: '"40GGESFBNNHD5SMP7T606MZJP"',
200 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
200 silly registry.get 'content-length': '0' } ]
201 verbose etag ddp from cache
202 silly addNameRange number 2 { name: 'ddp', range: '>=0.2.3', hasData: true }
203 silly addNameRange versions [ 'ddp',
203 silly addNameRange [ '0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.2.2', '0.2.3' ] ]
204 verbose addNamed [ 'ddp', '0.2.3' ]
205 verbose addNamed [ '0.2.3', '0.2.3' ]
206 silly lockFile 942fc4fd-ddp-0-2-3 ddp@0.2.3
207 verbose lock ddp@0.2.3 /home/mark/.npm/942fc4fd-ddp-0-2-3.lock
208 silly addNameRange number 2 { name: 'underscore', range: '>=1.3.3', hasData: true }
209 silly addNameRange versions [ 'underscore',
209 silly addNameRange [ '1.0.3',
209 silly addNameRange '1.0.4',
209 silly addNameRange '1.1.0',
209 silly addNameRange '1.1.1',
209 silly addNameRange '1.1.2',
209 silly addNameRange '1.1.3',
209 silly addNameRange '1.1.4',
209 silly addNameRange '1.1.5',
209 silly addNameRange '1.1.6',
209 silly addNameRange '1.1.7',
209 silly addNameRange '1.2.0',
209 silly addNameRange '1.2.1',
209 silly addNameRange '1.2.2',
209 silly addNameRange '1.2.3',
209 silly addNameRange '1.2.4',
209 silly addNameRange '1.3.0',
209 silly addNameRange '1.3.1',
209 silly addNameRange '1.3.2',
209 silly addNameRange '1.3.3',
209 silly addNameRange '1.4.0',
209 silly addNameRange '1.4.1',
209 silly addNameRange '1.4.2',
209 silly addNameRange '1.4.3',
209 silly addNameRange '1.4.4' ] ]
210 verbose addNamed [ 'underscore', '1.4.4' ]
211 verbose addNamed [ '1.4.4', '1.4.4' ]
212 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
213 verbose lock underscore@1.4.4 /home/mark/.npm/c6b5e825-underscore-1-4-4.lock
214 verbose read json /home/mark/.npm/ddp/0.2.3/package/package.json
215 verbose read json /home/mark/.npm/underscore/1.4.4/package/package.json
216 http 304 https://registry.npmjs.org/fstream
217 silly registry.get cb [ 304,
217 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
217 silly registry.get etag: '"220YHKJO8IIDFBK2Q3VJZ6XCW"',
217 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
217 silly registry.get 'content-length': '0' } ]
218 verbose etag fstream from cache
219 silly lockFile 942fc4fd-ddp-0-2-3 ddp@0.2.3
220 silly lockFile 942fc4fd-ddp-0-2-3 ddp@0.2.3
221 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
222 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
223 silly lockFile e9052430-ddp-0-2-3 ddp@>=0.2.3
224 silly lockFile e9052430-ddp-0-2-3 ddp@>=0.2.3
225 silly lockFile 8f6137b1-underscore-1-3-3 underscore@>=1.3.3
226 silly lockFile 8f6137b1-underscore-1-3-3 underscore@>=1.3.3
227 silly addNameRange number 2 { name: 'fstream', range: '>=0.1.18', hasData: true }
228 silly addNameRange versions [ 'fstream',
228 silly addNameRange [ '0.0.0',
228 silly addNameRange '0.0.1',
228 silly addNameRange '0.1.0',
228 silly addNameRange '0.1.1',
228 silly addNameRange '0.1.2',
228 silly addNameRange '0.1.3',
228 silly addNameRange '0.1.5',
228 silly addNameRange '0.1.6',
228 silly addNameRange '0.1.7',
228 silly addNameRange '0.1.8',
228 silly addNameRange '0.1.9',
228 silly addNameRange '0.1.10',
228 silly addNameRange '0.1.11',
228 silly addNameRange '0.1.12',
228 silly addNameRange '0.1.13',
228 silly addNameRange '0.1.14',
228 silly addNameRange '0.1.15',
228 silly addNameRange '0.1.16',
228 silly addNameRange '0.1.17',
228 silly addNameRange '0.1.18',
228 silly addNameRange '0.1.19',
228 silly addNameRange '0.1.20',
228 silly addNameRange '0.1.21',
228 silly addNameRange '0.1.22' ] ]
229 verbose addNamed [ 'fstream', '0.1.22' ]
230 verbose addNamed [ '0.1.22', '0.1.22' ]
231 silly lockFile 7efda1a3-fstream-0-1-22 fstream@0.1.22
232 verbose lock fstream@0.1.22 /home/mark/.npm/7efda1a3-fstream-0-1-22.lock
233 verbose read json /home/mark/.npm/fstream/0.1.22/package/package.json
234 silly lockFile 7efda1a3-fstream-0-1-22 fstream@0.1.22
235 silly lockFile 7efda1a3-fstream-0-1-22 fstream@0.1.22
236 silly lockFile 5141b154-fstream-0-1-18 fstream@>=0.1.18
237 silly lockFile 5141b154-fstream-0-1-18 fstream@>=0.1.18
238 http 304 https://registry.npmjs.org/wrench
239 silly registry.get cb [ 304,
239 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
239 silly registry.get etag: '"B0ZAO0DXV139MX3M07YGMHCOJ"',
239 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
239 silly registry.get 'content-length': '0' } ]
240 verbose etag wrench from cache
241 silly addNameRange number 2 { name: 'wrench', range: '>=1.3.9', hasData: true }
242 silly addNameRange versions [ 'wrench',
242 silly addNameRange [ '0.1.0',
242 silly addNameRange '1.0.0',
242 silly addNameRange '1.1.0',
242 silly addNameRange '1.2.0',
242 silly addNameRange '1.3.0',
242 silly addNameRange '1.3.1',
242 silly addNameRange '1.3.2',
242 silly addNameRange '1.3.3',
242 silly addNameRange '1.3.4',
242 silly addNameRange '1.3.5',
242 silly addNameRange '1.3.6',
242 silly addNameRange '1.3.7',
242 silly addNameRange '1.3.8',
242 silly addNameRange '1.3.9',
242 silly addNameRange '1.4.0',
242 silly addNameRange '1.4.1',
242 silly addNameRange '1.4.2',
242 silly addNameRange '1.4.3',
242 silly addNameRange '1.4.4' ] ]
243 verbose addNamed [ 'wrench', '1.4.4' ]
244 verbose addNamed [ '1.4.4', '1.4.4' ]
245 silly lockFile 7dc20a40-wrench-1-4-4 wrench@1.4.4
246 verbose lock wrench@1.4.4 /home/mark/.npm/7dc20a40-wrench-1-4-4.lock
247 verbose read json /home/mark/.npm/wrench/1.4.4/package/package.json
248 silly lockFile 7dc20a40-wrench-1-4-4 wrench@1.4.4
249 silly lockFile 7dc20a40-wrench-1-4-4 wrench@1.4.4
250 silly lockFile 624ccb60-wrench-1-3-9 wrench@>=1.3.9
251 silly lockFile 624ccb60-wrench-1-3-9 wrench@>=1.3.9
252 http 304 https://registry.npmjs.org/optimist
253 silly registry.get cb [ 304,
253 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
253 silly registry.get etag: '"DINJX8JJJF3SUM849RJWMQAS"',
253 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
253 silly registry.get 'content-length': '0' } ]
254 verbose etag optimist from cache
255 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.4', hasData: true }
256 silly addNameRange versions [ 'optimist',
256 silly addNameRange [ '0.0.1',
256 silly addNameRange '0.0.2',
256 silly addNameRange '0.0.4',
256 silly addNameRange '0.0.5',
256 silly addNameRange '0.0.6',
256 silly addNameRange '0.0.7',
256 silly addNameRange '0.1.0',
256 silly addNameRange '0.1.1',
256 silly addNameRange '0.1.2',
256 silly addNameRange '0.1.3',
256 silly addNameRange '0.1.4',
256 silly addNameRange '0.1.5',
256 silly addNameRange '0.1.6',
256 silly addNameRange '0.1.7',
256 silly addNameRange '0.1.8',
256 silly addNameRange '0.1.9',
256 silly addNameRange '0.0.3',
256 silly addNameRange '0.2.0',
256 silly addNameRange '0.2.1',
256 silly addNameRange '0.2.2',
256 silly addNameRange '0.2.3',
256 silly addNameRange '0.2.4',
256 silly addNameRange '0.2.5',
256 silly addNameRange '0.2.6',
256 silly addNameRange '0.2.7',
256 silly addNameRange '0.2.8',
256 silly addNameRange '0.3.0',
256 silly addNameRange '0.3.1',
256 silly addNameRange '0.3.3',
256 silly addNameRange '0.3.4',
256 silly addNameRange '0.3.5' ] ]
257 verbose addNamed [ 'optimist', '0.3.5' ]
258 verbose addNamed [ '0.3.5', '0.3.5' ]
259 silly lockFile 72e2da2d-optimist-0-3-5 optimist@0.3.5
260 verbose lock optimist@0.3.5 /home/mark/.npm/72e2da2d-optimist-0-3-5.lock
261 verbose read json /home/mark/.npm/optimist/0.3.5/package/package.json
262 silly lockFile 72e2da2d-optimist-0-3-5 optimist@0.3.5
263 silly lockFile 72e2da2d-optimist-0-3-5 optimist@0.3.5
264 silly lockFile 748708ed-optimist-0-3-4 optimist@>=0.3.4
265 silly lockFile 748708ed-optimist-0-3-4 optimist@>=0.3.4
266 http 304 https://registry.npmjs.org/prompt/0.2.3
267 silly registry.get cb [ 304,
267 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
267 silly registry.get etag: '"5DOHP4JYKO5CWCUYQ83G7PU6F"',
267 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
267 silly registry.get 'content-length': '0' } ]
268 verbose etag prompt/0.2.3 from cache
269 http 304 https://registry.npmjs.org/colors/0.6.0-1
270 silly registry.get cb [ 304,
270 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
270 silly registry.get etag: '"6JP0MVYKSDQ61S7E6KOD3V33Y"',
270 silly registry.get date: 'Thu, 07 Mar 2013 14:52:33 GMT',
270 silly registry.get 'content-length': '0' } ]
271 verbose etag colors/0.6.0-1 from cache
272 verbose read json /home/mark/.npm/colors/0.6.0-1/package/package.json
273 verbose read json /home/mark/.npm/prompt/0.2.3/package/package.json
274 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
275 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
276 silly lockFile 3a67ba9e-prompt-0-2-3 prompt@0.2.3
277 silly lockFile 3a67ba9e-prompt-0-2-3 prompt@0.2.3
278 silly resolved [ { name: 'ddp',
278 silly resolved version: '0.2.3',
278 silly resolved description: 'Node.js module to connect to servers using DDP protocol.',
278 silly resolved author:
278 silly resolved { name: 'Tom Coleman',
278 silly resolved email: 'tom@thesnail.org',
278 silly resolved url: 'http://tom.thesnail.org' },
278 silly resolved main: 'lib/ddp-client',
278 silly resolved keywords: [ 'ddp', 'meteor', 'protocol' ],
278 silly resolved repository:
278 silly resolved { type: 'git',
278 silly resolved url: 'https://github.com/oortcloud/node-ddp-client.git' },
278 silly resolved dependencies: { ws: '>=0.4.23', underscore: '>=1.3.3' },
278 silly resolved engines: { node: '*' },
278 silly resolved readme: 'Node DDP Client\n===============\n\nA callback style DDP (meteor\'s distributed data protocol) node client.\n\nBased _heavily_ on alansikora\'s [node-js_ddp-client](https://github.com/alansikora/node-js_ddp-client), and meteor\'s python client. Uses a more callback style approach.\n\nUnfinished at this point, but should do most of what you want it to do.\n\nInstallation\n============\n\n```\n npm install ddp\n```\n\nExample\n=======\n\nPlease see the example in `examples/example.js`. Or here for reference:\n\n```js\nvar DDPClient = require("ddpclient-callbacks"); \n\nvar ddpclient = new DDPClient("localhost", 3000);\n\nddpclient.connect(function() {\n \n console.log(\'connected!\');\n \n ddpclient.call(\'test-function\', [\'foo\', \'bar\'], function(err, result) {\n console.log(\'called function, result: \' + result);\n })\n \n ddpclient.subscribe(\'posts\', [], function() {\n console.log(\'posts complete:\');\n console.log(ddpclient.collections.posts);\n })\n});\n```\n\nThanks\n======\n\nMany thanks to Alan Sikora, and also Mike Bannister(@possibilities).\n',
278 silly resolved readmeFilename: 'README.markdown',
278 silly resolved _id: 'ddp@0.2.3',
278 silly resolved _from: 'ddp@>=0.2.3' },
278 silly resolved { name: 'underscore',
278 silly resolved description: 'JavaScript\'s functional programming helper library.',
278 silly resolved homepage: 'http://underscorejs.org',
278 silly resolved keywords: [ 'util', 'functional', 'server', 'client', 'browser' ],
278 silly resolved author: { name: 'Jeremy Ashkenas', email: 'jeremy@documentcloud.org' },
278 silly resolved repository:
278 silly resolved { type: 'git',
278 silly resolved url: 'git://github.com/documentcloud/underscore.git' },
278 silly resolved main: 'underscore.js',
278 silly resolved version: '1.4.4',
278 silly resolved devDependencies: { phantomjs: '0.2.2' },
278 silly resolved scripts: { test: 'phantomjs test/vendor/runner.js test/index.html?noglobals=true' },
278 silly resolved readme: ' __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /\' _ `\\ /\'_ \\ /\'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/\'__`\\ \\/\\ \\ /\',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n',
278 silly resolved readmeFilename: 'README.md',
278 silly resolved _id: 'underscore@1.4.4',
278 silly resolved _from: 'underscore@>=1.3.3' },
278 silly resolved { author:
278 silly resolved { name: 'Isaac Z. Schlueter',
278 silly resolved email: 'i@izs.me',
278 silly resolved url: 'http://blog.izs.me/' },
278 silly resolved name: 'fstream',
278 silly resolved description: 'Advanced file system stream things',
278 silly resolved version: '0.1.22',
278 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/fstream.git' },
278 silly resolved main: 'fstream.js',
278 silly resolved engines: { node: '>=0.6' },
278 silly resolved dependencies:
278 silly resolved { rimraf: '2',
278 silly resolved mkdirp: '0.3',
278 silly resolved 'graceful-fs': '~1.2.0',
278 silly resolved inherits: '~1.0.0' },
278 silly resolved devDependencies: { tap: '' },
278 silly resolved scripts: { test: 'tap examples/*.js' },
278 silly resolved license: 'BSD',
278 silly resolved readme: 'Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don\'t change its contents, or to create\na symlink, etc.\n\nSo, for example, you can "write" a directory, and it\'ll call `mkdir`. You\ncan specify a uid and gid, and it\'ll call `chown`. You can specify a\n`mtime` and `atime`, and it\'ll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it\'ll call `symlink`.\n\nNote that it won\'t automatically resolve symbolic links. So, if you\ncall `fstream.Reader(\'/some/symlink\')` then you\'ll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:\'/some/symlink\', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n })\n .write("hello\\n")\n .end()\n```\n\nThis will create the directories if they\'re missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it\'s done.\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n , flags: "a"\n })\n .write("hello\\n")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: "path/to/symlink"\n , linkpath: "./file"\n , SymbolicLink: true\n , mode: "0755" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it\'ll be called, and if it returns\ntrue, then it\'ll treat it as a symlink. If it\'s not a function, then\nany truish value will make a symlink, or you can set `type:\n\'SymbolicLink\'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader("path/to/dir")\n .pipe(fstream.Writer("path/to/other/dir"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn\'t a directory, then it\'ll emit an error. It\'ll also\nset the uid, gid, mode, etc. to be identical. In this way, it\'s more\nlike `rsync -a` than simply a copy.\n',
278 silly resolved readmeFilename: 'README.md',
278 silly resolved _id: 'fstream@0.1.22',
278 silly resolved _from: 'fstream@>=0.1.18' },
278 silly resolved { name: 'wrench',
278 silly resolved description: 'Recursive filesystem (and other) operations that Node *should* have.',
278 silly resolved version: '1.4.4',
278 silly resolved author: { name: 'Ryan McGrath', email: 'ryan@venodesigns.net' },
278 silly resolved repository:
278 silly resolved { type: 'git',
278 silly resolved url: 'https://ryanmcgrath@github.com/ryanmcgrath/wrench-js.git' },
278 silly resolved bugs: { url: 'http://github.com/ryanmcgrath/wrench-js/issues' },
278 silly resolved directories: { lib: './lib/' },
278 silly resolved dependencies: {},
278 silly resolved devDependencies: { nodeunit: '>= 0.6.4' },
278 silly resolved main: './lib/wrench',
278 silly resolved engines: { node: '>=0.1.97' },
278 silly resolved scripts: { test: 'nodeunit tests/runner.js' },
278 silly resolved licenses: [ [Object] ],
278 silly resolved readme: 'wrench.js - Recursive file operations in Node.js\n----------------------------------------------------------------------------\nWhile I love Node.js, I\'ve found myself missing some functions. Things like\nrecursively deleting/chmodding a directory (or even deep copying a directory),\nor even a basic line reader, shouldn\'t need to be re-invented time and time again.\n\nThat said, here\'s my attempt at a re-usable solution, at least until something\nmore formalized gets integrated into Node.js (*hint hint*). wrench.js is fairly simple\nto use - check out the documentation/examples below:\n\nInstallation\n-----------------------------------------------------------------------------\n\n npm install wrench\n\nUsage\n-----------------------------------------------------------------------------\n``` javascript\nvar wrench = require(\'wrench\'),\n\tutil = require(\'util\');\n```\n\n### Synchronous operations\n``` javascript\n// Recursively create directories, sub-trees and all.\nwrench.mkdirSyncRecursive(dir, 0777);\n\n// Recursively delete the entire sub-tree of a directory, then kill the directory\nwrench.rmdirSyncRecursive(\'my_directory_name\', failSilently);\n\n// Recursively read directories contents.\nwrench.readdirSyncRecursive(\'my_directory_name\');\n\n// Recursively chmod the entire sub-tree of a directory\nwrench.chmodSyncRecursive(\'my_directory_name\', 0755);\n\n// Recursively chown the entire sub-tree of a directory\nwrench.chownSyncRecursive("directory", uid, gid);\n\n// Deep-copy an existing directory\nwrench.copyDirSyncRecursive(\'directory_to_copy\', \'location_where_copy_should_end_up\');\n\n// Read lines in from a file until you hit the end\nvar f = new wrench.LineReader(\'x.txt\');\nwhile(f.hasNextLine()) {\n\tutil.puts(x.getNextLine());\n}\n\n// Note: You will need to close that above line reader at some point, otherwise\n// you will run into a "too many open files" error. f.close() or fs.closeSync(f.fd) are\n// your friends, as only you know when it is safe to close.\n```\n\n### Asynchronous operations\n``` javascript\n// Recursively read directories contents\nvar files = [];\nwrench.readdirRecursive(\'my_directory_name\', function(error, curFiles) {\n // curFiles is what you want\n});\n```\n\nQuestions, comments? Hit me up. (ryan [at] venodesigns.net | http://twitter.com/ryanmcgrath)\n',
278 silly resolved readmeFilename: 'readme.md',
278 silly resolved _id: 'wrench@1.4.4',
278 silly resolved _from: 'wrench@>=1.3.9' },
278 silly resolved { name: 'optimist',
278 silly resolved version: '0.3.5',
278 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
278 silly resolved main: './index.js',
278 silly resolved directories: { lib: '.', test: 'test', example: 'example' },
278 silly resolved dependencies: { wordwrap: '~0.0.2' },
278 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.2.4' },
278 silly resolved scripts: { test: 'tap ./test/*.js' },
278 silly resolved repository:
278 silly resolved { type: 'git',
278 silly resolved url: 'http://github.com/substack/node-optimist.git' },
278 silly resolved keywords:
278 silly resolved [ 'argument',
278 silly resolved 'args',
278 silly resolved 'option',
278 silly resolved 'parser',
278 silly resolved 'parsing',
278 silly resolved 'cli',
278 silly resolved 'command' ],
278 silly resolved author:
278 silly resolved { name: 'James Halliday',
278 silly resolved email: 'mail@substack.net',
278 silly resolved url: 'http://substack.net' },
278 silly resolved license: 'MIT/X11',
278 silly resolved engine: { node: '>=0.4' },
278 silly resolved readme: 'optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn\'t have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log(\'Buy more riffiwobbles\');\n}\nelse {\n console.log(\'Sell the xupptumblers\');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one\'s optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There\'s more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require(\'util\');\nvar argv = require(\'optimist\').argv;\n\nif (argv.s) {\n util.print(argv.fr ? \'Le chat dit: \' : \'The cat says: \');\n}\nconsole.log(\n (argv.fr ? \'miaou\' : \'meow\') + (argv.p ? \'.\' : \'\')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ \'moo\' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ \'foo\', \'bar\', \'baz\' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Usage: $0 -x [num] -y [num]\')\n .demand([\'x\',\'y\'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default(\'x\', 10)\n .default(\'y\', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean(\'v\')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ \'bar\', \'baz\', \'foo\' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean([\'x\',\'y\',\'z\'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ \'one\', \'two\', \'three\' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Count the lines in a file.\\nUsage: $0\')\n .demand(\'f\')\n .alias(\'f\', \'file\')\n .describe(\'f\', \'Load a file\')\n .argv\n;\n\nvar fs = require(\'fs\');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on(\'data\', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on(\'end\', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire(\'optimist\').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire(\'optimist\')([ \'-x\', \'1\', \'-y\', \'2\' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire(\'optimist\').parse([ \'-x\', \'1\', \'-y\', \'2\' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn\'t\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require(\'optimist\')\n .options(\'f\', {\n alias : \'file\',\n default : \'/etc/passwd\',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require(\'optimist\')\n .alias(\'f\', \'file\')\n .default(\'f\', \'/etc/passwd\')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won\'t get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ \'-c\', \'3\', \'-d\', \'4\' ],\n \'$0\': \'node ./examples/reflect.js\',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl\'s\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n',
278 silly resolved readmeFilename: 'README.markdown',
278 silly resolved _id: 'optimist@0.3.5',
278 silly resolved _from: 'optimist@>=0.3.4' },
278 silly resolved { name: 'colors',
278 silly resolved description: 'get colors in your node.js console like what',
278 silly resolved version: '0.6.0-1',
278 silly resolved author: { name: 'Marak Squires' },
278 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
278 silly resolved engines: { node: '>=0.1.90' },
278 silly resolved main: 'colors',
278 silly resolved readme: '# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src="http://i.imgur.com/goJdO.png" border = "0"/>\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require(\'./colors\');\n\nconsole.log(\'hello\'.green); // outputs green text\nconsole.log(\'i like cake and pies\'.underline.red) // outputs red underlined text\nconsole.log(\'inverse the color\'.inverse); // inverses the color\nconsole.log(\'OMG Rainbows!\'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar require(\'colors\');\n\ncolors.setTheme({\n silly: \'rainbow\',\n input: \'grey\',\n verbose: \'cyan\',\n prompt: \'grey\',\n info: \'green\',\n data: \'grey\',\n help: \'cyan\',\n warn: \'yellow\',\n debug: \'blue\',\n error: \'red\'\n});\n\n// outputs red text\nconsole.log("this is an error".error);\n\n// outputs yellow text\nconsole.log("this is a warning".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n',
278 silly resolved readmeFilename: 'ReadMe.md',
278 silly resolved _id: 'colors@0.6.0-1',
278 silly resolved _from: 'colors@0.6.0-1' },
278 silly resolved { name: 'prompt',
278 silly resolved description: 'A beautiful command-line prompt for node.js',
278 silly resolved version: '0.2.3',
278 silly resolved author: { name: 'Nodejitsu Inc.', email: 'info@nodejitsu.com' },
278 silly resolved maintainers: [ [Object], [Object] ],
278 silly resolved repository: { type: 'git', url: 'http://github.com/flatiron/prompt.git' },
278 silly resolved dependencies:
278 silly resolved { pkginfo: '0.x.x',
278 silly resolved read: '0.1.x',
278 silly resolved revalidator: '0.1.x',
278 silly resolved utile: '0.1.x',
278 silly resolved winston: '0.6.x' },
278 silly resolved devDependencies: { vows: '0.6.x' },
278 silly resolved main: './lib/prompt',
278 silly resolved scripts:
278 silly resolved { test: 'vows test/prompt-test.js --spec',
278 silly resolved 'test-all': 'vows --spec' },
278 silly resolved engines: { node: '>= 0.6.6' },
278 silly resolved readme: '# prompt [![Build Status](https://secure.travis-ci.org/flatiron/prompt.png)](http://travis-ci.org/flatiron/prompt)\n\nA beautiful command-line prompt for node.js\n\n## Features\n\n* prompts the user for input\n* supports validation and defaults\n* hides passwords\n\n## Usage\nUsing prompt is relatively straight forward. There are two core methods you should be aware of: `prompt.get()` and `prompt.addProperties()`. There methods take strings representing property names in addition to objects for complex property validation (and more). There are a number of [examples][0] that you should examine for detailed usage.\n\n### Getting Basic Prompt Information\nGetting started with `prompt` is easy. Lets take a look at `examples/simple-prompt.js`:\n\n``` js\n var prompt = require(\'prompt\');\n\n //\n // Start the prompt\n //\n prompt.start();\n\n //\n // Get two properties from the user: username and email\n //\n prompt.get([\'username\', \'email\'], function (err, result) {\n //\n // Log the results.\n //\n console.log(\'Command-line input received:\');\n console.log(\' username: \' + result.username);\n console.log(\' email: \' + result.email);\n });\n```\n\nThis will result in the following command-line output:\n\n```\n $ node examples/simple-prompt.js \n prompt: username: some-user\n prompt: email: some-user@some-place.org\n Command-line input received:\n username: some-user\n email: some-user@some-place.org\n```\n\n### Prompting with Validation, Default Values, and More (Complex Properties)\nIn addition to prompting the user with simple string prompts, there is a robust API for getting and validating complex information from a command-line prompt. Here\'s a quick sample:\n\n``` js\n var schema = {\n properties: {\n name: {\n pattern: /^[a-zA-Z\\s\\-]+$/,\n message: \'Name must be only letters, spaces, or dashes\',\n required: true\n },\n password: {\n hidden: true\n }\n }\n };\n\n //\n // Start the prompt\n //\n prompt.start();\n\n //\n // Get two properties from the user: email, password\n //\n prompt.get(schema, function (err, result) {\n //\n // Log the results.\n //\n console.log(\'Command-line input received:\');\n console.log(\' name: \' + result.name);\n console.log(\' password: \' + result.password);\n });\n```\n\nPretty easy right? The output from the above script is: \n\n```\n $ node examples/property-prompt.js\n prompt: name: nodejitsu000\n error: Invalid input for name\n error: Name must be only letters, spaces, or dashes\n prompt: name: Nodejitsu Inc\n prompt: password: \n Command-line input received:\n name: Nodejitsu Inc\n password: some-password \n```\n\n## Valid Property Settings\n`prompt` understands JSON-schema with a few extra parameters and uses [revalidator](https://github.com/flatiron/revalidator) for validation.\n\nHere\'s an overview of the properties that may be used for validation and prompting controls:\n\n``` js\n {\n description: \'Enter your password\', // Prompt displayed to the user. If not supplied name will be used.\n pattern: /^\\w+$/, // Regular expression that input must be valid against.\n message: \'Password must be letters\', // Warning message to display if validation fails.\n hidden: true, // If true, characters entered will not be output to console.\n default: \'lamepassword\', // Default value to use if no value is entered.\n required: true // If true, value entered must be non-empty.\n }\n```\n\nAlternatives to `pattern` include `format` and `conform`, as documented in [revalidator](https://github.com/flatiron/revalidator).\n\n### Alternate Validation API:\n\nPrompt, in addition to iterating over JSON-Schema properties, will also happily iterate over an array of validation objects given an extra \'name\' property:\n\n```js\n var prompt = require(\'../lib/prompt\');\n\n //\n // Start the prompt\n //\n prompt.start();\n\n //\n // Get two properties from the user: username and password\n //\n prompt.get([{\n name: \'username\',\n required: true\n }, {\n name: \'password\',\n hidden: true,\n conform: function (value) {\n return true;\n }\n }], function (err, result) {\n //\n // Log the results.\n //\n console.log(\'Command-line input received:\');\n console.log(\' username: \' + result.username);\n console.log(\' password: \' + result.password);\n });\n```\n\n### Backward Compatibility\n\nNote that, while this structure is similar to that used by prompt 0.1.x, that the object properties use the same names as in JSON-Schema. prompt 0.2.x is backward compatible with prompt 0.1.x except for asynchronous validation.\n\n### Skipping Prompts\n\nSometimes power users may wish to skip promts and specify all data as command line options. \nif a value is set as a property of `prompt.override` prompt will use that instead of \nprompting the user.\n\n``` js\n //prompt-override.js\n\n var prompt = require(\'prompt\'),\n optimist = require(\'optimist\')\n\n //\n // set the overrides\n //\n prompt.override = optimist.argv\n\n //\n // Start the prompt\n //\n prompt.start();\n\n //\n // Get two properties from the user: username and email\n //\n prompt.get([\'username\', \'email\'], function (err, result) {\n //\n // Log the results.\n //\n console.log(\'Command-line input received:\');\n console.log(\' username: \' + result.username);\n console.log(\' email: \' + result.email);\n })\n\n //: node prompt-override.js --username USER --email EMAIL\n```\n\n\n### Adding Properties to an Object \nA common use-case for prompting users for data from the command-line is to extend or create a configuration object that is passed onto the entry-point method for your CLI tool. `prompt` exposes a convenience method for doing just this: \n\n``` js\n var obj = {\n password: \'lamepassword\',\n mindset: \'NY\'\n }\n\n //\n // Log the initial object.\n //\n console.log(\'Initial object to be extended:\');\n console.dir(obj);\n\n //\n // Add two properties to the empty object: username and email\n //\n prompt.addProperties(obj, [\'username\', \'email\'], function (err) {\n //\n // Log the results.\n //\n console.log(\'Updated object received:\');\n console.dir(obj);\n });\n```\n\n## Customizing your prompt\nAside from changing `property.message`, you can also change `prompt.message`\nand `prompt.delimiter` to change the appearance of your prompt.\n\nThe basic structure of a prompt is this:\n\n``` js\nprompt.message + prompt.delimiter + property.message + prompt.delimiter;\n```\n\nThe default `prompt.message` is "prompt," the default `prompt.delimiter` is\n": ", and the default `property.message` is `property.name`.\nChanging these allows you to customize the appearance of your prompts! In\naddition, prompt supports ANSI color codes via the\n[colors module](https://github.com/Marak/colors.js) for custom colors. For a\nvery colorful example:\n\n``` js\n var prompt = require("prompt");\n\n //\n // Setting these properties customizes the prompt.\n //\n prompt.message = "Question!".rainbow;\n prompt.delimiter = "><".green;\n\n prompt.start();\n\n prompt.get({\n properties: {\n name: {\n description: "What is your name?".magenta\n }\n }\n }, function (err, result) {\n console.log("You said your name is: ".cyan + result.name.cyan);\n });\n```\n\nIf you don\'t want colors, you can set\n\n```js\nvar prompt = require(\'prompt\');\n\nprompt.colors = false;\n```\n\n## Installation\n\n``` bash\n $ [sudo] npm install prompt\n```\n\n## Running tests\n\n``` bash \n $ npm test\n```\n\n#### License: MIT\n#### Author: [Charlie Robbins](http://github.com/indexzero)\n#### Contributors: [Josh Holbrook](http://github.com/jesusabdullah), [Pavan Kumar Sunkara](http://github.com/pksunkara)\n\n[0]: https://github.com/flatiron/prompt/tree/master/examples\n',
278 silly resolved readmeFilename: 'README.md',
278 silly resolved _id: 'prompt@0.2.3',
278 silly resolved _from: 'prompt@0.2.3' } ]
279 info install ddp@0.2.3 into /usr/local/lib/node_modules/meteorite
280 info install underscore@1.4.4 into /usr/local/lib/node_modules/meteorite
281 info install fstream@0.1.22 into /usr/local/lib/node_modules/meteorite
282 info install wrench@1.4.4 into /usr/local/lib/node_modules/meteorite
283 info install optimist@0.3.5 into /usr/local/lib/node_modules/meteorite
284 info install colors@0.6.0-1 into /usr/local/lib/node_modules/meteorite
285 info install prompt@0.2.3 into /usr/local/lib/node_modules/meteorite
286 info installOne ddp@0.2.3
287 info installOne underscore@1.4.4
288 info installOne fstream@0.1.22
289 info installOne wrench@1.4.4
290 info installOne optimist@0.3.5
291 info installOne colors@0.6.0-1
292 info installOne prompt@0.2.3
293 verbose from cache /home/mark/.npm/ddp/0.2.3/package/package.json
294 verbose from cache /home/mark/.npm/underscore/1.4.4/package/package.json
295 verbose from cache /home/mark/.npm/fstream/0.1.22/package/package.json
296 verbose from cache /home/mark/.npm/wrench/1.4.4/package/package.json
297 verbose from cache /home/mark/.npm/optimist/0.3.5/package/package.json
298 verbose from cache /home/mark/.npm/colors/0.6.0-1/package/package.json
299 verbose from cache /home/mark/.npm/prompt/0.2.3/package/package.json
300 info /usr/local/lib/node_modules/meteorite/node_modules/ddp unbuild
301 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/ddp/package.json
302 info /usr/local/lib/node_modules/meteorite/node_modules/underscore unbuild
303 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/underscore/package.json
304 info /usr/local/lib/node_modules/meteorite/node_modules/fstream unbuild
305 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/fstream/package.json
306 info /usr/local/lib/node_modules/meteorite/node_modules/wrench unbuild
307 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/wrench/package.json
308 info /usr/local/lib/node_modules/meteorite/node_modules/optimist unbuild
309 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/optimist/package.json
310 info /usr/local/lib/node_modules/meteorite/node_modules/colors unbuild
311 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/colors/package.json
312 info /usr/local/lib/node_modules/meteorite/node_modules/prompt unbuild
313 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/prompt/package.json
314 verbose tar unpack /home/mark/.npm/ddp/0.2.3/package.tgz
315 verbose tar unpack /home/mark/.npm/underscore/1.4.4/package.tgz
316 verbose tar unpack /home/mark/.npm/fstream/0.1.22/package.tgz
317 verbose tar unpack /home/mark/.npm/wrench/1.4.4/package.tgz
318 verbose tar unpack /home/mark/.npm/optimist/0.3.5/package.tgz
319 verbose tar unpack /home/mark/.npm/colors/0.6.0-1/package.tgz
320 verbose tar unpack /home/mark/.npm/prompt/0.2.3/package.tgz
321 silly lockFile e348eece-dules-meteorite-node-modules-ddp /usr/local/lib/node_modules/meteorite/node_modules/ddp
322 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/ddp /home/mark/.npm/e348eece-dules-meteorite-node-modules-ddp.lock
323 silly lockFile 1b8bba6d-e-mark-npm-ddp-0-2-3-package-tgz /home/mark/.npm/ddp/0.2.3/package.tgz
324 verbose lock /home/mark/.npm/ddp/0.2.3/package.tgz /home/mark/.npm/1b8bba6d-e-mark-npm-ddp-0-2-3-package-tgz.lock
325 silly lockFile b6004e82-eteorite-node-modules-underscore /usr/local/lib/node_modules/meteorite/node_modules/underscore
326 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/underscore /home/mark/.npm/b6004e82-eteorite-node-modules-underscore.lock
327 silly lockFile 8d1a402e-npm-underscore-1-4-4-package-tgz /home/mark/.npm/underscore/1.4.4/package.tgz
328 verbose lock /home/mark/.npm/underscore/1.4.4/package.tgz /home/mark/.npm/8d1a402e-npm-underscore-1-4-4-package-tgz.lock
329 silly lockFile 4885c524-s-meteorite-node-modules-fstream /usr/local/lib/node_modules/meteorite/node_modules/fstream
330 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/fstream /home/mark/.npm/4885c524-s-meteorite-node-modules-fstream.lock
331 silly lockFile 7a1cd159-k-npm-fstream-0-1-22-package-tgz /home/mark/.npm/fstream/0.1.22/package.tgz
332 verbose lock /home/mark/.npm/fstream/0.1.22/package.tgz /home/mark/.npm/7a1cd159-k-npm-fstream-0-1-22-package-tgz.lock
333 silly lockFile 93400b89-es-meteorite-node-modules-wrench /usr/local/lib/node_modules/meteorite/node_modules/wrench
334 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/wrench /home/mark/.npm/93400b89-es-meteorite-node-modules-wrench.lock
335 silly lockFile 9568edb2-ark-npm-wrench-1-4-4-package-tgz /home/mark/.npm/wrench/1.4.4/package.tgz
336 verbose lock /home/mark/.npm/wrench/1.4.4/package.tgz /home/mark/.npm/9568edb2-ark-npm-wrench-1-4-4-package-tgz.lock
337 silly lockFile 515c8533--meteorite-node-modules-optimist /usr/local/lib/node_modules/meteorite/node_modules/optimist
338 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/optimist /home/mark/.npm/515c8533--meteorite-node-modules-optimist.lock
339 silly lockFile 2532726a-k-npm-optimist-0-3-5-package-tgz /home/mark/.npm/optimist/0.3.5/package.tgz
340 verbose lock /home/mark/.npm/optimist/0.3.5/package.tgz /home/mark/.npm/2532726a-k-npm-optimist-0-3-5-package-tgz.lock
341 silly lockFile b3e64455-es-meteorite-node-modules-colors /usr/local/lib/node_modules/meteorite/node_modules/colors
342 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/colors /home/mark/.npm/b3e64455-es-meteorite-node-modules-colors.lock
343 silly lockFile 1c5173a1-k-npm-colors-0-6-0-1-package-tgz /home/mark/.npm/colors/0.6.0-1/package.tgz
344 verbose lock /home/mark/.npm/colors/0.6.0-1/package.tgz /home/mark/.npm/1c5173a1-k-npm-colors-0-6-0-1-package-tgz.lock
345 silly lockFile 18192601-es-meteorite-node-modules-prompt /usr/local/lib/node_modules/meteorite/node_modules/prompt
346 verbose lock /usr/local/lib/node_modules/meteorite/node_modules/prompt /home/mark/.npm/18192601-es-meteorite-node-modules-prompt.lock
347 silly lockFile 6f3ca302-ark-npm-prompt-0-2-3-package-tgz /home/mark/.npm/prompt/0.2.3/package.tgz
348 verbose lock /home/mark/.npm/prompt/0.2.3/package.tgz /home/mark/.npm/6f3ca302-ark-npm-prompt-0-2-3-package-tgz.lock
349 silly gunzTarPerm modes [ '755', '644' ]
350 silly gunzTarPerm modes [ '755', '644' ]
351 silly gunzTarPerm modes [ '755', '644' ]
352 silly gunzTarPerm modes [ '755', '644' ]
353 silly gunzTarPerm modes [ '755', '644' ]
354 silly gunzTarPerm modes [ '755', '644' ]
355 silly gunzTarPerm modes [ '755', '644' ]
356 silly gunzTarPerm extractEntry package.json
357 silly gunzTarPerm extractEntry package.json
358 silly gunzTarPerm extractEntry package.json
359 silly gunzTarPerm extractEntry package.json
360 silly gunzTarPerm extractEntry package.json
361 silly gunzTarPerm extractEntry package.json
362 silly gunzTarPerm extractEntry package.json
363 silly gunzTarPerm extractEntry .npmignore
364 silly gunzTarPerm extractEntry README.markdown
365 silly gunzTarPerm extractEntry .npmignore
366 silly gunzTarPerm extractEntry README.md
367 silly gunzTarPerm extractEntry .npmignore
368 silly gunzTarPerm extractEntry README.md
369 silly gunzTarPerm extractEntry .npmignore
370 silly gunzTarPerm extractEntry LICENSE
371 silly gunzTarPerm extractEntry LICENSE
372 silly gunzTarPerm extractEntry index.js
373 silly gunzTarPerm extractEntry colors.js
374 silly gunzTarPerm extractEntry test.js
375 silly gunzTarPerm extractEntry .npmignore
376 silly gunzTarPerm extractEntry README.md
377 silly gunzTarPerm extractEntry lib/ddp-client.js
378 silly gunzTarPerm extractEntry examples/example.js
379 silly gunzTarPerm extractEntry example.js
380 silly gunzTarPerm extractEntry example.html
381 silly gunzTarPerm extractEntry MIT-LICENSE.txt
382 silly gunzTarPerm extractEntry LICENSE
383 silly gunzTarPerm extractEntry index.js
384 silly gunzTarPerm extractEntry LICENSE
385 silly gunzTarPerm extractEntry fstream.js
386 silly gunzTarPerm extractEntry tests/copydirsync_unix.js
387 silly gunzTarPerm extractEntry tests/runner.js
388 silly gunzTarPerm extractEntry x.js
389 silly gunzTarPerm extractEntry .travis.yml
390 silly gunzTarPerm extractEntry LICENSE
391 silly gunzTarPerm extractEntry .jshintrc
392 silly gunzTarPerm extractEntry ReadMe.md
393 silly gunzTarPerm extractEntry underscore.js
394 silly gunzTarPerm extractEntry underscore-min.js
395 silly gunzTarPerm extractEntry lib/file-writer.js
396 silly gunzTarPerm extractEntry lib/link-writer.js
397 silly gunzTarPerm extractEntry tests/readdir.js
398 silly gunzTarPerm extractEntry tests/mkdir.js
399 silly gunzTarPerm extractEntry lib/prompt.js
400 silly gunzTarPerm extractEntry examples/simple-prompt.js
401 silly gunzTarPerm extractEntry examples/yes-or-no-prompt.js
402 silly gunzTarPerm extractEntry README.markdown
403 silly gunzTarPerm extractEntry example/bool.js
404 silly gunzTarPerm extractEntry example/default_singles.js
405 silly gunzTarPerm extractEntry examples/history.js
406 silly gunzTarPerm extractEntry example/divide.js
407 silly gunzTarPerm extractEntry tests/readdir/bar.txt
408 silly gunzTarPerm extractEntry tests/readdir/foo/bar/ipsum.js
409 silly gunzTarPerm extractEntry tests/readdir/foo/lorem.txt
410 silly gunzTarPerm extractEntry .travis.yml
411 silly gunzTarPerm extractEntry favicon.ico
412 silly gunzTarPerm extractEntry examples/override-validation.js
413 silly gunzTarPerm extractEntry example/line_count.js
414 silly gunzTarPerm extractEntry lib/writer.js
415 silly gunzTarPerm extractEntry lib/dir-reader.js
416 silly gunzTarPerm extractEntry examples/prompt-override.js
417 silly gunzTarPerm extractEntry tests/readdir/foo/dolor.md
418 silly gunzTarPerm extractEntry example/default_hash.js
419 silly gunzTarPerm extractEntry tests/shown/.hidden/dolor.md
420 silly gunzTarPerm extractEntry index.html
421 silly gunzTarPerm extractEntry example/line_count_wrap.js
422 silly gunzTarPerm extractEntry CNAME
423 silly gunzTarPerm extractEntry lib/get-type.js
424 silly gunzTarPerm extractEntry lib/collect.js
425 silly gunzTarPerm extractEntry examples/nested-properties-prompt.js
426 silly gunzTarPerm extractEntry examples/old-schema.js
427 silly gunzTarPerm extractEntry example/nonopt.js
428 silly gunzTarPerm extractEntry CONTRIBUTING.md
429 silly gunzTarPerm extractEntry example/reflect.js
430 silly gunzTarPerm extractEntry lib/reader.js
431 silly gunzTarPerm extractEntry lib/file-reader.js
432 silly gunzTarPerm extractEntry tests/shown/bar.txt
433 silly gunzTarPerm extractEntry tests/shown/.hidden.txt
434 silly gunzTarPerm extractEntry examples/password.js
435 silly gunzTarPerm extractEntry examples/add-properties.js
436 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/ddp/package.json
437 silly gunzTarPerm extractEntry example/short.js
438 silly gunzTarPerm extractEntry example/string.js
439 silly gunzTarPerm extractEntry tests/shown/foo/bar/ipsum.js
440 silly gunzTarPerm extractEntry tests/shown/foo/lorem.txt
441 silly gunzTarPerm extractEntry examples/property-prompt.js
442 silly gunzTarPerm extractEntry examples/existing-properties.js
443 silly gunzTarPerm extractEntry docs/prompt.html
444 silly lockFile e348eece-dules-meteorite-node-modules-ddp /usr/local/lib/node_modules/meteorite/node_modules/ddp
445 silly lockFile e348eece-dules-meteorite-node-modules-ddp /usr/local/lib/node_modules/meteorite/node_modules/ddp
446 silly gunzTarPerm extractEntry example/boolean_single.js
447 silly gunzTarPerm extractEntry example/usage-options.js
448 silly gunzTarPerm extractEntry lib/socket-reader.js
449 silly gunzTarPerm extractEntry lib/dir-writer.js
450 silly gunzTarPerm extractEntry lib/proxy-writer.js
451 silly lockFile 1b8bba6d-e-mark-npm-ddp-0-2-3-package-tgz /home/mark/.npm/ddp/0.2.3/package.tgz
452 silly lockFile 1b8bba6d-e-mark-npm-ddp-0-2-3-package-tgz /home/mark/.npm/ddp/0.2.3/package.tgz
453 silly gunzTarPerm extractEntry docs/docco.css
454 silly gunzTarPerm extractEntry tests/shown/foo/dolor.md
455 silly gunzTarPerm extractEntry tests/withsymlinks/test
456 silly gunzTarPerm extractEntry .travis.yml
457 silly gunzTarPerm extractEntry example/boolean_double.js
458 silly gunzTarPerm extractEntry example/xup.js
459 silly gunzTarPerm extractEntry example/line_count_options.js
460 info preinstall ddp@0.2.3
461 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/ddp/package.json
462 silly gunzTarPerm extractEntry test/prompt-test.js
463 silly gunzTarPerm extractEntry test/_.js
464 silly gunzTarPerm extractEntry lib/proxy-reader.js
465 silly gunzTarPerm extractEntry lib/abstract.js
466 silly gunzTarPerm extractEntry lib/link-reader.js
467 silly gunzTarPerm extractEntry test/interactive-prompt-test.js
468 silly gunzTarPerm extractEntry lib/x.js
469 silly gunzTarPerm extractEntry lib/wrench.js
470 silly gunzTarPerm extractEntry test/parse.js
471 silly gunzTarPerm extractEntry test/helpers.js
472 silly gunzTarPerm extractEntry examples/symlink-write.js
473 silly gunzTarPerm extractEntry test/usage.js
474 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/colors/package.json
475 silly gunzTarPerm extractEntry examples/filter-pipe.js
476 silly gunzTarPerm extractEntry readme.md
477 silly gunzTarPerm extractEntry test/_/argv.js
478 silly gunzTarPerm extractEntry examples/pipe.js
479 silly lockFile b3e64455-es-meteorite-node-modules-colors /usr/local/lib/node_modules/meteorite/node_modules/colors
480 silly lockFile b3e64455-es-meteorite-node-modules-colors /usr/local/lib/node_modules/meteorite/node_modules/colors
481 silly gunzTarPerm extractEntry examples/reader.js
482 silly gunzTarPerm extractEntry test/_/bin.js
483 silly lockFile 1c5173a1-k-npm-colors-0-6-0-1-package-tgz /home/mark/.npm/colors/0.6.0-1/package.tgz
484 silly lockFile 1c5173a1-k-npm-colors-0-6-0-1-package-tgz /home/mark/.npm/colors/0.6.0-1/package.tgz
485 info preinstall colors@0.6.0-1
486 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/colors/package.json
487 silly gunzTarPerm extractEntry .travis.yml
488 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/wrench/package.json
489 silly lockFile 93400b89-es-meteorite-node-modules-wrench /usr/local/lib/node_modules/meteorite/node_modules/wrench
490 silly lockFile 93400b89-es-meteorite-node-modules-wrench /usr/local/lib/node_modules/meteorite/node_modules/wrench
491 silly lockFile 9568edb2-ark-npm-wrench-1-4-4-package-tgz /home/mark/.npm/wrench/1.4.4/package.tgz
492 silly lockFile 9568edb2-ark-npm-wrench-1-4-4-package-tgz /home/mark/.npm/wrench/1.4.4/package.tgz
493 info preinstall wrench@1.4.4
494 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/wrench/package.json
495 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/optimist/package.json
496 silly lockFile 515c8533--meteorite-node-modules-optimist /usr/local/lib/node_modules/meteorite/node_modules/optimist
497 silly lockFile 515c8533--meteorite-node-modules-optimist /usr/local/lib/node_modules/meteorite/node_modules/optimist
498 verbose read json /usr/local/lib/node_modules/meteorite/node_modules/fstream/package.json
499 silly lockFile 2532726a-k-npm-optimist-0-3-5-package-tgz /home/mark/.npm/optimist/0.3.5/package.tgz
500 silly lockFile 2532726a-k-npm-optimist-0-3-5-package-tgz /home/mark/.npm/optimist/0.3.5/package.tgz
501 info preinstall optimist@0.3.5
502 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/optimist/package.json
503 silly lockFile 4885c524-s-meteorite-node-modules-fstream /usr/local/lib/node_modules/meteorite/node_modules/fstream
504 silly lockFile 4885c524-s-meteorite-node-modules-fstream /usr/local/lib/node_modules/meteorite/node_modules/fstream
505 silly lockFile 7a1cd159-k-npm-fstream-0-1-22-package-tgz /home/mark/.npm/fstream/0.1.22/package.tgz
506 silly lockFile 7a1cd159-k-npm-fstream-0-1-22-package-tgz /home/mark/.npm/fstream/0.1.22/package.tgz
507 info preinstall fstream@0.1.22
508 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/fstream/package.json
509 verbose readDependencies using package.json deps
510 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/ddp/package.json
511 verbose readDependencies using package.json deps
512 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/colors/package.json
513 verbose readDependencies using package.json deps
514 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/wrench/package.json
515 verbose readDependencies using package.json deps
516 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/optimist/package.json
517 verbose readDependencies using package.json deps
518 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/fstream/package.json
519 verbose readDependencies using package.json deps
520 verbose readDependencies using package.json deps
521 silly resolved []
522 verbose about to build /usr/local/lib/node_modules/meteorite/node_modules/wrench
523 info build /usr/local/lib/node_modules/meteorite/node_modules/wrench
524 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/wrench/package.json
525 verbose readDependencies using package.json deps
526 silly resolved []
527 verbose about to build /usr/local/lib/node_modules/meteorite/node_modules/colors
528 info build /usr/local/lib/node_modules/meteorite/node_modules/colors
529 verbose from cache /usr/local/lib/node_modules/meteorite/node_modules/colors/package.json
530 verbose readDependencies using package.json deps
531 verbose readDependencies using package.json deps
532 verbose linkStuff [ true,
532 verbose linkStuff '/usr/local/lib/node_modules',
532 verbose linkStuff false,
532 verbose linkStuff '/usr/local/lib/node_modules/meteorite/node_modules' ]
533 info linkStuff wrench@1.4.4
534 verbose linkBins wrench@1.4.4
535 verbose linkMans wrench@1.4.4
536 verbose rebuildBundles wrench@1.4.4
537 verbose linkStuff [ true,
537 verbose linkStuff '/usr/local/lib/node_modules',
537 verbose linkStuff false,
537 verbose linkStuff '/usr/local/lib/node_modules/meteorite/node_modules' ]
538 info linkStuff colors@0.6.0-1
539 verbose linkBins colors@0.6.0-1
540 verbose linkMans colors@0.6.0-1
541 verbose rebuildBundles colors@0.6.0-1
542 verbose cache add [ 'ws@>=0.4.23', null ]
543 verbose cache add name=undefined spec="ws@>=0.4.23" args=["ws@>=0.4.23",null]
544 verbose parsed url { pathname: 'ws@%3E=0.4.23',
544 verbose parsed url path: 'ws@%3E=0.4.23',
544 verbose parsed url href: 'ws@%3E=0.4.23' }
545 verbose cache add name="ws" spec=">=0.4.23" args=["ws",">=0.4.23"]
546 verbose parsed url { pathname: '%3E=0.4.23',
546 verbose parsed url path: '%3E=0.4.23',
546 verbose parsed url href: '%3E=0.4.23' }
547 verbose addNamed [ 'ws', '>=0.4.23' ]
548 verbose addNamed [ null, '>=0.4.23' ]
549 silly lockFile 55cefdce-ws-0-4-23 ws@>=0.4.23
550 verbose lock ws@>=0.4.23 /home/mark/.npm/55cefdce-ws-0-4-23.lock
551 verbose cache add [ 'wordwrap@~0.0.2', null ]
552 verbose cache add name=undefined spec="wordwrap@~0.0.2" args=["wordwrap@~0.0.2",null]
553 verbose parsed url { pathname: 'wordwrap@~0.0.2',
553 verbose parsed url path: 'wordwrap@~0.0.2',
553 verbose parsed url href: 'wordwrap@~0.0.2' }
554 verbose cache add name="wordwrap" spec="~0.0.2" args=["wordwrap","~0.0.2"]
555 verbose parsed url { pathname: '~0.0.2', path: '~0.0.2', href: '~0.0.2' }
556 verbose addNamed [ 'wordwrap', '~0.0.2' ]
557 verbose addNamed [ null, '>=0.0.2- <0.1.0-' ]
558 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
559 verbose lock wordwrap@~0.0.2 /home/mark/.npm/8bd42136-wordwrap-0-0-2.lock
560 verbose cache add [ 'rimraf@2', null ]
561 verbose cache add name=undefined spec="rimraf@2" args=["rimraf@2",null]
562 verbose parsed url { pathname: 'rimraf@2', path: 'rimraf@2', href: 'rimraf@2' }
563 verbose cache add name="rimraf" spec="2" args=["rimraf","2"]
564 verbose parsed url { pathname: '2', path: '2', href: '2' }
565 verbose addNamed [ 'rimraf', '2' ]
566 verbose addNamed [ null, '>=2.0.0- <3.0.0-' ]
567 silly lockFile 8c081391-rimraf-2 rimraf@2
568 verbose lock rimraf@2 /home/mark/.npm/8c081391-rimraf-2.lock
569 verbose cache add [ 'mkdirp@0.3', null ]
570 verbose cache add name=undefined spec="mkdirp@0.3" args=["mkdirp@0.3",null]
571 verbose parsed url { pathname: 'mkdirp@0.3',
571 verbose parsed url path: 'mkdirp@0.3',
571 verbose parsed url href: 'mkdirp@0.3' }
572 verbose cache add name="mkdirp" spec="0.3" args=["mkdirp","0.3"]
573 verbose parsed url { pathname: '0.3', path: '0.3', href: '0.3' }
574 verbose addNamed [ 'mkdirp', '0.3' ]
575 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
576 silly lockFile b5c3810e-mkdirp-0-3 mkdirp@0.3
577 verbose lock mkdirp@0.3 /home/mark/.npm/b5c3810e-mkdirp-0-3.lock
578 verbose cache add [ 'graceful-fs@~1.2.0', null ]
579 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
580 verbose parsed url { pathname: 'graceful-fs@~1.2.0',
580 verbose parsed url path: 'graceful-fs@~1.2.0',
580 verbose parsed url href: 'graceful-fs@~1.2.0' }
581 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
582 verbose parsed url { pathname: '~1.2.0', path: '~1.2.0', href: '~1.2.0' }
583 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
584 verbose addNamed [ null, '>=1.2.0- <1.3.0-' ]
585 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
586 verbose lock graceful-fs@~1.2.0 /home/mark/.npm/9c0bb906-graceful-fs-1-2-0.lock
587 info install wrench@1.4.4
588 info install colors@0.6.0-1
589 silly addNameRange { name: 'ws', range: '>=0.4.23', hasData: false }
590 silly addNameRange { name: 'wordwrap', range: '>=0.0.2- <0.1.0-', hasData: false }
591 silly addNameRange { name: 'rimraf', range: '>=2.0.0- <3.0.0-', hasData: false }
592 silly addNameRange { name: 'mkdirp', range: '>=0.3.0- <0.4.0-', hasData: false }
593 silly addNameRange { name: 'graceful-fs',
593 silly addNameRange range: '>=1.2.0- <1.3.0-',
593 silly addNameRange hasData: false }
594 info postinstall wrench@1.4.4
595 info postinstall colors@0.6.0-1
596 verbose url raw wordwrap
597 verbose url resolving [ 'https://registry.npmjs.org/', './wordwrap' ]
598 verbose url resolved https://registry.npmjs.org/wordwrap
599 info trying registry request attempt 1 at 15:52:34
600 verbose etag "5YNZ4FJMH5J0NJK59TCZ1M0ZU"
601 http GET https://registry.npmjs.org/wordwrap
602 verbose url raw ws
603 verbose url resolving [ 'https://registry.npmjs.org/', './ws' ]
604 verbose url resolved https://registry.npmjs.org/ws
605 info trying registry request attempt 1 at 15:52:34
606 verbose etag "1MBB9PJCESVAT5W0WBOV1C1W7"
607 http GET https://registry.npmjs.org/ws
608 verbose url raw mkdirp
609 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
610 verbose url resolved https://registry.npmjs.org/mkdirp
611 info trying registry request attempt 1 at 15:52:34
612 verbose etag "3BPHUFB4MV7RLWD3JDZF1SQVU"
613 http GET https://registry.npmjs.org/mkdirp
614 verbose url raw rimraf
615 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
616 verbose url resolved https://registry.npmjs.org/rimraf
617 info trying registry request attempt 1 at 15:52:34
618 verbose etag "61NAZEG45KGDZGNLEIBMZVQNE"
619 http GET https://registry.npmjs.org/rimraf
620 verbose url raw graceful-fs
621 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
622 verbose url resolved https://registry.npmjs.org/graceful-fs
623 info trying registry request attempt 1 at 15:52:34
624 verbose etag "DKLD6NF1W3AC5ZOJFLCKTHRC9"
625 http GET https://registry.npmjs.org/graceful-fs
626 verbose cache add [ 'inherits@~1.0.0', null ]
627 verbose cache add name=undefined spec="inherits@~1.0.0" args=["inherits@~1.0.0",null]
628 verbose parsed url { pathname: 'inherits@~1.0.0',
628 verbose parsed url path: 'inherits@~1.0.0',
628 verbose parsed url href: 'inherits@~1.0.0' }
629 verbose cache add name="inherits" spec="~1.0.0" args=["inherits","~1.0.0"]