-
Notifications
You must be signed in to change notification settings - Fork 0
/
npm-debug.log
executable file
·5920 lines (5920 loc) · 572 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 [ 'c:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'c:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install',
1 verbose cli '-g',
1 verbose cli 'jsdom' ]
2 info using [email protected]
3 info using [email protected]
4 verbose cache add [ 'jsdom', null ]
5 verbose cache add name=undefined spec="jsdom" args=["jsdom",null]
6 verbose parsed url { protocol: null,
6 verbose parsed url slashes: null,
6 verbose parsed url auth: null,
6 verbose parsed url host: null,
6 verbose parsed url port: null,
6 verbose parsed url hostname: null,
6 verbose parsed url hash: null,
6 verbose parsed url search: null,
6 verbose parsed url query: null,
6 verbose parsed url pathname: 'jsdom',
6 verbose parsed url path: 'jsdom',
6 verbose parsed url href: 'jsdom' }
7 silly lockFile 1fbe4fcb-jsdom jsdom
8 verbose lock jsdom C:\Users\Maeda\AppData\Roaming\npm-cache\1fbe4fcb-jsdom.lock
9 silly lockFile 1fbe4fcb-jsdom jsdom
10 silly lockFile 1fbe4fcb-jsdom jsdom
11 verbose addNamed [ 'jsdom', '' ]
12 verbose addNamed [ null, '*' ]
13 silly lockFile be40d96d-jsdom jsdom@
14 verbose lock jsdom@ C:\Users\Maeda\AppData\Roaming\npm-cache\be40d96d-jsdom.lock
15 silly addNameRange { name: 'jsdom', range: '*', hasData: false }
16 verbose url raw jsdom
17 verbose url resolving [ 'https://registry.npmjs.org/', './jsdom' ]
18 verbose url resolved https://registry.npmjs.org/jsdom
19 info trying registry request attempt 1 at 00:08:17
20 verbose etag "4XVEJL6NGF1OLTKZ778OANI18"
21 http GET https://registry.npmjs.org/jsdom
22 http 304 https://registry.npmjs.org/jsdom
23 silly registry.get cb [ 304,
23 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
23 silly registry.get etag: '"4XVEJL6NGF1OLTKZ778OANI18"',
23 silly registry.get date: 'Wed, 25 Dec 2013 05:12:25 GMT',
23 silly registry.get 'content-length': '0' } ]
24 verbose etag jsdom from cache
25 silly addNameRange number 2 { name: 'jsdom', range: '*', hasData: true }
26 silly addNameRange versions [ 'jsdom',
26 silly addNameRange [ '0.0.1',
26 silly addNameRange '0.1.2',
26 silly addNameRange '0.1.4',
26 silly addNameRange '0.1.5',
26 silly addNameRange '0.1.6',
26 silly addNameRange '0.1.7',
26 silly addNameRange '0.1.8',
26 silly addNameRange '0.1.9',
26 silly addNameRange '0.1.10',
26 silly addNameRange '0.1.11',
26 silly addNameRange '0.1.12',
26 silly addNameRange '0.1.13',
26 silly addNameRange '0.1.15',
26 silly addNameRange '0.1.16',
26 silly addNameRange '0.1.17',
26 silly addNameRange '0.1.18',
26 silly addNameRange '0.1.19',
26 silly addNameRange '0.1.20',
26 silly addNameRange '0.1.21',
26 silly addNameRange '0.1.22',
26 silly addNameRange '0.1.23',
26 silly addNameRange '0.2.0',
26 silly addNameRange '0.2.1',
26 silly addNameRange '0.2.2',
26 silly addNameRange '0.2.3',
26 silly addNameRange '0.2.4',
26 silly addNameRange '0.2.5',
26 silly addNameRange '0.2.6',
26 silly addNameRange '0.2.7',
26 silly addNameRange '0.2.8',
26 silly addNameRange '0.2.9',
26 silly addNameRange '0.2.10',
26 silly addNameRange '0.2.11',
26 silly addNameRange '0.2.12',
26 silly addNameRange '0.2.13',
26 silly addNameRange '0.2.14',
26 silly addNameRange '0.2.15',
26 silly addNameRange '0.2.16',
26 silly addNameRange '0.2.17',
26 silly addNameRange '0.2.18',
26 silly addNameRange '0.2.19',
26 silly addNameRange '0.3.0',
26 silly addNameRange '0.3.1',
26 silly addNameRange '0.3.2',
26 silly addNameRange '0.3.3',
26 silly addNameRange '0.3.4',
26 silly addNameRange '0.4.0',
26 silly addNameRange '0.4.1',
26 silly addNameRange '0.4.2',
26 silly addNameRange '0.5.0',
26 silly addNameRange '0.5.1',
26 silly addNameRange '0.5.2',
26 silly addNameRange '0.5.3',
26 silly addNameRange '0.5.4',
26 silly addNameRange '0.5.5',
26 silly addNameRange '0.5.6',
26 silly addNameRange '0.5.7',
26 silly addNameRange '0.6.0',
26 silly addNameRange '0.6.1',
26 silly addNameRange '0.6.2',
26 silly addNameRange '0.6.3',
26 silly addNameRange '0.6.4',
26 silly addNameRange '0.6.5',
26 silly addNameRange '0.7.0',
26 silly addNameRange '0.8.0',
26 silly addNameRange '0.8.1',
26 silly addNameRange '0.8.2',
26 silly addNameRange '0.8.3',
26 silly addNameRange '0.8.4',
26 silly addNameRange '0.8.5',
26 silly addNameRange '0.8.6',
26 silly addNameRange '0.8.7',
26 silly addNameRange '0.8.8',
26 silly addNameRange '0.8.9',
26 silly addNameRange '0.8.10' ] ]
27 verbose addNamed [ 'jsdom', '0.8.10' ]
28 verbose addNamed [ '0.8.10', '0.8.10' ]
29 silly lockFile 5b7c1af8-jsdom-0-8-10 [email protected]
30 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\5b7c1af8-jsdom-0-8-10.lock
31 silly lockFile 5b7c1af8-jsdom-0-8-10 [email protected]
32 silly lockFile 5b7c1af8-jsdom-0-8-10 [email protected]
33 silly lockFile be40d96d-jsdom jsdom@
34 silly lockFile be40d96d-jsdom jsdom@
35 silly resolved [ { name: 'jsdom',
35 silly resolved version: '0.8.10',
35 silly resolved description: 'A JavaScript implementation of the W3C DOM',
35 silly resolved keywords: [ 'dom', 'w3c', 'html' ],
35 silly resolved maintainers: [ [Object], [Object] ],
35 silly resolved contributors:
35 silly resolved [ [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object],
35 silly resolved [Object] ],
35 silly resolved bugs:
35 silly resolved { url: 'http://github.com/tmpvar/jsdom/issues',
35 silly resolved email: '[email protected]' },
35 silly resolved license:
35 silly resolved { type: 'MIT',
35 silly resolved url: 'http://github.com/tmpvar/jsdom/blob/master/LICENSE.txt' },
35 silly resolved repository: { type: 'git', url: 'git://github.com/tmpvar/jsdom.git' },
35 silly resolved implements: [ 'http://www.w3.org/TR/REC-DOM-Level-1' ],
35 silly resolved dependencies:
35 silly resolved { htmlparser2: '>= 3.1.5 <4',
35 silly resolved nwmatcher: '~1.3.1',
35 silly resolved request: '2.x',
35 silly resolved xmlhttprequest: '>=1.5.0',
35 silly resolved cssom: '~0.3.0',
35 silly resolved cssstyle: '~0.2.6',
35 silly resolved contextify: '~0.1.5' },
35 silly resolved devDependencies: { nodeunit: '~0.8.0', optimist: '*', urlmaster: '>=0.2.15' },
35 silly resolved scripts: { test: 'node ./test/runner' },
35 silly resolved main: './lib/jsdom',
35 silly resolved readme: '# jsdom\n\nA JavaScript implementation of the W3C DOM.\n\n## Install\n\n```bash\n$ npm install jsdom\n```\n\nIf this gives you trouble with errors about installing Contextify, especially on Windows, see [below](#contextify).\n\n## Human contact\n\nsee: [mailing list](http://groups.google.com/group/jsdom)\n\n## Easymode\n\nBootstrapping a DOM is generally a difficult process involving many error prone steps. We didn\'t want jsdom to fall into the same trap and that is why a new method, `jsdom.env()`, has been added in jsdom 0.2.0 which should make everyone\'s lives easier.\n\nYou can use it with a URL\n\n```js\n// Count all of the links from the Node.js build page\nvar jsdom = require("jsdom");\n\njsdom.env(\n "http://nodejs.org/dist/",\n ["http://code.jquery.com/jquery.js"],\n function (errors, window) {\n console.log("there have been", window.$("a").length, "nodejs releases!");\n }\n);\n```\n\nor with raw HTML\n\n```js\n// Run some jQuery on a html fragment\nvar jsdom = require("jsdom");\n\njsdom.env(\n \'<p><a class="the-link" href="https://github.com/tmpvar/jsdom">jsdom\\\'s Homepage</a></p>\',\n ["http://code.jquery.com/jquery.js"],\n function (errors, window) {\n console.log("contents of a.the-link:", window.$("a.the-link").text());\n }\n);\n```\n\nor with a configuration object\n\n```js\n// Print all of the news items on hackernews\nvar jsdom = require("jsdom");\n\njsdom.env({\n url: "http://news.ycombinator.com/",\n scripts: ["http://code.jquery.com/jquery.js"],\n done: function (errors, window) {\n var $ = window.$;\n console.log("HN Links");\n $("td.title:not(:last) a").each(function() {\n console.log(" -", $(this).text());\n });\n }\n});\n```\n\nor with raw JavaScript source\n\n```js\n// Print all of the news items on hackernews\nvar jsdom = require("jsdom");\nvar fs = require("fs");\nvar jquery = fs.readFileSync("./jquery.js", "utf-8");\n\njsdom.env({\n url: "http://news.ycombinator.com/",\n src: [jquery],\n done: function (errors, window) {\n var $ = window.$;\n console.log("HN Links");\n $("td.title:not(:last) a").each(function () {\n console.log(" -", $(this).text());\n });\n }\n});\n```\n\n### How it works\n`jsdom.env` is built for ease of use, which is rare in the world of the DOM! Since the web has some absolutely horrible JavaScript on it, as of jsdom 0.2.0 `jsdom.env` will not process external resources (scripts, images, etc). If you want to process the JavaScript use one of the methods below (`jsdom.jsdom` or `jsdom.jQueryify`)\n\n```js\njsdom.env(string, [scripts], [config], callback);\n```\n\nThe arguments are:\n\n- `string`: may be a URL, file name, or HTML fragment\n- `scripts`: a string or array of strings, containing file names or URLs that will be inserted as `<script>` tags\n- `config`: see below\n- `callback`: takes two arguments\n - `error`: either an `Error` object if something failed initializing the window, or an array of error messages from the DOM if there were script errors\n - `window`: a brand new `window`\n\n_Example:_\n\n```js\njsdom.env(html, function (errors, window) {\n // free memory associated with the window\n window.close();\n});\n```\n\nIf you would like to specify a configuration object only:\n\n```js\njsdom.env(config);\n```\n\n- `config.html`: a HTML fragment\n- `config.file`: a file which jsdom will load HTML from; the resulting window\'s `location.href` will be a `file://` URL.\n- `config.url`: sets the resulting window\'s `location.href`; if `config.html` and `config.file` are not provided, jsdom will load HTML from this URL.\n- `config.scripts`: see `scripts` above.\n- `config.src`: an array of JavaScript strings that will be evaluated against the resulting document. Similar to `scripts`, but it accepts JavaScript instead of paths/URLs.\n- `config.done`: see `callback` above.\n- `config.document`:\n - `referer`: the new document will have this referer.\n - `cookie`: manually set a cookie value, e.g. `\'key=value; expires=Wed, Sep 21 2011 12:00:00 GMT; path=/\'`.\n - `cookieDomain`: a cookie domain for the manually set cookie; defaults to `127.0.0.1`.\n- `config.features` : see `Flexibility` section below. **Note**: the default feature set for jsdom.env does _not_ include fetching remote JavaScript and executing it. This is something that you will need to **carefully** enable yourself.\n\nNote that `config.done` is required, as is one of `config.html`, `config.file`, or `config.url`.\n\n## For the hardcore\n\nIf you want to spawn a document/window and specify all sorts of options this is the section for you. This section covers the `jsdom.jsdom` method:\n\n```js\nvar jsdom = require("jsdom").jsdom;\nvar doc = jsdom(markup, level, options);\nvar window = doc.parentWindow;\n```\n\n- `markup` is an HTML/XML document to be parsed. You can also pass `null` or an undefined value to get a basic document with empty `<head>` and `<body>` tags. Document fragments are also supported (including `""`), and will behave as sanely as possible (e.g. the resulting document will lack the `head`, `body` and `documentElement` properties if the corresponding elements aren\'t included).\n\n- `level` is `null` (which means level3) by default, but you can pass another level if you\'d like.\n\n ```js\n var jsdom = require("jsdom");\n var doc = jsdom.jsdom("<html><body></body></html>", jsdom.level(1, "core"));\n ```\n\n- `options` see the **Flexibility** section below.\n\n### Flexibility\n\nOne of the goals of jsdom is to be as minimal and light as possible. This section details how someone can change the behavior of `Document`s on the fly. These features are baked into the `DOMImplementation` that every `Document` has, and may be tweaked in two ways:\n\n1. When you create a new `Document` using the jsdom builder (`require("jsdom").jsdom()`)\n\n ```js\n var jsdom = require("jsdom").jsdom;\n var doc = jsdom("<html><body></body></html>", null, {\n features: {\n FetchExternalResources : ["img"]\n }\n });\n ```\n\n Do note, that this will only affect the document that is currently being created. All other documents will use the defaults specified below (see: Default Features).\n\n2. Before creating any documents, you can modify the defaults for all future documents:\n\n ```js\n require("jsdom").defaultDocumentFeatures = {\n FetchExternalResources: ["script"],\n ProcessExternalResources: false\n };\n ```\n\n#### Default Features\n\nDefault features are extremely important for jsdom as they lower the configuration requirement and present developers a set of consistent default behaviors. The following sections detail the available features, their defaults, and the values that jsdom uses.\n\n\n`FetchExternalResources`\n\n- _Default_: `["script"]`\n- _Allowed_: `["script", "img", "css", "frame", "iframe", "link"]` or `false`\n\nEnables/disables fetching files over the file system/HTTP.\n\n`ProcessExternalResources`\n\n- _Default_: `["script"]`\n- _Allowed_: `["script"]` or `false`\n\nDisabling this will disable script execution (currently only JavaScript).\n\n`SkipExternalResources`\n\n- _Default_: `false`\n- _Allowed_: `/url to be skipped/` or `false`\n- _Example_: `/http:\\/\\/example.org/js/bad\\.js/`\n\nDo not download and process resources with url matching a regular expression.\n\n### Canvas\n\njsdom includes support for using the [canvas](https://npmjs.org/package/canvas) package to extend any `<canvas>` elements with the canvas API. To make this work, you need to include canvas as a dependency in your project, as a peer of jsdom. If jsdom can find the canvas package, it will use it, but if it\'s not present, then `<canvas>` elements will behave like `<div>`s.\n\n## More Examples\n\n### Creating a document\n\n```js\nvar jsdom = require("jsdom");\nvar doc = new (jsdom.level(1, "core").Document)();\n\nconsole.log(doc.nodeName); // outputs: #document\n```\n\n### Creating a browser-like BOM/DOM/Window\n\n```js\nvar jsdom = require("jsdom").jsdom;\nvar document = jsdom("<html><head></head><body>hello world</body></html>");\nvar window = document.parentWindow;\n\nconsole.log(window.document.innerHTML);\n// output: "<html><head></head><body>hello world</body></html>"\n\nconsole.log(window.innerWidth);\n// output: 1024\n\nconsole.log(typeof window.document.getElementsByClassName);\n// outputs: function\n```\n\n### jQueryify\n\n```js\nvar jsdom = require("jsdom");\nvar window = jsdom.jsdom().parentWindow;\n\njsdom.jQueryify(window, "http://code.jquery.com/jquery.js", function () {\n window.$("body").append(\'<div class="testing">Hello World, It works</div>\');\n\n console.log(window.$(".testing").text());\n});\n```\n\n### Passing objects to scripts inside the page\n\n```js\nvar jsdom = require("jsdom").jsdom;\nvar window = jsdom().parentWindow;\n\nwindow.__myObject = { foo: "bar" };\n\nvar scriptEl = window.document.createElement("script");\nscriptEl.src = "anotherScript.js";\nwindow.document.body.appendChild(scriptEl);\n\n// anotherScript.js will have the ability to read `window.__myObject`, even\n// though it originated in Node!\n```\n\n## Test Compliance:\n\n```\n level1/core 535/535 100%\n level1/html 238/238 100%\n level1/svg 527/527 100%\n level2/core 283/283 100%\n level2/html 708/708 100%\n level2/style 15/15 100%\n level2/extra 4/4 100%\n level2/events 24/24 100%\n level3/xpath 93/93 100%\n window/index 7/7 100%\n window/history 5/5 100%\n window/script 10/10 100%\n window/console 2/2 100%\n window/frame 16/16 100%\n sizzle/index 14/14 100%\n jsdom/index 76/76 100%\n jsdom/parsing 11/11 100%\n jsdom/env 25/25 100%\n jsonp/jsonp 1/1 100%\n browser/css 1/1 100%\n browser/index 34/34 100%\n---------------------------------------\nTOTALS: 0/2629 failed; 100% success\n```\n\n### Running the tests\n\nFirst you\'ll want to `npm install`. To run all the tests, use `npm test`, which just calls `node test/runner`.\n\nUsing `test/runner` directly, you can slice and dice which tests your want to run from different levels. Usage is as follows:\n\n```\ntest/runner --help\nRun the jsdom test suite\n\nOptions:\n-s, --suites suites that you want to run. ie: -s level1/core,1/html,html [string]\n-f, --fail-fast stop on the first failed test\n-h, --help show the help\n-t, --tests choose the test cases to run. ie: -t jquery\n```\n\n## Contextify\n\n[Contextify](https://npmjs.org/package/contextify) is a dependency of jsdom, used for running `<script>` tags within the\npage. In other words, it allows jsdom, which is run in Node.js, to run strings of JavaScript in an isolated environment\nthat pretends to be a browser environment instead of a server. You can see how this is an important feature.\n\nUnfortunately, doing this kind of magic requires C++. And in Node.js, using C++ from JavaScript means using "native\nmodules." Native modules are compiled at installation time so that they work precisely for your machine; that is, you\ndon\'t download a contextify binary from npm, but instead build one locally after downloading the source from npm.\n\n\nUnfortunately, getting C++ compiled within npm\'s installation system can be tricky, especially for Windows users. Thus,\none of the most common problems with jsdom is trying to use it without the proper compilation tools installed.\nHere\'s what you need to compile Contextify, and thus to install jsdom:\n\n### Windows\n\n* A recent copy of the *x86* version of [Node.js for Windows](http://nodejs.org/download/), *not* the x64 version.\n* A copy of [Visual C++ 2010 Express](http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express).\n* A copy of [Python 2.7](http://www.python.org/download/), installed in the default location of `C:\\Python27`.\n\nThere are some slight modifications to this that can work; for example full versions of Visual Studio usually work, and\nsometimes you can even get an x64 version of Node.js working too. But it\'s tricky, so start with the basics!\n\n### Mac\n\n* XCode needs to be installed\n* "Command line tools for XCode" need to be installed\n* Launch XCode once to accept the license, etc. and ensure it\'s properly installed\n\n### Linux\n\nYou\'ll need various build tools installed, like `make`, Python 2.7, and a compiler toolchain. How to install these will\nbe specific to your distro, if you don\'t already have them.\n',
35 silly resolved readmeFilename: 'README.md',
35 silly resolved homepage: 'https://github.com/tmpvar/jsdom',
35 silly resolved _id: '[email protected]',
35 silly resolved _from: 'jsdom@' } ]
36 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm
37 info installOne [email protected]
38 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom unbuild
39 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\jsdom\0.8.10\package.tgz
40 silly lockFile 44a36489-a-Roaming-npm-node-modules-jsdom tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
41 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom C:\Users\Maeda\AppData\Roaming\npm-cache\44a36489-a-Roaming-npm-node-modules-jsdom.lock
42 silly lockFile 836eb8a7-m-cache-jsdom-0-8-10-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\jsdom\0.8.10\package.tgz
43 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm-cache\jsdom\0.8.10\package.tgz C:\Users\Maeda\AppData\Roaming\npm-cache\836eb8a7-m-cache-jsdom-0-8-10-package-tgz.lock
44 silly gunzTarPerm modes [ '755', '644' ]
45 silly gunzTarPerm extractEntry package.json
46 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
47 silly gunzTarPerm extractEntry README.md
48 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
49 silly gunzTarPerm extractEntry lib/jsdom.js
50 silly gunzTarPerm modified mode [ 'lib/jsdom.js', 438, 420 ]
51 silly gunzTarPerm extractEntry lib/jsdom/utils.js
52 silly gunzTarPerm modified mode [ 'lib/jsdom/utils.js', 438, 420 ]
53 silly gunzTarPerm extractEntry lib/jsdom/browser/documentfeatures.js
54 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/documentfeatures.js', 438, 420 ]
55 silly gunzTarPerm extractEntry lib/jsdom/browser/domtohtml.js
56 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/domtohtml.js', 438, 420 ]
57 silly gunzTarPerm extractEntry lib/jsdom/browser/history.js
58 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/history.js', 438, 420 ]
59 silly gunzTarPerm extractEntry lib/jsdom/browser/htmlencoding.js
60 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/htmlencoding.js', 438, 420 ]
61 silly gunzTarPerm extractEntry lib/jsdom/browser/htmltodom.js
62 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/htmltodom.js', 438, 420 ]
63 silly gunzTarPerm extractEntry lib/jsdom/browser/index.js
64 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/index.js', 438, 420 ]
65 silly gunzTarPerm extractEntry lib/jsdom/browser/location.js
66 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/location.js', 438, 420 ]
67 silly gunzTarPerm extractEntry lib/jsdom/browser/utils.js
68 silly gunzTarPerm modified mode [ 'lib/jsdom/browser/utils.js', 438, 420 ]
69 silly gunzTarPerm extractEntry lib/jsdom/level1/core.js
70 silly gunzTarPerm modified mode [ 'lib/jsdom/level1/core.js', 438, 420 ]
71 silly gunzTarPerm extractEntry lib/jsdom/level2/core.js
72 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/core.js', 438, 420 ]
73 silly gunzTarPerm extractEntry lib/jsdom/level2/events.js
74 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/events.js', 438, 420 ]
75 silly gunzTarPerm extractEntry lib/jsdom/level2/html.js
76 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/html.js', 438, 420 ]
77 silly gunzTarPerm extractEntry lib/jsdom/level2/index.js
78 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/index.js', 438, 420 ]
79 silly gunzTarPerm extractEntry lib/jsdom/level2/style.js
80 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/style.js', 438, 420 ]
81 silly gunzTarPerm extractEntry lib/jsdom/level2/languages/javascript.js
82 silly gunzTarPerm modified mode [ 'lib/jsdom/level2/languages/javascript.js', 438, 420 ]
83 silly gunzTarPerm extractEntry lib/jsdom/level3/core.js
84 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/core.js', 438, 420 ]
85 silly gunzTarPerm extractEntry lib/jsdom/level3/events.js
86 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/events.js', 438, 420 ]
87 silly gunzTarPerm extractEntry lib/jsdom/level3/html.js
88 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/html.js', 438, 420 ]
89 silly gunzTarPerm extractEntry lib/jsdom/level3/index.js
90 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/index.js', 438, 420 ]
91 silly gunzTarPerm extractEntry lib/jsdom/level3/ls.js
92 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/ls.js', 438, 420 ]
93 silly gunzTarPerm extractEntry lib/jsdom/level3/xpath.js
94 silly gunzTarPerm modified mode [ 'lib/jsdom/level3/xpath.js', 438, 420 ]
95 silly gunzTarPerm extractEntry lib/jsdom/selectors/index.js
96 silly gunzTarPerm modified mode [ 'lib/jsdom/selectors/index.js', 438, 420 ]
97 silly gunzTarPerm extractEntry LICENSE.txt
98 silly gunzTarPerm modified mode [ 'LICENSE.txt', 438, 420 ]
99 silly lockFile 44a36489-a-Roaming-npm-node-modules-jsdom tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
100 silly lockFile 44a36489-a-Roaming-npm-node-modules-jsdom tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
101 silly lockFile 836eb8a7-m-cache-jsdom-0-8-10-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\jsdom\0.8.10\package.tgz
102 silly lockFile 836eb8a7-m-cache-jsdom-0-8-10-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\jsdom\0.8.10\package.tgz
103 info preinstall [email protected]
104 verbose readDependencies using package.json deps
105 verbose readDependencies using package.json deps
106 verbose cache add [ 'htmlparser2@>= 3.1.5 <4', null ]
107 verbose cache add name=undefined spec="htmlparser2@>= 3.1.5 <4" args=["htmlparser2@>= 3.1.5 <4",null]
108 verbose parsed url { protocol: null,
108 verbose parsed url slashes: null,
108 verbose parsed url auth: null,
108 verbose parsed url host: null,
108 verbose parsed url port: null,
108 verbose parsed url hostname: null,
108 verbose parsed url hash: null,
108 verbose parsed url search: null,
108 verbose parsed url query: null,
108 verbose parsed url pathname: 'htmlparser2@%3E=%203.1.5%20%3C4',
108 verbose parsed url path: 'htmlparser2@%3E=%203.1.5%20%3C4',
108 verbose parsed url href: 'htmlparser2@%3E=%203.1.5%20%3C4' }
109 verbose cache add name="htmlparser2" spec=">= 3.1.5 <4" args=["htmlparser2",">= 3.1.5 <4"]
110 verbose parsed url { protocol: null,
110 verbose parsed url slashes: null,
110 verbose parsed url auth: null,
110 verbose parsed url host: null,
110 verbose parsed url port: null,
110 verbose parsed url hostname: null,
110 verbose parsed url hash: null,
110 verbose parsed url search: null,
110 verbose parsed url query: null,
110 verbose parsed url pathname: '%3E=%203.1.5%20%3C4',
110 verbose parsed url path: '%3E=%203.1.5%20%3C4',
110 verbose parsed url href: '%3E=%203.1.5%20%3C4' }
111 verbose addNamed [ 'htmlparser2', '>= 3.1.5 <4' ]
112 verbose addNamed [ null, '>=3.1.5 <4.0.0-0' ]
113 silly lockFile 0e2879d5-htmlparser2-3-1-5-4 htmlparser2@>= 3.1.5 <4
114 verbose lock htmlparser2@>= 3.1.5 <4 C:\Users\Maeda\AppData\Roaming\npm-cache\0e2879d5-htmlparser2-3-1-5-4.lock
115 verbose cache add [ 'nwmatcher@~1.3.1', null ]
116 verbose cache add name=undefined spec="nwmatcher@~1.3.1" args=["nwmatcher@~1.3.1",null]
117 verbose parsed url { protocol: null,
117 verbose parsed url slashes: null,
117 verbose parsed url auth: null,
117 verbose parsed url host: null,
117 verbose parsed url port: null,
117 verbose parsed url hostname: null,
117 verbose parsed url hash: null,
117 verbose parsed url search: null,
117 verbose parsed url query: null,
117 verbose parsed url pathname: 'nwmatcher@~1.3.1',
117 verbose parsed url path: 'nwmatcher@~1.3.1',
117 verbose parsed url href: 'nwmatcher@~1.3.1' }
118 verbose cache add name="nwmatcher" spec="~1.3.1" args=["nwmatcher","~1.3.1"]
119 verbose parsed url { protocol: null,
119 verbose parsed url slashes: null,
119 verbose parsed url auth: null,
119 verbose parsed url host: null,
119 verbose parsed url port: null,
119 verbose parsed url hostname: null,
119 verbose parsed url hash: null,
119 verbose parsed url search: null,
119 verbose parsed url query: null,
119 verbose parsed url pathname: '~1.3.1',
119 verbose parsed url path: '~1.3.1',
119 verbose parsed url href: '~1.3.1' }
120 verbose addNamed [ 'nwmatcher', '~1.3.1' ]
121 verbose addNamed [ null, '>=1.3.1-0 <1.4.0-0' ]
122 silly lockFile 315a8aad-nwmatcher-1-3-1 nwmatcher@~1.3.1
123 verbose lock nwmatcher@~1.3.1 C:\Users\Maeda\AppData\Roaming\npm-cache\315a8aad-nwmatcher-1-3-1.lock
124 verbose cache add [ '[email protected]', null ]
125 verbose cache add name=undefined spec="[email protected]" args=["[email protected]",null]
126 verbose parsed url { protocol: null,
126 verbose parsed url slashes: null,
126 verbose parsed url auth: null,
126 verbose parsed url host: null,
126 verbose parsed url port: null,
126 verbose parsed url hostname: null,
126 verbose parsed url hash: null,
126 verbose parsed url search: null,
126 verbose parsed url query: null,
126 verbose parsed url pathname: '[email protected]',
126 verbose parsed url path: '[email protected]',
126 verbose parsed url href: '[email protected]' }
127 verbose cache add name="request" spec="2.x" args=["request","2.x"]
128 verbose parsed url { protocol: null,
128 verbose parsed url slashes: null,
128 verbose parsed url auth: null,
128 verbose parsed url host: null,
128 verbose parsed url port: null,
128 verbose parsed url hostname: null,
128 verbose parsed url hash: null,
128 verbose parsed url search: null,
128 verbose parsed url query: null,
128 verbose parsed url pathname: '2.x',
128 verbose parsed url path: '2.x',
128 verbose parsed url href: '2.x' }
129 verbose addNamed [ 'request', '2.x' ]
130 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
131 silly lockFile c23ecae0-request-2-x [email protected]
132 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\c23ecae0-request-2-x.lock
133 verbose cache add [ 'xmlhttprequest@>=1.5.0', null ]
134 verbose cache add name=undefined spec="xmlhttprequest@>=1.5.0" args=["xmlhttprequest@>=1.5.0",null]
135 verbose parsed url { protocol: null,
135 verbose parsed url slashes: null,
135 verbose parsed url auth: null,
135 verbose parsed url host: null,
135 verbose parsed url port: null,
135 verbose parsed url hostname: null,
135 verbose parsed url hash: null,
135 verbose parsed url search: null,
135 verbose parsed url query: null,
135 verbose parsed url pathname: 'xmlhttprequest@%3E=1.5.0',
135 verbose parsed url path: 'xmlhttprequest@%3E=1.5.0',
135 verbose parsed url href: 'xmlhttprequest@%3E=1.5.0' }
136 verbose cache add name="xmlhttprequest" spec=">=1.5.0" args=["xmlhttprequest",">=1.5.0"]
137 verbose parsed url { protocol: null,
137 verbose parsed url slashes: null,
137 verbose parsed url auth: null,
137 verbose parsed url host: null,
137 verbose parsed url port: null,
137 verbose parsed url hostname: null,
137 verbose parsed url hash: null,
137 verbose parsed url search: null,
137 verbose parsed url query: null,
137 verbose parsed url pathname: '%3E=1.5.0',
137 verbose parsed url path: '%3E=1.5.0',
137 verbose parsed url href: '%3E=1.5.0' }
138 verbose addNamed [ 'xmlhttprequest', '>=1.5.0' ]
139 verbose addNamed [ null, '>=1.5.0' ]
140 silly lockFile 7fa1418d-xmlhttprequest-1-5-0 xmlhttprequest@>=1.5.0
141 verbose lock xmlhttprequest@>=1.5.0 C:\Users\Maeda\AppData\Roaming\npm-cache\7fa1418d-xmlhttprequest-1-5-0.lock
142 verbose cache add [ 'cssom@~0.3.0', null ]
143 verbose cache add name=undefined spec="cssom@~0.3.0" args=["cssom@~0.3.0",null]
144 verbose parsed url { protocol: null,
144 verbose parsed url slashes: null,
144 verbose parsed url auth: null,
144 verbose parsed url host: null,
144 verbose parsed url port: null,
144 verbose parsed url hostname: null,
144 verbose parsed url hash: null,
144 verbose parsed url search: null,
144 verbose parsed url query: null,
144 verbose parsed url pathname: 'cssom@~0.3.0',
144 verbose parsed url path: 'cssom@~0.3.0',
144 verbose parsed url href: 'cssom@~0.3.0' }
145 verbose cache add name="cssom" spec="~0.3.0" args=["cssom","~0.3.0"]
146 verbose parsed url { protocol: null,
146 verbose parsed url slashes: null,
146 verbose parsed url auth: null,
146 verbose parsed url host: null,
146 verbose parsed url port: null,
146 verbose parsed url hostname: null,
146 verbose parsed url hash: null,
146 verbose parsed url search: null,
146 verbose parsed url query: null,
146 verbose parsed url pathname: '~0.3.0',
146 verbose parsed url path: '~0.3.0',
146 verbose parsed url href: '~0.3.0' }
147 verbose addNamed [ 'cssom', '~0.3.0' ]
148 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
149 silly lockFile 7e27c00c-cssom-0-3-0 cssom@~0.3.0
150 verbose lock cssom@~0.3.0 C:\Users\Maeda\AppData\Roaming\npm-cache\7e27c00c-cssom-0-3-0.lock
151 verbose cache add [ 'cssstyle@~0.2.6', null ]
152 verbose cache add name=undefined spec="cssstyle@~0.2.6" args=["cssstyle@~0.2.6",null]
153 verbose parsed url { protocol: null,
153 verbose parsed url slashes: null,
153 verbose parsed url auth: null,
153 verbose parsed url host: null,
153 verbose parsed url port: null,
153 verbose parsed url hostname: null,
153 verbose parsed url hash: null,
153 verbose parsed url search: null,
153 verbose parsed url query: null,
153 verbose parsed url pathname: 'cssstyle@~0.2.6',
153 verbose parsed url path: 'cssstyle@~0.2.6',
153 verbose parsed url href: 'cssstyle@~0.2.6' }
154 verbose cache add name="cssstyle" spec="~0.2.6" args=["cssstyle","~0.2.6"]
155 verbose parsed url { protocol: null,
155 verbose parsed url slashes: null,
155 verbose parsed url auth: null,
155 verbose parsed url host: null,
155 verbose parsed url port: null,
155 verbose parsed url hostname: null,
155 verbose parsed url hash: null,
155 verbose parsed url search: null,
155 verbose parsed url query: null,
155 verbose parsed url pathname: '~0.2.6',
155 verbose parsed url path: '~0.2.6',
155 verbose parsed url href: '~0.2.6' }
156 verbose addNamed [ 'cssstyle', '~0.2.6' ]
157 verbose addNamed [ null, '>=0.2.6-0 <0.3.0-0' ]
158 silly lockFile 27984377-cssstyle-0-2-6 cssstyle@~0.2.6
159 verbose lock cssstyle@~0.2.6 C:\Users\Maeda\AppData\Roaming\npm-cache\27984377-cssstyle-0-2-6.lock
160 verbose cache add [ 'contextify@~0.1.5', null ]
161 verbose cache add name=undefined spec="contextify@~0.1.5" args=["contextify@~0.1.5",null]
162 verbose parsed url { protocol: null,
162 verbose parsed url slashes: null,
162 verbose parsed url auth: null,
162 verbose parsed url host: null,
162 verbose parsed url port: null,
162 verbose parsed url hostname: null,
162 verbose parsed url hash: null,
162 verbose parsed url search: null,
162 verbose parsed url query: null,
162 verbose parsed url pathname: 'contextify@~0.1.5',
162 verbose parsed url path: 'contextify@~0.1.5',
162 verbose parsed url href: 'contextify@~0.1.5' }
163 verbose cache add name="contextify" spec="~0.1.5" args=["contextify","~0.1.5"]
164 verbose parsed url { protocol: null,
164 verbose parsed url slashes: null,
164 verbose parsed url auth: null,
164 verbose parsed url host: null,
164 verbose parsed url port: null,
164 verbose parsed url hostname: null,
164 verbose parsed url hash: null,
164 verbose parsed url search: null,
164 verbose parsed url query: null,
164 verbose parsed url pathname: '~0.1.5',
164 verbose parsed url path: '~0.1.5',
164 verbose parsed url href: '~0.1.5' }
165 verbose addNamed [ 'contextify', '~0.1.5' ]
166 verbose addNamed [ null, '>=0.1.5-0 <0.2.0-0' ]
167 silly lockFile 39127fdc-contextify-0-1-5 contextify@~0.1.5
168 verbose lock contextify@~0.1.5 C:\Users\Maeda\AppData\Roaming\npm-cache\39127fdc-contextify-0-1-5.lock
169 silly addNameRange { name: 'htmlparser2',
169 silly addNameRange range: '>=3.1.5 <4.0.0-0',
169 silly addNameRange hasData: false }
170 silly addNameRange { name: 'nwmatcher',
170 silly addNameRange range: '>=1.3.1-0 <1.4.0-0',
170 silly addNameRange hasData: false }
171 silly addNameRange { name: 'request', range: '>=2.0.0-0 <3.0.0-0', hasData: false }
172 silly addNameRange { name: 'xmlhttprequest', range: '>=1.5.0', hasData: false }
173 silly addNameRange { name: 'cssom', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
174 verbose url raw htmlparser2
175 verbose url resolving [ 'https://registry.npmjs.org/', './htmlparser2' ]
176 verbose url resolved https://registry.npmjs.org/htmlparser2
177 info trying registry request attempt 1 at 00:08:20
178 verbose etag "73LGL95EISRENLWCTVF11JFGT"
179 http GET https://registry.npmjs.org/htmlparser2
180 verbose url raw nwmatcher
181 verbose url resolving [ 'https://registry.npmjs.org/', './nwmatcher' ]
182 verbose url resolved https://registry.npmjs.org/nwmatcher
183 info trying registry request attempt 1 at 00:08:20
184 verbose etag "1VWSNC0UCM12OAIKU7MFR6VQN"
185 http GET https://registry.npmjs.org/nwmatcher
186 silly addNameRange { name: 'cssstyle', range: '>=0.2.6-0 <0.3.0-0', hasData: false }
187 verbose url raw xmlhttprequest
188 verbose url resolving [ 'https://registry.npmjs.org/', './xmlhttprequest' ]
189 verbose url resolved https://registry.npmjs.org/xmlhttprequest
190 info trying registry request attempt 1 at 00:08:20
191 verbose etag "PY0ULQE44E2ANYC9XEQHLU5G"
192 http GET https://registry.npmjs.org/xmlhttprequest
193 verbose url raw request
194 verbose url resolving [ 'https://registry.npmjs.org/', './request' ]
195 verbose url resolved https://registry.npmjs.org/request
196 info trying registry request attempt 1 at 00:08:20
197 verbose etag "2XCZLQ4H2D2H8DTP1GLW291II"
198 http GET https://registry.npmjs.org/request
199 verbose url raw cssom
200 verbose url resolving [ 'https://registry.npmjs.org/', './cssom' ]
201 verbose url resolved https://registry.npmjs.org/cssom
202 info trying registry request attempt 1 at 00:08:20
203 verbose etag "13JGRWZYUQ6MJ0OSXHXK4F4R7"
204 http GET https://registry.npmjs.org/cssom
205 silly addNameRange { name: 'contextify',
205 silly addNameRange range: '>=0.1.5-0 <0.2.0-0',
205 silly addNameRange hasData: false }
206 verbose url raw cssstyle
207 verbose url resolving [ 'https://registry.npmjs.org/', './cssstyle' ]
208 verbose url resolved https://registry.npmjs.org/cssstyle
209 info trying registry request attempt 1 at 00:08:20
210 verbose etag "1BAJSNDC6GMCJ6XL36DKUM9RQ"
211 http GET https://registry.npmjs.org/cssstyle
212 verbose url raw contextify
213 verbose url resolving [ 'https://registry.npmjs.org/', './contextify' ]
214 verbose url resolved https://registry.npmjs.org/contextify
215 info trying registry request attempt 1 at 00:08:20
216 verbose etag "88PW45OOGWOOETWY2Q3RVCRUH"
217 http GET https://registry.npmjs.org/contextify
218 http 304 https://registry.npmjs.org/xmlhttprequest
219 silly registry.get cb [ 304,
219 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
219 silly registry.get etag: '"PY0ULQE44E2ANYC9XEQHLU5G"',
219 silly registry.get date: 'Wed, 25 Dec 2013 05:12:27 GMT',
219 silly registry.get 'content-length': '0' } ]
220 verbose etag xmlhttprequest from cache
221 http 304 https://registry.npmjs.org/request
222 silly registry.get cb [ 304,
222 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
222 silly registry.get etag: '"2XCZLQ4H2D2H8DTP1GLW291II"',
222 silly registry.get date: 'Wed, 25 Dec 2013 05:12:27 GMT',
222 silly registry.get 'content-length': '0' } ]
223 verbose etag request from cache
224 silly addNameRange number 2 { name: 'xmlhttprequest', range: '>=1.5.0', hasData: true }
225 silly addNameRange versions [ 'xmlhttprequest',
225 silly addNameRange [ '1.0.0',
225 silly addNameRange '1.2.0',
225 silly addNameRange '1.2.1',
225 silly addNameRange '1.2.2',
225 silly addNameRange '1.3.0',
225 silly addNameRange '1.4.0',
225 silly addNameRange '1.4.2',
225 silly addNameRange '1.5.0',
225 silly addNameRange '1.6.0' ] ]
226 verbose addNamed [ 'xmlhttprequest', '1.6.0' ]
227 verbose addNamed [ '1.6.0', '1.6.0' ]
228 silly lockFile 3c7905a4-xmlhttprequest-1-6-0 [email protected]
229 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\3c7905a4-xmlhttprequest-1-6-0.lock
230 http 304 https://registry.npmjs.org/cssom
231 silly registry.get cb [ 304,
231 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
231 silly registry.get etag: '"13JGRWZYUQ6MJ0OSXHXK4F4R7"',
231 silly registry.get date: 'Wed, 25 Dec 2013 05:12:27 GMT',
231 silly registry.get 'content-length': '0' } ]
232 verbose etag cssom from cache
233 silly addNameRange number 2 { name: 'request', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
234 silly addNameRange versions [ 'request',
234 silly addNameRange [ '0.10.0',
234 silly addNameRange '0.8.3',
234 silly addNameRange '0.9.0',
234 silly addNameRange '0.9.1',
234 silly addNameRange '0.9.5',
234 silly addNameRange '1.0.0',
234 silly addNameRange '1.1.0',
234 silly addNameRange '1.1.1',
234 silly addNameRange '1.2.0',
234 silly addNameRange '1.9.0',
234 silly addNameRange '1.9.1',
234 silly addNameRange '1.9.2',
234 silly addNameRange '1.9.3',
234 silly addNameRange '1.9.5',
234 silly addNameRange '1.9.7',
234 silly addNameRange '1.9.8',
234 silly addNameRange '1.9.9',
234 silly addNameRange '2.0.0',
234 silly addNameRange '2.0.1',
234 silly addNameRange '2.0.2',
234 silly addNameRange '2.0.3',
234 silly addNameRange '2.0.4',
234 silly addNameRange '2.0.5',
234 silly addNameRange '2.1.0',
234 silly addNameRange '2.1.1',
234 silly addNameRange '2.2.0',
234 silly addNameRange '2.2.5',
234 silly addNameRange '2.2.6',
234 silly addNameRange '2.2.9',
234 silly addNameRange '2.9.0',
234 silly addNameRange '2.9.1',
234 silly addNameRange '2.9.2',
234 silly addNameRange '2.9.3',
234 silly addNameRange '2.9.100',
234 silly addNameRange '2.9.150',
234 silly addNameRange '2.9.151',
234 silly addNameRange '2.9.152',
234 silly addNameRange '2.9.153',
234 silly addNameRange '2.9.200',
234 silly addNameRange '2.9.201',
234 silly addNameRange '2.9.202',
234 silly addNameRange '2.9.203',
234 silly addNameRange '2.10.0',
234 silly addNameRange '2.11.0',
234 silly addNameRange '2.11.1',
234 silly addNameRange '2.11.2',
234 silly addNameRange '2.11.3',
234 silly addNameRange '2.11.4',
234 silly addNameRange '2.12.0',
234 silly addNameRange '2.14.0',
234 silly addNameRange '2.16.0',
234 silly addNameRange '2.16.2',
234 silly addNameRange '2.16.4',
234 silly addNameRange '2.16.6',
234 silly addNameRange '2.18.0',
234 silly addNameRange '2.19.0',
234 silly addNameRange '2.20.0',
234 silly addNameRange '2.21.0',
234 silly addNameRange '2.22.0',
234 silly addNameRange '2.23.0',
234 silly addNameRange '2.24.0',
234 silly addNameRange '2.25.0',
234 silly addNameRange '2.26.0',
234 silly addNameRange '2.27.0',
234 silly addNameRange '2.28.0',
234 silly addNameRange '2.29.0',
234 silly addNameRange '2.30.0' ] ]
235 verbose addNamed [ 'request', '2.30.0' ]
236 verbose addNamed [ '2.30.0', '2.30.0' ]
237 silly lockFile 7a1fbd48-request-2-30-0 [email protected]
238 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\7a1fbd48-request-2-30-0.lock
239 silly addNameRange number 2 { name: 'cssom', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
240 silly addNameRange versions [ 'cssom',
240 silly addNameRange [ '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.3.0' ] ]
241 verbose addNamed [ 'cssom', '0.3.0' ]
242 verbose addNamed [ '0.3.0', '0.3.0' ]
243 silly lockFile 1f828fab-cssom-0-3-0 [email protected]
244 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\1f828fab-cssom-0-3-0.lock
245 silly lockFile 3c7905a4-xmlhttprequest-1-6-0 [email protected]
246 silly lockFile 3c7905a4-xmlhttprequest-1-6-0 [email protected]
247 silly lockFile 7a1fbd48-request-2-30-0 [email protected]
248 silly lockFile 7a1fbd48-request-2-30-0 [email protected]
249 silly lockFile 7fa1418d-xmlhttprequest-1-5-0 xmlhttprequest@>=1.5.0
250 silly lockFile 7fa1418d-xmlhttprequest-1-5-0 xmlhttprequest@>=1.5.0
251 silly lockFile 1f828fab-cssom-0-3-0 [email protected]
252 silly lockFile 1f828fab-cssom-0-3-0 [email protected]
253 silly lockFile c23ecae0-request-2-x [email protected]
254 silly lockFile c23ecae0-request-2-x [email protected]
255 http 304 https://registry.npmjs.org/cssstyle
256 silly registry.get cb [ 304,
256 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
256 silly registry.get etag: '"1BAJSNDC6GMCJ6XL36DKUM9RQ"',
256 silly registry.get date: 'Wed, 25 Dec 2013 05:12:27 GMT',
256 silly registry.get 'content-length': '0' } ]
257 verbose etag cssstyle from cache
258 silly lockFile 7e27c00c-cssom-0-3-0 cssom@~0.3.0
259 silly lockFile 7e27c00c-cssom-0-3-0 cssom@~0.3.0
260 silly addNameRange number 2 { name: 'cssstyle', range: '>=0.2.6-0 <0.3.0-0', hasData: true }
261 silly addNameRange versions [ 'cssstyle',
261 silly addNameRange [ '0.1.0',
261 silly addNameRange '0.2.0',
261 silly addNameRange '0.2.1',
261 silly addNameRange '0.2.2',
261 silly addNameRange '0.2.3',
261 silly addNameRange '0.2.4',
261 silly addNameRange '0.2.5',
261 silly addNameRange '0.2.6',
261 silly addNameRange '0.2.7',
261 silly addNameRange '0.2.8' ] ]
262 verbose addNamed [ 'cssstyle', '0.2.8' ]
263 verbose addNamed [ '0.2.8', '0.2.8' ]
264 silly lockFile bc350dfa-cssstyle-0-2-8 [email protected]
265 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\bc350dfa-cssstyle-0-2-8.lock
266 http 304 https://registry.npmjs.org/contextify
267 silly registry.get cb [ 304,
267 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
267 silly registry.get etag: '"88PW45OOGWOOETWY2Q3RVCRUH"',
267 silly registry.get date: 'Wed, 25 Dec 2013 05:12:27 GMT',
267 silly registry.get 'content-length': '0' } ]
268 verbose etag contextify from cache
269 silly addNameRange number 2 { name: 'contextify',
269 silly addNameRange range: '>=0.1.5-0 <0.2.0-0',
269 silly addNameRange hasData: true }
270 silly addNameRange versions [ 'contextify',
270 silly addNameRange [ '0.0.2',
270 silly addNameRange '0.0.3',
270 silly addNameRange '0.0.4',
270 silly addNameRange '0.0.5',
270 silly addNameRange '0.0.6',
270 silly addNameRange '0.0.7',
270 silly addNameRange '0.1.0',
270 silly addNameRange '0.1.1',
270 silly addNameRange '0.1.2',
270 silly addNameRange '0.1.3',
270 silly addNameRange '0.1.4',
270 silly addNameRange '0.1.5',
270 silly addNameRange '0.1.6' ] ]
271 verbose addNamed [ 'contextify', '0.1.6' ]
272 verbose addNamed [ '0.1.6', '0.1.6' ]
273 silly lockFile aa4e5e79-contextify-0-1-6 [email protected]
274 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\aa4e5e79-contextify-0-1-6.lock
275 silly lockFile bc350dfa-cssstyle-0-2-8 [email protected]
276 silly lockFile bc350dfa-cssstyle-0-2-8 [email protected]
277 silly lockFile 27984377-cssstyle-0-2-6 cssstyle@~0.2.6
278 silly lockFile 27984377-cssstyle-0-2-6 cssstyle@~0.2.6
279 silly lockFile aa4e5e79-contextify-0-1-6 [email protected]
280 silly lockFile aa4e5e79-contextify-0-1-6 [email protected]
281 silly lockFile 39127fdc-contextify-0-1-5 contextify@~0.1.5
282 silly lockFile 39127fdc-contextify-0-1-5 contextify@~0.1.5
283 http 304 https://registry.npmjs.org/htmlparser2
284 silly registry.get cb [ 304,
284 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
284 silly registry.get etag: '"73LGL95EISRENLWCTVF11JFGT"',
284 silly registry.get date: 'Wed, 25 Dec 2013 05:12:29 GMT',
284 silly registry.get 'content-length': '0' } ]
285 verbose etag htmlparser2 from cache
286 silly addNameRange number 2 { name: 'htmlparser2', range: '>=3.1.5 <4.0.0-0', hasData: true }
287 silly addNameRange versions [ 'htmlparser2',
287 silly addNameRange [ '1.0.0',
287 silly addNameRange '1.1.0',
287 silly addNameRange '1.5.0',
287 silly addNameRange '2.0.0',
287 silly addNameRange '2.0.1',
287 silly addNameRange '2.1.0',
287 silly addNameRange '2.1.1',
287 silly addNameRange '2.1.2',
287 silly addNameRange '2.1.3',
287 silly addNameRange '2.2.0',
287 silly addNameRange '2.2.2',
287 silly addNameRange '2.2.3',
287 silly addNameRange '2.2.4',
287 silly addNameRange '2.2.5',
287 silly addNameRange '2.2.6',
287 silly addNameRange '2.2.7',
287 silly addNameRange '2.2.8',
287 silly addNameRange '2.2.9',
287 silly addNameRange '2.3.0',
287 silly addNameRange '2.5.0',
287 silly addNameRange '2.5.1',
287 silly addNameRange '2.5.2',
287 silly addNameRange '2.6.0',
287 silly addNameRange '3.0.0',
287 silly addNameRange '3.0.1',
287 silly addNameRange '3.0.2',
287 silly addNameRange '3.0.3',
287 silly addNameRange '3.0.4',
287 silly addNameRange '3.0.5',
287 silly addNameRange '3.1.1',
287 silly addNameRange '3.1.2',
287 silly addNameRange '3.1.3',
287 silly addNameRange '3.1.4',
287 silly addNameRange '3.1.5',
287 silly addNameRange '3.1.6',
287 silly addNameRange '3.2.0',
287 silly addNameRange '3.2.1',
287 silly addNameRange '3.2.2',
287 silly addNameRange '3.2.3',
287 silly addNameRange '3.2.4',
287 silly addNameRange '3.2.5',
287 silly addNameRange '3.3.0',
287 silly addNameRange '3.4.0' ] ]
288 verbose addNamed [ 'htmlparser2', '3.4.0' ]
289 verbose addNamed [ '3.4.0', '3.4.0' ]
290 silly lockFile e90bb5f3-htmlparser2-3-4-0 [email protected]
291 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\e90bb5f3-htmlparser2-3-4-0.lock
292 http 304 https://registry.npmjs.org/nwmatcher
293 silly registry.get cb [ 304,
293 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
293 silly registry.get etag: '"1VWSNC0UCM12OAIKU7MFR6VQN"',
293 silly registry.get date: 'Wed, 25 Dec 2013 05:12:29 GMT',
293 silly registry.get 'content-length': '0' } ]
294 verbose etag nwmatcher from cache
295 silly addNameRange number 2 { name: 'nwmatcher', range: '>=1.3.1-0 <1.4.0-0', hasData: true }
296 silly addNameRange versions [ 'nwmatcher', [ '1.2.5', '1.3.0', '1.3.1' ] ]
297 verbose addNamed [ 'nwmatcher', '1.3.1' ]
298 verbose addNamed [ '1.3.1', '1.3.1' ]
299 silly lockFile 3606fc87-nwmatcher-1-3-1 [email protected]
300 verbose lock [email protected] C:\Users\Maeda\AppData\Roaming\npm-cache\3606fc87-nwmatcher-1-3-1.lock
301 silly lockFile e90bb5f3-htmlparser2-3-4-0 [email protected]
302 silly lockFile e90bb5f3-htmlparser2-3-4-0 [email protected]
303 silly lockFile 0e2879d5-htmlparser2-3-1-5-4 htmlparser2@>= 3.1.5 <4
304 silly lockFile 0e2879d5-htmlparser2-3-1-5-4 htmlparser2@>= 3.1.5 <4
305 silly lockFile 3606fc87-nwmatcher-1-3-1 [email protected]
306 silly lockFile 3606fc87-nwmatcher-1-3-1 [email protected]
307 silly lockFile 315a8aad-nwmatcher-1-3-1 nwmatcher@~1.3.1
308 silly lockFile 315a8aad-nwmatcher-1-3-1 nwmatcher@~1.3.1
309 silly resolved [ { name: 'xmlhttprequest',
309 silly resolved description: 'XMLHttpRequest for Node',
309 silly resolved version: '1.6.0',
309 silly resolved author: { name: 'Dan DeFelippi', url: 'http://driverdan.com' },
309 silly resolved keywords: [ 'xhr', 'ajax' ],
309 silly resolved licenses: [ [Object] ],
309 silly resolved repository:
309 silly resolved { type: 'git',
309 silly resolved url: 'git://github.com/driverdan/node-XMLHttpRequest.git' },
309 silly resolved bugs: { url: 'http://github.com/driverdan/node-XMLHttpRequest/issues' },
309 silly resolved engines: { node: '>=0.4.0' },
309 silly resolved directories: { lib: './lib', example: './example' },
309 silly resolved main: './lib/XMLHttpRequest.js',
309 silly resolved readme: '# node-XMLHttpRequest #\n\nnode-XMLHttpRequest is a wrapper for the built-in http client to emulate the\nbrowser XMLHttpRequest object.\n\nThis can be used with JS designed for browsers to improve reuse of code and\nallow the use of existing libraries.\n\nNote: This library currently conforms to [XMLHttpRequest 1](http://www.w3.org/TR/XMLHttpRequest/). Version 2.0 will target [XMLHttpRequest Level 2](http://www.w3.org/TR/XMLHttpRequest2/).\n\n## Usage ##\n\nHere\'s how to include the module in your project and use as the browser-based\nXHR object.\n\n\tvar XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;\n\tvar xhr = new XMLHttpRequest();\n\nNote: use the lowercase string "xmlhttprequest" in your require(). On\ncase-sensitive systems (eg Linux) using uppercase letters won\'t work.\n\n## Versions ##\n\nPrior to 1.4.0 version numbers were arbitrary. From 1.4.0 on they conform to\nthe standard major.minor.bugfix. 1.x shouldn\'t necessarily be considered\nstable just because it\'s above 0.x.\n\nSince the XMLHttpRequest API is stable this library\'s API is stable as\nwell. Major version numbers indicate significant core code changes.\nMinor versions indicate minor core code changes or better conformity to\nthe W3C spec.\n\n## License ##\n\nMIT license. See LICENSE for full details.\n\n## Supports ##\n\n* Async and synchronous requests\n* GET, POST, PUT, and DELETE requests\n* All spec methods (open, send, abort, getRequestHeader,\n getAllRequestHeaders, event methods)\n* Requests to all domains\n\n## Known Issues / Missing Features ##\n\nFor a list of open issues or to report your own visit the [github issues\npage](https://github.com/driverdan/node-XMLHttpRequest/issues).\n\n* Local file access may have unexpected results for non-UTF8 files\n* Synchronous requests don\'t set headers properly\n* Synchronous requests freeze node while waiting for response (But that\'s what you want, right? Stick with async!).\n* Some events are missing, such as abort\n* getRequestHeader is case-sensitive\n* Cookies aren\'t persisted between requests\n* Missing XML support\n* Missing basic auth\n',
309 silly resolved readmeFilename: 'README.md',
309 silly resolved homepage: 'https://github.com/driverdan/node-XMLHttpRequest',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'xmlhttprequest@>=1.5.0' },
309 silly resolved { name: 'request',
309 silly resolved description: 'Simplified HTTP request client.',
309 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
309 silly resolved version: '2.30.0',
309 silly resolved author: { name: 'Mikeal Rogers', email: '[email protected]' },
309 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
309 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
309 silly resolved engines: [ 'node >= 0.8.0' ],
309 silly resolved main: 'index.js',
309 silly resolved dependencies:
309 silly resolved { qs: '~0.6.0',
309 silly resolved 'json-stringify-safe': '~5.0.0',
309 silly resolved 'forever-agent': '~0.5.0',
309 silly resolved 'node-uuid': '~1.4.0',
309 silly resolved mime: '~1.2.9',
309 silly resolved 'tough-cookie': '~0.9.15',
309 silly resolved 'form-data': '~0.1.0',
309 silly resolved 'tunnel-agent': '~0.3.0',
309 silly resolved 'http-signature': '~0.10.0',
309 silly resolved 'oauth-sign': '~0.3.0',
309 silly resolved hawk: '~1.0.0',
309 silly resolved 'aws-sign2': '~0.5.0' },
309 silly resolved optionalDependencies:
309 silly resolved { 'tough-cookie': '~0.9.15',
309 silly resolved 'form-data': '~0.1.0',
309 silly resolved 'tunnel-agent': '~0.3.0',
309 silly resolved 'http-signature': '~0.10.0',
309 silly resolved 'oauth-sign': '~0.3.0',
309 silly resolved hawk: '~1.0.0',
309 silly resolved 'aws-sign2': '~0.5.0' },
309 silly resolved scripts: { test: 'node tests/run.js' },
309 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from the `http.Client` option, not the `http.ClientRequest` object)\n2. An `http.ClientResponse` object\n3. The third is the `response` body (`String` or `Buffer`)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.add(cookie)\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
309 silly resolved readmeFilename: 'README.md',
309 silly resolved homepage: 'https://github.com/mikeal/request',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: '[email protected]' },
309 silly resolved { name: 'cssom',
309 silly resolved description: 'CSS Object Model implementation and CSS parser',
309 silly resolved keywords: [ 'CSS', 'CSSOM', 'parser', 'styleSheet' ],
309 silly resolved version: '0.3.0',
309 silly resolved homepage: 'https://github.com/NV/CSSOM',
309 silly resolved author: { name: 'Nikita Vasilyev', email: '[email protected]' },
309 silly resolved repository: { type: 'git', url: 'git://github.com/NV/CSSOM.git' },
309 silly resolved bugs: { url: 'https://github.com/NV/CSSOM/issues' },
309 silly resolved main: './lib/index.js',
309 silly resolved devDependencies: { jake: '~0.7.3' },
309 silly resolved license: { type: 'MIT', url: 'http://creativecommons.org/licenses/MIT/' },
309 silly resolved scripts: { prepublish: 'jake lib/index.js' },
309 silly resolved readme: '# CSSOM\n\nCSSOM.js is a CSS parser written in pure JavaScript. It also a partial implementation of [CSS Object Model](http://dev.w3.org/csswg/cssom/). \n\n CSSOM.parse("body {color: black}")\n -> {\n cssRules: [\n {\n selectorText: "body",\n style: {\n 0: "color",\n color: "black",\n length: 1\n }\n }\n ]\n }\n\n\n## [Parser demo](http://nv.github.com/CSSOM/docs/parse.html)\n\nWorks well in Google Chrome 6+, Safari 5+, Firefox 3.6+, Opera 10.63+.\nDoesn\'t work in IE < 9 because of unsupported getters/setters.\n\nTo use CSSOM.js in the browser you might want to build a one-file version with [Jake](http://github.com/mde/jake):\n\n ➤ jake\n build/CSSOM.js is done\n\nTo use it with Node.js:\n\n npm install cssom\n\n## [Specs](http://nv.github.com/CSSOM/spec/)\n\n## [Who uses CSSOM.js](https://github.com/NV/CSSOM/wiki/Who-uses-CSSOM.js)\n',
309 silly resolved readmeFilename: 'README.mdown',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'cssom@~0.3.0' },
309 silly resolved { name: 'cssstyle',
309 silly resolved description: 'CSSStyleDeclaration Object Model implementation',
309 silly resolved keywords: [ 'CSS', 'CSSStyleDeclaration', 'StyleSheet' ],
309 silly resolved version: '0.2.8',
309 silly resolved homepage: 'https://github.com/chad3814/CSSStyleDeclaration',
309 silly resolved maintainers: [ [Object] ],
309 silly resolved contributors: [ [Object] ],
309 silly resolved repository:
309 silly resolved { type: 'git',
309 silly resolved url: 'git://github.com/chad3814/CSSStyleDeclaration.git' },
309 silly resolved bugs: { url: 'https://github.com/chad3814/CSSStyleDeclaration/issues' },
309 silly resolved directories: { lib: './lib' },
309 silly resolved main: './lib/CSSStyleDeclaration.js',
309 silly resolved dependencies: { cssom: '0.3.x' },
309 silly resolved devDependencies: { nodeunit: '~0.8.0' },
309 silly resolved scripts: { test: 'nodeunit tests' },
309 silly resolved licenses: [ [Object] ],
309 silly resolved readme: 'CSSStyleDeclaration\n===================\n\nCSSStyleDeclaration is a work-a-like to the CSSStyleDeclaration class in Nikita Vasilyev\'s [CSSOM](https://github.com/NV/CSSOM). I made it so that when using [jQuery in node](https://github.com/tmtk75/node-jquery) setting css attributes via $.fn.css() would work. node-jquery uses [jsdom](https://github.com/tmpvar/jsdom) to create a DOM to use in node. jsdom uses CSSOM for styling, and CSSOM\'s implementation of the [CSSStyleDeclaration](http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration) doesn\'t support [CSS2Properties](http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties), which is how jQuery\'s [$.fn.css()](http://api.jquery.com/css/) operates.\n\n\nWhy not just issue a pull request?\n----\nWell, NV wants to keep CSSOM fast (which I can appreciate) and CSS2Properties aren\'t required by the standard (though every browser has the interface). So I figured the path of least resistence would be to just modify this one class, publish it as a node module (that requires CSSOM) and then make a pull request of jsdom to use it.\n\nHow do I test this code?\n---\n`npm test` should do the trick, assuming you have the dev dependencies installed:\n> ```\n> $ npm test\n>\n> tests\n> ✔ Verify Has Properties\n> ✔ Verify Has Functions\n> ✔ Verify Has Special Properties\n> ✔ Test From Style String\n> ✔ Test From Properties\n> ✔ Test Shorthand Properties\n> ✔ Test width and height Properties and null and empty strings\n> ✔ Test Implicit Properties\n> ```\n\n',
309 silly resolved readmeFilename: 'README.md',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'cssstyle@~0.2.6' },
309 silly resolved { name: 'contextify',
309 silly resolved version: '0.1.6',
309 silly resolved description: 'Turn an object into a persistent execution context.',
309 silly resolved author: { name: 'Brian McDaniel', email: '[email protected]' },
309 silly resolved contributors: [ [Object] ],
309 silly resolved keywords: [ 'context', 'vm' ],
309 silly resolved repository:
309 silly resolved { type: 'git',
309 silly resolved url: 'https://github.com/brianmcd/contextify.git' },
309 silly resolved main: './lib/contextify',
309 silly resolved scripts: { test: 'nodeunit test/', install: 'node-gyp rebuild' },
309 silly resolved engines: { node: '>=0.4.0' },
309 silly resolved licenses: [ [Object] ],
309 silly resolved dependencies: { bindings: '*' },
309 silly resolved devDependencies: { nodeunit: '>=0.5.x' },
309 silly resolved gypfile: true,
309 silly resolved readme: '# Contextify\n\nFor Windows issues, see here: https://github.com/brianmcd/contextify/wiki/Windows-Installation-Guide\n\nPlease add to the wiki if you find new issues/solutions.\n\nTurn an object into a V8 execution context. A contextified object acts as the global \'this\' when executing scripts in its context. Contextify adds 3 methods to the contextified object: run(code, filename), getGlobal(), and dispose(). The main difference between Contextify and Node\'s vm methods is that Contextify allows asynchronous functions to continue executing in the Contextified object\'s context. See vm vs. Contextify below for more discussion.\n\n## Examples\n```javascript\nvar Contextify = require(\'contextify\');\nvar sandbox = { console : console, prop1 : \'prop1\'};\nContextify(sandbox);\nsandbox.run(\'console.log(prop1);\');\nsandbox.dispose(); // free the resources allocated for the context.\n```\n\n```javascript\nvar sandbox = Contextify(); // returns an empty contextified object.\nsandbox.run(\'var x = 3;\');\nconsole.log(sandbox.x); // prints 3\nsandbox.dispose();\n```\n\n```javascript\nvar sandbox = Contextify({setTimeout : setTimeout});\nsandbox.run("setTimeout(function () { x = 3; }, 5);");\nconsole.log(sandbox.x); // prints undefined\nsetTimeout(function () {\n console.log(sandbox.x); // prints 3\n sandbox.dispose();\n}, 10);\n```\n## Details\n\n**Contextify([sandbox])**\n\n sandbox - The object to contextify, which will be modified as described below\n If no sandbox is specified, an empty object will be allocated and used instead.\n\n Returns the contextified object. It doesn\'t make a copy, so if you already have a reference\n to the sandbox, you don\'t need to catch the return value.\n\nA Contextified object has 2 methods added to it:\n\n**run(code, [filename])**\n\n code - string containing JavaScript to execute\n filename - an optional filename for debugging.\n\n Runs the code in the Contextified object\'s context.\n\n**getGlobal()**\n\nReturns the actual global object for the V8 context. The global object is initialized with interceptors (discussed below) which forward accesses on it to the contextified object. This means the contextified object acts like the global object in most cases. Sometimes, though, you need to make a reference to the actual global object.\n\nFor example:\n\n```javascript\nvar window = Contextify({console : console});\nwindow.window = window;\nwindow.run("console.log(window === this);");\n// prints false.\n```\n\n```javascript\nvar window = Contextify({console : console});\nwindow.window = window.getGlobal();\nwindow.run("console.log(window === this);");\n// prints true\n```\n\nThe global object returned by getGlobal() can be treated like the contextified sandbox object, except that defining getters/setters will not work on it. Define getters and setters on the actual sandbox object instead.\n\n**dispose()**\n\nFrees the memory allocated for the underlying V8 context. If you don\'t call this when you\'re done, the V8 context memory will leak, as will the sandbox memory, since the context\'s global stores a strong reference to the sandbox object. You can still use your sandbox object after calling dispose(), but it\'s unsafe to use a global previously returned from getGlobal(). run, getGlobal, and dispose will be removed from the sandbox object.\n\n## Install\n\n npm install contextify\n\n## require(\'vm\') vs. Contextify\n\nNode\'s vm functions (runInContext etc) work by copying the values from the sandbox object onto a context\'s global object, executing the passed in script, then copying the results back. This means that scripts that create asynchronous functions (using mechanisms like setTimeout) won\'t have see the results of executing those functions, since the copying in/out only occurs during an explicit call to runInContext and friends. \n\nContextify creates a V8 context, and uses interceptors (see: http://code.google.com/apis/v8/embed.html#interceptors) to forward global object accesses to the sandbox object. This means there is no copying in or out, so asynchronous functions have the expected effect on the sandbox object. \n\n## Tests\n\nTesting is done with nodeunit. Run the tests with\n\n nodeunit test/\n\nOutput: \n\n OK: 92 assertions (27ms)\n\n\n## Building\n\n node-waf configure build\n\n## Acknowledgments\n\nInspiration taken from Assaf\'s Zombie.js context solution: https://github.com/assaf/zombie\n',
309 silly resolved readmeFilename: 'README.md',
309 silly resolved bugs: { url: 'https://github.com/brianmcd/contextify/issues' },
309 silly resolved homepage: 'https://github.com/brianmcd/contextify',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'contextify@~0.1.5' },
309 silly resolved { name: 'htmlparser2',
309 silly resolved description: 'Fast & forgiving HTML/XML/RSS parser',
309 silly resolved version: '3.4.0',
309 silly resolved author: { name: 'Felix Boehm', email: '[email protected]' },
309 silly resolved keywords: [ 'html', 'parser', 'streams', 'xml', 'dom', 'rss', 'feed', 'atom' ],
309 silly resolved contributors: [ [Object] ],
309 silly resolved repository: { type: 'git', url: 'git://github.com/fb55/htmlparser2.git' },
309 silly resolved bugs: { url: 'http://github.com/fb55/htmlparser2/issues' },
309 silly resolved directories: { lib: 'lib/' },
309 silly resolved main: 'lib/index.js',
309 silly resolved scripts: { test: 'mocha -R spec' },
309 silly resolved dependencies:
309 silly resolved { domhandler: '2.2',
309 silly resolved domutils: '1.3',
309 silly resolved domelementtype: '1',
309 silly resolved 'readable-stream': '1.1' },
309 silly resolved devDependencies: { mocha: '1' },
309 silly resolved license: 'MIT',
309 silly resolved readme: '#htmlparser2 [![NPM version](https://badge.fury.io/js/htmlparser2.png)](https://npmjs.org/package/htmlparser2) [![Build Status](https://secure.travis-ci.org/fb55/htmlparser2.png)](http://travis-ci.org/fb55/htmlparser2) [![Dependency Status](https://david-dm.org/fb55/htmlparser2.png)](https://david-dm.org/fb55/htmlparser2)\n\nA forgiving HTML/XML/RSS parser written in JS for NodeJS. The parser can handle streams (chunked data) and supports custom handlers for writing custom DOMs/output.\n\n##Installing\n\tnpm install htmlparser2\n\t\nA live demo of htmlparser2 is available at http://demos.forbeslindesay.co.uk/htmlparser2/\n\n##Usage\n\n```javascript\nvar htmlparser = require("htmlparser2");\nvar parser = new htmlparser.Parser({\n\tonopentag: function(name, attribs){\n\t\tif(name === "script" && attribs.type === "text/javascript"){\n\t\t\tconsole.log("JS! Hooray!");\n\t\t}\n\t},\n\tontext: function(text){\n\t\tconsole.log("-->", text);\n\t},\n\tonclosetag: function(tagname){\n\t\tif(tagname === "script"){\n\t\t\tconsole.log("That\'s it?!");\n\t\t}\n\t}\n});\nparser.write("Xyz <script type=\'text/javascript\'>var foo = \'<<bar>>\';</ script>");\nparser.end();\n```\n\nOutput (simplified):\n\n```javascript\n--> Xyz \nJS! Hooray!\n--> var foo = \'<<bar>>\';\nThat\'s it?!\n```\n\nRead more about the parser in the [wiki](https://github.com/fb55/htmlparser2/wiki/Parser-options).\n\n##Get a DOM\nThe `DomHandler` (known as `DefaultHandler` in the original `htmlparser` module) produces a DOM (document object model) that can be manipulated using the [`DomUtils`](https://github.com/fb55/DomUtils) helper.\n\nThe `DomHandler`, while still bundled with this module, was moved to its [own module](https://github.com/fb55/domhandler). Have a look at it for further information.\n\n##Parsing RSS/RDF/Atom Feeds\n\n```javascript\nnew htmlparser.FeedHandler(function(<error> error, <object> feed){\n ...\n});\n```\n\n##Performance\n\nAfter having some artificial benchmarks for some time, __@AndreasMadsen__ published his [`htmlparser-benchmark`](https://github.com/AndreasMadsen/htmlparser-benchmark), which benchmarks HTML parses based on real-world websites.\n\nAt the time of writing, the latest versions of all supported parsers show the following performance characteristics on [Travis CI](https://travis-ci.org/AndreasMadsen/htmlparser-benchmark/builds/10805007) (please note that Travis doesn\'t guarantee equal conditions for all tests):\n\n```\ngumbo-parser : 34.9208 ms/file ± 21.4238\nhtml-parser : 24.8224 ms/file ± 15.8703\nhtml5 : 419.597 ms/file ± 264.265\nhtmlparser : 60.0722 ms/file ± 384.844\nhtmlparser2-dom: 12.0749 ms/file ± 6.49474\nhtmlparser2 : 7.49130 ms/file ± 5.74368\nhubbub : 30.4980 ms/file ± 16.4682\nlibxmljs : 14.1338 ms/file ± 18.6541\nparse5 : 22.0439 ms/file ± 15.3743\nsax : 49.6513 ms/file ± 26.6032\n```\n\n##How is this different from [node-htmlparser](https://github.com/tautologistics/node-htmlparser)?\nThis is a fork of the `htmlparser` module. The main difference is that this is intended to be used only with node (it runs on other platforms using [browserify](https://github.com/substack/node-browserify)). `htmlparser2` was rewritten multiple times and, while it maintains an API that\'s compatible with `htmlparser` in most cases, the projects don\'t share any code anymore.\n\nThe parser now provides a callback interface close to [sax.js](https://github.com/isaacs/sax-js) (originally targeted at [readabilitySAX](https://github.com/fb55/readabilitysax)). As a result, old handlers won\'t work anymore.\n\nThe `DefaultHandler` and the `RssHandler` were renamed to clarify their purpose (to `DomHandler` and `FeedHandler`). The old names are still available when requiring `htmlparser2`, so your code should work as expected.\n',
309 silly resolved readmeFilename: 'README.md',
309 silly resolved homepage: 'https://github.com/fb55/htmlparser2',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'htmlparser2@>= 3.1.5 <4' },
309 silly resolved { name: 'nwmatcher',
309 silly resolved version: '1.3.1',
309 silly resolved description: 'A CSS3-compliant JavaScript selector engine.',
309 silly resolved homepage: 'http://javascript.nwbox.com/NWMatcher/',
309 silly resolved main: './src/nwmatcher',
309 silly resolved keywords: [ 'css', 'matcher', 'selector', 'ender' ],
309 silly resolved licenses: [ [Object] ],
309 silly resolved author:
309 silly resolved { name: 'Diego Perini',
309 silly resolved email: '[email protected]',
309 silly resolved url: 'http://www.iport.it/' },
309 silly resolved maintainers: [ [Object] ],
309 silly resolved bugs: { url: 'http://github.com/dperini/nwmatcher/issues' },
309 silly resolved repository: { type: 'git', url: 'git://github.com/dperini/nwmatcher.git' },
309 silly resolved ender: './lib/ender/bridge.js',
309 silly resolved readme: 'ERROR: No README data found!',
309 silly resolved readmeFilename: 'README',
309 silly resolved _id: '[email protected]',
309 silly resolved _from: 'nwmatcher@~1.3.1' } ]
310 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
311 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
312 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
313 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
314 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
315 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
316 info install [email protected] into C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom
317 info installOne [email protected]
318 info installOne [email protected]
319 info installOne [email protected]
320 info installOne [email protected]
321 info installOne [email protected]
322 info installOne [email protected]
323 info installOne [email protected]
324 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\xmlhttprequest unbuild
325 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\request unbuild
326 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssom unbuild
327 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssstyle unbuild
328 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\contextify unbuild
329 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\htmlparser2 unbuild
330 info C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\nwmatcher unbuild
331 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\xmlhttprequest\1.6.0\package.tgz
332 silly lockFile e87a5f11-sdom-node-modules-xmlhttprequest tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\xmlhttprequest
333 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\xmlhttprequest C:\Users\Maeda\AppData\Roaming\npm-cache\e87a5f11-sdom-node-modules-xmlhttprequest.lock
334 silly lockFile 31027d87-xmlhttprequest-1-6-0-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\xmlhttprequest\1.6.0\package.tgz
335 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm-cache\xmlhttprequest\1.6.0\package.tgz C:\Users\Maeda\AppData\Roaming\npm-cache\31027d87-xmlhttprequest-1-6-0-package-tgz.lock
336 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\request\2.30.0\package.tgz
337 silly lockFile 353e987d-dules-jsdom-node-modules-request tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\request
338 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\request C:\Users\Maeda\AppData\Roaming\npm-cache\353e987d-dules-jsdom-node-modules-request.lock
339 silly lockFile a5529ec7-cache-request-2-30-0-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\request\2.30.0\package.tgz
340 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm-cache\request\2.30.0\package.tgz C:\Users\Maeda\AppData\Roaming\npm-cache\a5529ec7-cache-request-2-30-0-package-tgz.lock
341 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\cssom\0.3.0\package.tgz
342 silly lockFile 98231d53-modules-jsdom-node-modules-cssom tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssom
343 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssom C:\Users\Maeda\AppData\Roaming\npm-cache\98231d53-modules-jsdom-node-modules-cssom.lock
344 silly lockFile fda06996-pm-cache-cssom-0-3-0-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\cssom\0.3.0\package.tgz
345 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm-cache\cssom\0.3.0\package.tgz C:\Users\Maeda\AppData\Roaming\npm-cache\fda06996-pm-cache-cssom-0-3-0-package-tgz.lock
346 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\cssstyle\0.2.8\package.tgz
347 silly lockFile 27cf63aa-ules-jsdom-node-modules-cssstyle tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssstyle
348 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\cssstyle C:\Users\Maeda\AppData\Roaming\npm-cache\27cf63aa-ules-jsdom-node-modules-cssstyle.lock
349 silly lockFile 9a37de55-cache-cssstyle-0-2-8-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\cssstyle\0.2.8\package.tgz
350 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm-cache\cssstyle\0.2.8\package.tgz C:\Users\Maeda\AppData\Roaming\npm-cache\9a37de55-cache-cssstyle-0-2-8-package-tgz.lock
351 verbose tar unpack C:\Users\Maeda\AppData\Roaming\npm-cache\contextify\0.1.6\package.tgz
352 silly lockFile 3bf7f095-es-jsdom-node-modules-contextify tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\contextify
353 verbose lock tar://C:\Users\Maeda\AppData\Roaming\npm\node_modules\jsdom\node_modules\contextify C:\Users\Maeda\AppData\Roaming\npm-cache\3bf7f095-es-jsdom-node-modules-contextify.lock
354 silly lockFile 63c22c59-che-contextify-0-1-6-package-tgz tar://C:\Users\Maeda\AppData\Roaming\npm-cache\contextify\0.1.6\package.tgz