Coder Social home page Coder Social logo

editorconfig / editorconfig-core-js Goto Github PK

View Code? Open in Web Editor NEW
265.0 265.0 49.0 506 KB

EditorConfig Core library and command line utility written in JavaScript

Home Page: http://editorconfig.org

License: MIT License

CMake 1.14% JavaScript 18.16% TypeScript 80.70%

editorconfig-core-js's Introduction

editorconfig-core-js's People

Contributors

bufferoverflow avatar dependabot[bot] avatar highfivedenis avatar hildjj avatar jedmao avatar jednano avatar josephfrazier avatar macro1 avatar notslang avatar peterdavehello avatar platinumazure avatar renbaoshuo avatar richienb avatar rreverser avatar seka avatar sindresorhus avatar spinningarrow avatar treyhunner avatar ustccjw avatar xuhdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

editorconfig-core-js's Issues

Slash in path breaks other paths in brace syntax

In a [{pattern1,pattern2,...}] section, a slash in one pattern seems to cause the others to only match files in the project root directory instead of including subdirectories:

Matches all **/*.ext:

[{*.ext,foo}]

Only matches /*.ext:

[{*.ext,foo/bar}]

Version:

$ editorconfig --version
EditorConfig Node.js Core Version 1.0.2

Thanks!

remove cmake

While contributing #44 I noticed we are using cmake which wasn't available on my machine by default.
If you're interested I can refactor a bit to remove this dependency in another PR?
The thing is, I need to parse editor config in a project that I'm working on and it'll be much easier if the whole thing can be done in node only. :) Will gladly help if needed.

Negation in section name glob not working

I'm looking over the code in fnmatch.js to see whether or not I can feasibly fork this and take on a bug I've encountered, but I've hit a bit of a wall.

I've encountered some things I don't recognize neither from ES6+ nor TypeScript. I am a novice in typescript, but the file I'm looking at is plain JavaScript, so I am scratching my head.

FOR: for (i = 1, l = pattern.length; i < l; i ++) {

SWITCH: switch (c) {

WHILE: while (fr < fl) {

Something in your build process must understand what these are, otherwise an error would be thrown somewhere. I don't see it being used at every for/switch/while instance, so it must be optional. Could someone point me in the right direction for where I can read up on it? I'm assuming it isn't something unique to this repository.


The bug I've encountered is that globs are not being handled correctly, specifically I am working on an EditorConfig file that wants to use negation. As far as I can tell, how you are building the path before passing it to your custom minimatch is contributing to it, but I'm sure it isn't as simple as that.

function fnmatch(filepath: string, glob: string) {
const matchOptions = { matchBase: true, dot: true, noext: true }
glob = glob.replace(/\*\*/g, '{*,**/**/**}')
return minimatch(filepath, glob, matchOptions)
}

function buildFullGlob(pathPrefix: string, glob: string) {
switch (glob.indexOf('/')) {
case -1:
glob = '**/' + glob
break
case 0:
glob = glob.substring(1)
break
default:
break
}
return path.join(pathPrefix, glob)
}

const fullGlob = buildFullGlob(pathPrefix, glob)
if (!fnmatch(filepath, fullGlob)) {
return
}

What I'm actually consuming is Prettier, which in turn, is consuming this module. I want to let editorconfig handle certain options, but if it can't match globs correctly, then I can't rely upon it.

My .editorconfig file is typically some (usually more complicated) variation of the following:

https://github.com/yeoman/generator-webapp/blob/cfed98e927438aad8fada4578ab0878b633544b1/app/templates/editorconfig

For the purpose of illustration, I will limit it to JSON files. I want to have a configuration for npm files and some other configuration for other JSON files.

# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true


[*]

# change these settings to your own preference
indent_style = space
indent_size = 2

# we recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[{package,package-lock}.json]
indent_style = space
indent_size = 2

[!(package|package-lock).json]
indent_style = tab
indent_size = 8

# ALSO TRIED:
[{*.json,!package.json,!package-lock.json}]
[{**/*.json,!**/package.json,!**/package-lock.json}]

The pattern that gets executed is usually something like:
C:/path/to/my-project/{*,**/**/**}!/src/my-data.json which isn't a valid glob regardless of what the effective value for options.nonegate is. See also: https://github.com/isaacs/minimatch#comparisons-to-other-fnmatchglob-implementations

I haven't tried changing the order that sections appear in yet, but even if that works, negation (in this module) does not, so it is still buggy/unexpected.

As an aside, prior to my consumption through Prettier, I've been using EditorConfig plugins in Sublime and VSCode successfully for a long time and really appreciate all the work that has gone into the ecosystem. This is the first time I've found myself requiring some form of negation in a project. I'm a bit surprised I didn't find others having the same problem. No way I'm the first person to try using negation! ... right?

Trying to get in touch regarding a security issue

Hey there!

I'd like to report a security issue but cannot find contact instructions on your repository.

If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.

Thank you for your consideration, and I look forward to hearing from you!

(cc @huntr-helper)

Install fails on OS X

Not sure why, this is the output. Seems it's trying to chmod a Windows-style path?

enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/editorconfig/bin\editorconfig'

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   '-g',
1 verbose cli   'editorconfig' ]
2 info using [email protected]
3 info using [email protected]
4 verbose install initial load of /usr/local/lib/package.json
5 verbose readDependencies loading dependencies from /usr/local/lib/package.json
6 silly cache add args [ 'editorconfig', null ]
7 verbose cache add spec editorconfig
8 silly cache add parsed spec Result {
8 silly cache add   raw: 'editorconfig',
8 silly cache add   scope: null,
8 silly cache add   name: 'editorconfig',
8 silly cache add   rawSpec: '',
8 silly cache add   spec: '*',
8 silly cache add   type: 'range' }
9 silly addNamed editorconfig@*
10 verbose addNamed "*" is a valid semver range for editorconfig
11 silly addNameRange { name: 'editorconfig', range: '*', hasData: false }
12 silly mapToRegistry name editorconfig
13 silly mapToRegistry using default registry
14 silly mapToRegistry registry https://registry.npmjs.org/
15 silly mapToRegistry uri https://registry.npmjs.org/editorconfig
16 verbose addNameRange registry:https://registry.npmjs.org/editorconfig not in flight; fetching
17 verbose request uri https://registry.npmjs.org/editorconfig
18 verbose request no auth needed
19 info attempt registry request try #1 at 11:51:27 AM
20 verbose request using bearer token for auth
21 verbose request id 352dc975b3ac9734
22 verbose etag "970A16WTR71ZMOP74U9P2YYG4"
23 http request GET https://registry.npmjs.org/editorconfig
24 http 304 https://registry.npmjs.org/editorconfig
25 verbose headers { 'cache-control': 'max-age=60',
25 verbose headers   'accept-ranges': 'bytes',
25 verbose headers   date: 'Mon, 19 Oct 2015 10:51:28 GMT',
25 verbose headers   via: '1.1 varnish',
25 verbose headers   connection: 'keep-alive',
25 verbose headers   'x-served-by': 'cache-ams4125-AMS',
25 verbose headers   'x-cache': 'MISS',
25 verbose headers   'x-cache-hits': '0',
25 verbose headers   'x-timer': 'S1445251887.852639,VS0,VE175' }
26 silly get cb [ 304,
26 silly get   { 'cache-control': 'max-age=60',
26 silly get     'accept-ranges': 'bytes',
26 silly get     date: 'Mon, 19 Oct 2015 10:51:28 GMT',
26 silly get     via: '1.1 varnish',
26 silly get     connection: 'keep-alive',
26 silly get     'x-served-by': 'cache-ams4125-AMS',
26 silly get     'x-cache': 'MISS',
26 silly get     'x-cache-hits': '0',
26 silly get     'x-timer': 'S1445251887.852639,VS0,VE175' } ]
27 verbose etag https://registry.npmjs.org/editorconfig from cache
28 verbose get saving editorconfig to /Users/arininsland/.npm/registry.npmjs.org/editorconfig/.cache.json
29 silly addNameRange number 2 { name: 'editorconfig', range: '*', hasData: true }
30 silly addNameRange versions [ 'editorconfig',
30 silly addNameRange   [ '0.11.0',
30 silly addNameRange     '0.11.1',
30 silly addNameRange     '0.11.2',
30 silly addNameRange     '0.11.3',
30 silly addNameRange     '0.11.4',
30 silly addNameRange     '0.12.0',
30 silly addNameRange     '0.12.1',
30 silly addNameRange     '0.12.2',
30 silly addNameRange     '0.13.0' ] ]
31 silly addNamed [email protected]
32 verbose addNamed "0.13.0" is a plain semver version for editorconfig
33 silly cache afterAdd [email protected]
34 verbose afterAdd /Users/arininsland/.npm/editorconfig/0.13.0/package/package.json not in flight; writing
35 verbose afterAdd /Users/arininsland/.npm/editorconfig/0.13.0/package/package.json written
36 silly install resolved [ { name: 'editorconfig',
36 silly install resolved     version: '0.13.0',
36 silly install resolved     description: 'EditorConfig File Locator and Interpreter for Node.js',
36 silly install resolved     keywords: [ 'editorconfig', 'core' ],
36 silly install resolved     main: 'editorconfig.js',
36 silly install resolved     contributors: [ [Object], [Object], [Object] ],
36 silly install resolved     directories: { bin: './bin', lib: './lib' },
36 silly install resolved     scripts:
36 silly install resolved      { pretest: 'cmake .',
36 silly install resolved        test: 'npm run lint && ctest .',
36 silly install resolved        'test-verbose': 'npm run lint && ctest -VV --output-on-failure .',
36 silly install resolved        lint: 'eclint check --indent_size ignore editorconfig.js README.md "bin/**" "lib/**"' },
36 silly install resolved     repository:
36 silly install resolved      { type: 'git',
36 silly install resolved        url: 'git://github.com/editorconfig/editorconfig-core-js.git' },
36 silly install resolved     bugs: { url: 'https://github.com/editorconfig/editorconfig-core-js/issues' },
36 silly install resolved     author: { name: 'EditorConfig Team' },
36 silly install resolved     license: { type: 'MIT', url: 'http://editorconfig.mit-license.org/2012' },
36 silly install resolved     dependencies:
36 silly install resolved      { bluebird: '^2.3.6',
36 silly install resolved        commander: '~1.1.1',
36 silly install resolved        'lru-cache': '~2.0.0',
36 silly install resolved        sigmund: '~1.0.0' },
36 silly install resolved     devDependencies: { eclint: '^0.2.6', mocha: '^2.3.3', should: '^7.1.0' },
36 silly install resolved     bin: { editorconfig: 'bin\\editorconfig' },
36 silly install resolved     gitHead: '2b2cd60d1ab32e75a4fe9a4dc92ce960e96591de',
36 silly install resolved     homepage: 'https://github.com/editorconfig/editorconfig-core-js#readme',
36 silly install resolved     _id: '[email protected]',
36 silly install resolved     _shasum: '7a1ba35f709aed7ef24c782aa0a72710f6d3bc28',
36 silly install resolved     _from: 'editorconfig@*',
36 silly install resolved     _npmVersion: '2.14.3',
36 silly install resolved     _nodeVersion: '4.1.0',
36 silly install resolved     _npmUser: { name: 'jedmao', email: '[email protected]' },
36 silly install resolved     dist:
36 silly install resolved      { shasum: '7a1ba35f709aed7ef24c782aa0a72710f6d3bc28',
36 silly install resolved        tarball: 'http://registry.npmjs.org/editorconfig/-/editorconfig-0.13.0.tgz' },
36 silly install resolved     maintainers: [ [Object], [Object] ],
36 silly install resolved     _resolved: 'https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.0.tgz',
36 silly install resolved     readme: 'ERROR: No README data found!' } ]
37 info install [email protected] into /usr/local/lib
38 info installOne [email protected]
39 verbose installOne of editorconfig to /usr/local/lib not in flight; installing
40 verbose lock using /Users/arininsland/.npm/_locks/editorconfig-3a3761e5238a0d00.lock for /usr/local/lib/node_modules/editorconfig
41 silly install write writing editorconfig 0.13.0 to /usr/local/lib/node_modules/editorconfig
42 verbose unbuild lib/node_modules/editorconfig
43 silly gentlyRm /usr/local/lib/node_modules/editorconfig is being purged from base /usr/local
44 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig
45 verbose tar unpack /Users/arininsland/.npm/editorconfig/0.13.0/package.tgz
46 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig
47 silly gentlyRm /usr/local/lib/node_modules/editorconfig is being purged
48 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig
49 silly gunzTarPerm modes [ '755', '644' ]
50 silly gunzTarPerm extractEntry package.json
51 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
52 silly gunzTarPerm extractEntry LICENSE
53 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
54 silly gunzTarPerm extractEntry editorconfig.js
55 silly gunzTarPerm modified mode [ 'editorconfig.js', 438, 420 ]
56 silly gunzTarPerm extractEntry .gitmodules
57 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
58 silly gunzTarPerm extractEntry bin/editorconfig
59 silly gunzTarPerm modified mode [ 'bin/editorconfig', 438, 420 ]
60 silly gunzTarPerm extractEntry cmake_install.cmake
61 silly gunzTarPerm modified mode [ 'cmake_install.cmake', 438, 420 ]
62 silly gunzTarPerm extractEntry lib/fnmatch.js
63 silly gunzTarPerm modified mode [ 'lib/fnmatch.js', 438, 420 ]
64 silly gunzTarPerm extractEntry lib/ini.js
65 silly gunzTarPerm modified mode [ 'lib/ini.js', 438, 420 ]
66 silly gunzTarPerm extractEntry lib/version.js
67 silly gunzTarPerm modified mode [ 'lib/version.js', 438, 420 ]
68 verbose write writing to /usr/local/lib/node_modules/editorconfig/package.json
69 info preinstall [email protected]
70 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/package.json
71 silly prepareForInstallMany adding bluebird@^2.3.6 from editorconfig dependencies
72 silly prepareForInstallMany adding commander@~1.1.1 from editorconfig dependencies
73 silly prepareForInstallMany adding lru-cache@~2.0.0 from editorconfig dependencies
74 silly prepareForInstallMany adding sigmund@~1.0.0 from editorconfig dependencies
75 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/package.json
76 silly cache add args [ 'lru-cache@~2.0.0', null ]
77 verbose cache add spec lru-cache@~2.0.0
78 silly cache add parsed spec Result {
78 silly cache add   raw: 'lru-cache@~2.0.0',
78 silly cache add   scope: null,
78 silly cache add   name: 'lru-cache',
78 silly cache add   rawSpec: '~2.0.0',
78 silly cache add   spec: '>=2.0.0 <2.1.0',
78 silly cache add   type: 'range' }
79 silly addNamed lru-cache@>=2.0.0 <2.1.0
80 verbose addNamed ">=2.0.0 <2.1.0" is a valid semver range for lru-cache
81 silly addNameRange { name: 'lru-cache', range: '>=2.0.0 <2.1.0', hasData: false }
82 silly mapToRegistry name lru-cache
83 silly mapToRegistry using default registry
84 silly mapToRegistry registry https://registry.npmjs.org/
85 silly mapToRegistry uri https://registry.npmjs.org/lru-cache
86 verbose addNameRange registry:https://registry.npmjs.org/lru-cache not in flight; fetching
87 silly cache add args [ 'sigmund@~1.0.0', null ]
88 verbose cache add spec sigmund@~1.0.0
89 silly cache add parsed spec Result {
89 silly cache add   raw: 'sigmund@~1.0.0',
89 silly cache add   scope: null,
89 silly cache add   name: 'sigmund',
89 silly cache add   rawSpec: '~1.0.0',
89 silly cache add   spec: '>=1.0.0 <1.1.0',
89 silly cache add   type: 'range' }
90 silly addNamed sigmund@>=1.0.0 <1.1.0
91 verbose addNamed ">=1.0.0 <1.1.0" is a valid semver range for sigmund
92 silly addNameRange { name: 'sigmund', range: '>=1.0.0 <1.1.0', hasData: false }
93 silly mapToRegistry name sigmund
94 silly mapToRegistry using default registry
95 silly mapToRegistry registry https://registry.npmjs.org/
96 silly mapToRegistry uri https://registry.npmjs.org/sigmund
97 verbose addNameRange registry:https://registry.npmjs.org/sigmund not in flight; fetching
98 silly cache add args [ 'bluebird@^2.3.6', null ]
99 verbose cache add spec bluebird@^2.3.6
100 silly cache add parsed spec Result {
100 silly cache add   raw: 'bluebird@^2.3.6',
100 silly cache add   scope: null,
100 silly cache add   name: 'bluebird',
100 silly cache add   rawSpec: '^2.3.6',
100 silly cache add   spec: '>=2.3.6 <3.0.0',
100 silly cache add   type: 'range' }
101 silly addNamed bluebird@>=2.3.6 <3.0.0
102 verbose addNamed ">=2.3.6 <3.0.0" is a valid semver range for bluebird
103 silly addNameRange { name: 'bluebird', range: '>=2.3.6 <3.0.0', hasData: false }
104 silly mapToRegistry name bluebird
105 silly mapToRegistry using default registry
106 silly mapToRegistry registry https://registry.npmjs.org/
107 silly mapToRegistry uri https://registry.npmjs.org/bluebird
108 verbose addNameRange registry:https://registry.npmjs.org/bluebird not in flight; fetching
109 silly cache add args [ 'commander@~1.1.1', null ]
110 verbose cache add spec commander@~1.1.1
111 silly cache add parsed spec Result {
111 silly cache add   raw: 'commander@~1.1.1',
111 silly cache add   scope: null,
111 silly cache add   name: 'commander',
111 silly cache add   rawSpec: '~1.1.1',
111 silly cache add   spec: '>=1.1.1 <1.2.0',
111 silly cache add   type: 'range' }
112 silly addNamed commander@>=1.1.1 <1.2.0
113 verbose addNamed ">=1.1.1 <1.2.0" is a valid semver range for commander
114 silly addNameRange { name: 'commander', range: '>=1.1.1 <1.2.0', hasData: false }
115 silly mapToRegistry name commander
116 silly mapToRegistry using default registry
117 silly mapToRegistry registry https://registry.npmjs.org/
118 silly mapToRegistry uri https://registry.npmjs.org/commander
119 verbose addNameRange registry:https://registry.npmjs.org/commander not in flight; fetching
120 verbose request uri https://registry.npmjs.org/lru-cache
121 verbose request no auth needed
122 info attempt registry request try #1 at 11:51:28 AM
123 verbose request using bearer token for auth
124 verbose etag "6JPZH74ULL07T05DU5H3VDPQ8"
125 http request GET https://registry.npmjs.org/lru-cache
126 verbose request uri https://registry.npmjs.org/sigmund
127 verbose request no auth needed
128 info attempt registry request try #1 at 11:51:28 AM
129 verbose request using bearer token for auth
130 verbose etag "1TUX00X8YEKNFED6GGWS214S3"
131 http request GET https://registry.npmjs.org/sigmund
132 verbose request uri https://registry.npmjs.org/bluebird
133 verbose request no auth needed
134 info attempt registry request try #1 at 11:51:28 AM
135 verbose request using bearer token for auth
136 verbose etag "F3NYRFVBYVX8VFSI513ZIGUF1"
137 http request GET https://registry.npmjs.org/bluebird
138 verbose request uri https://registry.npmjs.org/commander
139 verbose request no auth needed
140 info attempt registry request try #1 at 11:51:28 AM
141 verbose request using bearer token for auth
142 verbose etag "888R04V6RKVY7ZOO2CDAXQPML"
143 http request GET https://registry.npmjs.org/commander
144 http 304 https://registry.npmjs.org/sigmund
145 verbose headers { 'cache-control': 'max-age=60',
145 verbose headers   'accept-ranges': 'bytes',
145 verbose headers   date: 'Mon, 19 Oct 2015 10:51:28 GMT',
145 verbose headers   via: '1.1 varnish',
145 verbose headers   connection: 'keep-alive',
145 verbose headers   'x-served-by': 'cache-ams4139-AMS',
145 verbose headers   'x-cache': 'MISS',
145 verbose headers   'x-cache-hits': '0',
145 verbose headers   'x-timer': 'S1445251888.174644,VS0,VE93' }
146 silly get cb [ 304,
146 silly get   { 'cache-control': 'max-age=60',
146 silly get     'accept-ranges': 'bytes',
146 silly get     date: 'Mon, 19 Oct 2015 10:51:28 GMT',
146 silly get     via: '1.1 varnish',
146 silly get     connection: 'keep-alive',
146 silly get     'x-served-by': 'cache-ams4139-AMS',
146 silly get     'x-cache': 'MISS',
146 silly get     'x-cache-hits': '0',
146 silly get     'x-timer': 'S1445251888.174644,VS0,VE93' } ]
147 verbose etag https://registry.npmjs.org/sigmund from cache
148 verbose get saving sigmund to /Users/arininsland/.npm/registry.npmjs.org/sigmund/.cache.json
149 silly addNameRange number 2 { name: 'sigmund', range: '>=1.0.0 <1.1.0', hasData: true }
150 silly addNameRange versions [ 'sigmund', [ '1.0.0', '1.0.1' ] ]
151 silly addNamed [email protected]
152 verbose addNamed "1.0.1" is a plain semver version for sigmund
153 http 304 https://registry.npmjs.org/bluebird
154 verbose headers { 'cache-control': 'max-age=60',
154 verbose headers   'accept-ranges': 'bytes',
154 verbose headers   date: 'Mon, 19 Oct 2015 10:51:28 GMT',
154 verbose headers   via: '1.1 varnish',
154 verbose headers   connection: 'keep-alive',
154 verbose headers   'x-served-by': 'cache-ams4134-AMS',
154 verbose headers   'x-cache': 'MISS',
154 verbose headers   'x-cache-hits': '0',
154 verbose headers   'x-timer': 'S1445251888.177847,VS0,VE96' }
155 silly get cb [ 304,
155 silly get   { 'cache-control': 'max-age=60',
155 silly get     'accept-ranges': 'bytes',
155 silly get     date: 'Mon, 19 Oct 2015 10:51:28 GMT',
155 silly get     via: '1.1 varnish',
155 silly get     connection: 'keep-alive',
155 silly get     'x-served-by': 'cache-ams4134-AMS',
155 silly get     'x-cache': 'MISS',
155 silly get     'x-cache-hits': '0',
155 silly get     'x-timer': 'S1445251888.177847,VS0,VE96' } ]
156 verbose etag https://registry.npmjs.org/bluebird from cache
157 verbose get saving bluebird to /Users/arininsland/.npm/registry.npmjs.org/bluebird/.cache.json
158 http 304 https://registry.npmjs.org/lru-cache
159 verbose headers { 'cache-control': 'max-age=60',
159 verbose headers   'accept-ranges': 'bytes',
159 verbose headers   date: 'Mon, 19 Oct 2015 10:51:28 GMT',
159 verbose headers   via: '1.1 varnish',
159 verbose headers   connection: 'keep-alive',
159 verbose headers   'x-served-by': 'cache-ams4125-AMS',
159 verbose headers   'x-cache': 'MISS',
159 verbose headers   'x-cache-hits': '0',
159 verbose headers   'x-timer': 'S1445251888.173764,VS0,VE101' }
160 silly get cb [ 304,
160 silly get   { 'cache-control': 'max-age=60',
160 silly get     'accept-ranges': 'bytes',
160 silly get     date: 'Mon, 19 Oct 2015 10:51:28 GMT',
160 silly get     via: '1.1 varnish',
160 silly get     connection: 'keep-alive',
160 silly get     'x-served-by': 'cache-ams4125-AMS',
160 silly get     'x-cache': 'MISS',
160 silly get     'x-cache-hits': '0',
160 silly get     'x-timer': 'S1445251888.173764,VS0,VE101' } ]
161 verbose etag https://registry.npmjs.org/lru-cache from cache
162 verbose get saving lru-cache to /Users/arininsland/.npm/registry.npmjs.org/lru-cache/.cache.json
163 silly cache afterAdd [email protected]
164 verbose afterAdd /Users/arininsland/.npm/sigmund/1.0.1/package/package.json not in flight; writing
165 silly addNameRange number 2 { name: 'bluebird', range: '>=2.3.6 <3.0.0', hasData: true }
166 silly addNameRange versions [ 'bluebird',
166 silly addNameRange   [ '0.7.1-1',
166 silly addNameRange     '0.7.1-2',
166 silly addNameRange     '0.7.1-3',
166 silly addNameRange     '0.7.1-4',
166 silly addNameRange     '0.7.1-5',
166 silly addNameRange     '0.7.2-0',
166 silly addNameRange     '0.7.3-0',
166 silly addNameRange     '0.7.4-0',
166 silly addNameRange     '0.7.4-1',
166 silly addNameRange     '0.7.5-0',
166 silly addNameRange     '0.7.6-0',
166 silly addNameRange     '0.7.7-0',
166 silly addNameRange     '0.7.7-1',
166 silly addNameRange     '0.7.8-0',
166 silly addNameRange     '0.7.8-1',
166 silly addNameRange     '0.7.9-0',
166 silly addNameRange     '0.7.9-1',
166 silly addNameRange     '0.7.10-0',
166 silly addNameRange     '0.7.10-1',
166 silly addNameRange     '0.7.11-0',
166 silly addNameRange     '0.7.12-0',
166 silly addNameRange     '0.7.12-1',
166 silly addNameRange     '0.7.12-2',
166 silly addNameRange     '0.8.0-0',
166 silly addNameRange     '0.8.0-1',
166 silly addNameRange     '0.8.0-2',
166 silly addNameRange     '0.8.0-3',
166 silly addNameRange     '0.8.1-0',
166 silly addNameRange     '0.8.2-0',
166 silly addNameRange     '0.8.2-1',
166 silly addNameRange     '0.8.2-2',
166 silly addNameRange     '0.8.3-0',
166 silly addNameRange     '0.8.3-1',
166 silly addNameRange     '0.8.3-2',
166 silly addNameRange     '0.8.3-3',
166 silly addNameRange     '0.8.4-0',
166 silly addNameRange     '0.8.4-1',
166 silly addNameRange     '0.8.5-0',
166 silly addNameRange     '0.8.5-1',
166 silly addNameRange     '0.9.0-0',
166 silly addNameRange     '0.9.1-0',
166 silly addNameRange     '0.9.1-1',
166 silly addNameRange     '0.9.2-0',
166 silly addNameRange     '0.9.2-1',
166 silly addNameRange     '0.9.3-0',
166 silly addNameRange     '0.9.4-0',
166 silly addNameRange     '0.9.4-1',
166 silly addNameRange     '0.9.5-0',
166 silly addNameRange     '0.9.6-0',
166 silly addNameRange     '0.9.7-0',
166 silly addNameRange     '0.9.8-0',
166 silly addNameRange     '0.9.9-0',
166 silly addNameRange     '0.9.10-0',
166 silly addNameRange     '0.9.10-1',
166 silly addNameRange     '0.9.11-0',
166 silly addNameRange     '0.9.11-1',
166 silly addNameRange     '0.10.0-0',
166 silly addNameRange     '0.10.0-1',
166 silly addNameRange     '0.10.1-0',
166 silly addNameRange     '0.10.2-0',
166 silly addNameRange     '0.10.2-1',
166 silly addNameRange     '0.10.3-0',
166 silly addNameRange     '0.10.4-0',
166 silly addNameRange     '0.10.4-1',
166 silly addNameRange     '0.10.5-0',
166 silly addNameRange     '0.10.6-0',
166 silly addNameRange     '0.10.7-0',
166 silly addNameRange     '0.10.8-0',
166 silly addNameRange     '0.10.9-0',
166 silly addNameRange     '0.10.9-1',
166 silly addNameRange     '0.10.10-0',
166 silly addNameRange     '0.10.11-0',
166 silly addNameRange     '0.10.11-1',
166 silly addNameRange     '0.10.11-2',
166 silly addNameRange     '0.10.11-4',
166 silly addNameRange     '0.10.12-0',
166 silly addNameRange     '0.10.13-0',
166 silly addNameRange     '0.10.13-1',
166 silly addNameRange     '0.10.14-0',
166 silly addNameRange     '0.11.0-0',
166 silly addNameRange     '0.11.1-0',
166 silly addNameRange     '0.11.2-0',
166 silly addNameRange     '0.11.3-0',
166 silly addNameRange     '0.11.4-0',
166 silly addNameRange     '0.11.4-1',
166 silly addNameRange     '0.11.5-0',
166 silly addNameRange     '0.11.5-1',
166 silly addNameRange     '0.11.6-0',
166 silly addNameRange     '1.0.0',
166 silly addNameRange     '1.0.1',
166 silly addNameRange     '1.0.2',
166 silly addNameRange     '1.0.3',
166 silly addNameRange     '1.0.4',
166 silly addNameRange     '1.0.5',
166 silly addNameRange     '1.0.7',
166 silly addNameRange     '1.0.8',
166 silly addNameRange     '1.1.0',
166 silly addNameRange     '1.1.1',
166 silly addNameRange     '1.2.0',
166 silly addNameRange     '1.2.1',
166 silly addNameRange     '1.2.2',
166 silly addNameRange     '1.2.3',
166 silly addNameRange     '1.2.4',
166 silly addNameRange     '2.0.2',
166 silly addNameRange     '2.0.3',
166 silly addNameRange     '2.0.4',
166 silly addNameRange     '2.0.5',
166 silly addNameRange     '2.0.6',
166 silly addNameRange     '2.0.7',
166 silly addNameRange     '2.1.1',
166 silly addNameRange     '2.1.2',
166 silly addNameRange     '2.1.3',
166 silly addNameRange     '2.2.0',
166 silly addNameRange     '2.2.1',
166 silly addNameRange     '2.2.2',
166 silly addNameRange     '2.3.0',
166 silly addNameRange     '2.3.1',
166 silly addNameRange     '2.3.2',
166 silly addNameRange     '2.3.3',
166 silly addNameRange     '2.3.4',
166 silly addNameRange     '2.3.5',
166 silly addNameRange     '0.11.6',
166 silly addNameRange     '2.3.6',
166 silly addNameRange     '2.3.9',
166 silly addNameRange     '2.3.10',
166 silly addNameRange     '2.3.11',
166 silly addNameRange     '2.4.0',
166 silly addNameRange     '2.4.1',
166 silly addNameRange     '2.4.2',
166 silly addNameRange     '2.4.3',
166 silly addNameRange     '2.5.0',
166 silly addNameRange     '2.5.1',
166 silly addNameRange     '2.5.2',
166 silly addNameRange     '2.5.3',
166 silly addNameRange     '2.6.0',
166 silly addNameRange     '2.6.1',
166 silly addNameRange     '2.6.2',
166 silly addNameRange     '2.6.3',
166 silly addNameRange     '2.6.4',
166 silly addNameRange     '2.7.0',
166 silly addNameRange     '2.7.1',
166 silly addNameRange     '2.8.0',
166 silly addNameRange     '2.8.1',
166 silly addNameRange     '2.8.2',
166 silly addNameRange     '2.9.0',
166 silly addNameRange     '2.9.1',
166 silly addNameRange     '2.9.2',
166 silly addNameRange     '2.9.3',
166 silly addNameRange     '2.9.4',
166 silly addNameRange     '2.9.5',
166 silly addNameRange     '2.9.6',
166 silly addNameRange     '2.9.7',
166 silly addNameRange     '2.9.8',
166 silly addNameRange     '2.9.9',
166 silly addNameRange     '2.9.10',
166 silly addNameRange     '2.9.11',
166 silly addNameRange     '2.9.12',
166 silly addNameRange     '2.9.13',
166 silly addNameRange     '2.9.14',
166 silly addNameRange     '2.9.15',
166 silly addNameRange     '2.9.16',
166 silly addNameRange     '2.9.17',
166 silly addNameRange     '2.9.18',
166 silly addNameRange     '2.9.19',
166 silly addNameRange     '2.9.20',
166 silly addNameRange     '2.9.21',
166 silly addNameRange     '2.9.22',
166 silly addNameRange     '2.9.23',
166 silly addNameRange     '2.9.24',
166 silly addNameRange     '2.9.25',
166 silly addNameRange     '2.9.26',
166 silly addNameRange     '2.9.27',
166 silly addNameRange     '2.9.28',
166 silly addNameRange     '2.9.29',
166 silly addNameRange     '2.9.30',
166 silly addNameRange     '2.9.31',
166 silly addNameRange     '2.9.32',
166 silly addNameRange     '2.9.33',
166 silly addNameRange     '2.9.34',
166 silly addNameRange     '2.10.0',
166 silly addNameRange     '2.10.1',
166 silly addNameRange     '2.10.2' ] ]
167 silly addNamed [email protected]
168 verbose addNamed "2.10.2" is a plain semver version for bluebird
169 verbose afterAdd /Users/arininsland/.npm/sigmund/1.0.1/package/package.json written
170 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.0.0 <2.1.0', hasData: true }
171 silly addNameRange versions [ 'lru-cache',
171 silly addNameRange   [ '1.0.1',
171 silly addNameRange     '1.0.2',
171 silly addNameRange     '1.0.3',
171 silly addNameRange     '1.0.4',
171 silly addNameRange     '1.0.5',
171 silly addNameRange     '1.0.6',
171 silly addNameRange     '1.1.0',
171 silly addNameRange     '1.1.1',
171 silly addNameRange     '2.0.0',
171 silly addNameRange     '2.0.1',
171 silly addNameRange     '2.0.2',
171 silly addNameRange     '2.0.3',
171 silly addNameRange     '2.0.4',
171 silly addNameRange     '2.1.0',
171 silly addNameRange     '2.2.0',
171 silly addNameRange     '2.2.1',
171 silly addNameRange     '2.2.2',
171 silly addNameRange     '2.2.4',
171 silly addNameRange     '2.3.0',
171 silly addNameRange     '2.3.1',
171 silly addNameRange     '2.5.0',
171 silly addNameRange     '2.5.1',
171 silly addNameRange     '2.5.2',
171 silly addNameRange     '2.6.0',
171 silly addNameRange     '2.6.1',
171 silly addNameRange     '2.6.2',
171 silly addNameRange     '2.6.3',
171 silly addNameRange     '2.6.4',
171 silly addNameRange     '2.6.5',
171 silly addNameRange     '2.7.0' ] ]
172 silly addNamed [email protected]
173 verbose addNamed "2.0.4" is a plain semver version for lru-cache
174 silly cache afterAdd [email protected]
175 verbose afterAdd /Users/arininsland/.npm/bluebird/2.10.2/package/package.json not in flight; writing
176 silly cache afterAdd [email protected]
177 verbose afterAdd /Users/arininsland/.npm/lru-cache/2.0.4/package/package.json not in flight; writing
178 verbose afterAdd /Users/arininsland/.npm/bluebird/2.10.2/package/package.json written
179 verbose afterAdd /Users/arininsland/.npm/lru-cache/2.0.4/package/package.json written
180 http 304 https://registry.npmjs.org/commander
181 verbose headers { 'cache-control': 'max-age=60',
181 verbose headers   'accept-ranges': 'bytes',
181 verbose headers   date: 'Mon, 19 Oct 2015 10:51:28 GMT',
181 verbose headers   via: '1.1 varnish',
181 verbose headers   connection: 'keep-alive',
181 verbose headers   'x-served-by': 'cache-ams4128-AMS',
181 verbose headers   'x-cache': 'MISS',
181 verbose headers   'x-cache-hits': '0',
181 verbose headers   'x-timer': 'S1445251888.178600,VS0,VE391' }
182 silly get cb [ 304,
182 silly get   { 'cache-control': 'max-age=60',
182 silly get     'accept-ranges': 'bytes',
182 silly get     date: 'Mon, 19 Oct 2015 10:51:28 GMT',
182 silly get     via: '1.1 varnish',
182 silly get     connection: 'keep-alive',
182 silly get     'x-served-by': 'cache-ams4128-AMS',
182 silly get     'x-cache': 'MISS',
182 silly get     'x-cache-hits': '0',
182 silly get     'x-timer': 'S1445251888.178600,VS0,VE391' } ]
183 verbose etag https://registry.npmjs.org/commander from cache
184 verbose get saving commander to /Users/arininsland/.npm/registry.npmjs.org/commander/.cache.json
185 silly addNameRange number 2 { name: 'commander', range: '>=1.1.1 <1.2.0', hasData: true }
186 silly addNameRange versions [ 'commander',
186 silly addNameRange   [ '0.0.1',
186 silly addNameRange     '0.0.3',
186 silly addNameRange     '0.0.4',
186 silly addNameRange     '0.0.5',
186 silly addNameRange     '0.1.0',
186 silly addNameRange     '0.2.0',
186 silly addNameRange     '0.2.1',
186 silly addNameRange     '0.3.0',
186 silly addNameRange     '0.3.1',
186 silly addNameRange     '0.3.2',
186 silly addNameRange     '0.3.3',
186 silly addNameRange     '0.4.0',
186 silly addNameRange     '0.4.1',
186 silly addNameRange     '0.4.2',
186 silly addNameRange     '0.4.3',
186 silly addNameRange     '0.5.0',
186 silly addNameRange     '0.5.1',
186 silly addNameRange     '0.6.0',
186 silly addNameRange     '0.6.1',
186 silly addNameRange     '0.5.2',
186 silly addNameRange     '1.0.0',
186 silly addNameRange     '1.0.1',
186 silly addNameRange     '1.0.2',
186 silly addNameRange     '1.0.3',
186 silly addNameRange     '1.0.4',
186 silly addNameRange     '1.0.5',
186 silly addNameRange     '1.1.0',
186 silly addNameRange     '1.1.1',
186 silly addNameRange     '1.2.0',
186 silly addNameRange     '1.3.0',
186 silly addNameRange     '1.3.1',
186 silly addNameRange     '1.3.2',
186 silly addNameRange     '2.0.0',
186 silly addNameRange     '2.1.0',
186 silly addNameRange     '2.2.0',
186 silly addNameRange     '2.3.0',
186 silly addNameRange     '2.4.0',
186 silly addNameRange     '2.5.0',
186 silly addNameRange     '2.5.1',
186 silly addNameRange     '2.6.0',
186 silly addNameRange     '2.7.0',
186 silly addNameRange     '2.7.1',
186 silly addNameRange     '2.8.0',
186 silly addNameRange     '2.8.1',
186 silly addNameRange     '2.9.0' ] ]
187 silly addNamed [email protected]
188 verbose addNamed "1.1.1" is a plain semver version for commander
189 silly cache afterAdd [email protected]
190 verbose afterAdd /Users/arininsland/.npm/commander/1.1.1/package/package.json not in flight; writing
191 verbose afterAdd /Users/arininsland/.npm/commander/1.1.1/package/package.json written
192 silly install resolved [ { name: 'sigmund',
192 silly install resolved     version: '1.0.1',
192 silly install resolved     description: 'Quick and dirty signatures for Objects.',
192 silly install resolved     main: 'sigmund.js',
192 silly install resolved     directories: { test: 'test' },
192 silly install resolved     dependencies: {},
192 silly install resolved     devDependencies: { tap: '~0.3.0' },
192 silly install resolved     scripts: { test: 'tap test/*.js', bench: 'node bench.js' },
192 silly install resolved     repository: { type: 'git', url: 'git://github.com/isaacs/sigmund.git' },
192 silly install resolved     keywords: [ 'object', 'signature', 'key', 'data', 'psychoanalysis' ],
192 silly install resolved     author:
192 silly install resolved      { name: 'Isaac Z. Schlueter',
192 silly install resolved        email: '[email protected]',
192 silly install resolved        url: 'http://blog.izs.me/' },
192 silly install resolved     license: 'ISC',
192 silly install resolved     gitHead: '527f97aa5bb253d927348698c0cd3bb267d098c6',
192 silly install resolved     bugs: { url: 'https://github.com/isaacs/sigmund/issues' },
192 silly install resolved     homepage: 'https://github.com/isaacs/sigmund#readme',
192 silly install resolved     _id: '[email protected]',
192 silly install resolved     _shasum: '3ff21f198cad2175f9f3b781853fd94d0d19b590',
192 silly install resolved     _from: 'sigmund@>=1.0.0 <1.1.0',
192 silly install resolved     _npmVersion: '2.10.0',
192 silly install resolved     _nodeVersion: '2.0.1',
192 silly install resolved     _npmUser: { name: 'isaacs', email: '[email protected]' },
192 silly install resolved     dist:
192 silly install resolved      { shasum: '3ff21f198cad2175f9f3b781853fd94d0d19b590',
192 silly install resolved        tarball: 'http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz' },
192 silly install resolved     maintainers: [ [Object] ],
192 silly install resolved     _resolved: 'https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz',
192 silly install resolved     readme: 'ERROR: No README data found!' },
192 silly install resolved   { name: 'bluebird',
192 silly install resolved     description: 'Full featured Promises/A+ implementation with exceptionally good performance',
192 silly install resolved     version: '2.10.2',
192 silly install resolved     keywords:
192 silly install resolved      [ 'promise',
192 silly install resolved        'performance',
192 silly install resolved        'promises',
192 silly install resolved        'promises-a',
192 silly install resolved        'promises-aplus',
192 silly install resolved        'async',
192 silly install resolved        'await',
192 silly install resolved        'deferred',
192 silly install resolved        'deferreds',
192 silly install resolved        'future',
192 silly install resolved        'flow control',
192 silly install resolved        'dsl',
192 silly install resolved        'fluent interface',
192 silly install resolved        'parallel',
192 silly install resolved        'thread',
192 silly install resolved        'concurrency' ],
192 silly install resolved     scripts:
192 silly install resolved      { lint: 'node scripts/jshint.js',
192 silly install resolved        test: 'node tools/test.js',
192 silly install resolved        istanbul: 'istanbul',
192 silly install resolved        prepublish: 'node tools/build.js --no-debug --main --zalgo --browser --minify',
192 silly install resolved        'generate-browser-core': 'node tools/build.js --features=core --no-debug --main --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js' },
192 silly install resolved     homepage: 'https://github.com/petkaantonov/bluebird',
192 silly install resolved     repository:
192 silly install resolved      { type: 'git',
192 silly install resolved        url: 'git://github.com/petkaantonov/bluebird.git' },
192 silly install resolved     bugs: { url: 'http://github.com/petkaantonov/bluebird/issues' },
192 silly install resolved     license: 'MIT',
192 silly install resolved     author:
192 silly install resolved      { name: 'Petka Antonov',
192 silly install resolved        email: '[email protected]',
192 silly install resolved        url: 'http://github.com/petkaantonov/' },
192 silly install resolved     devDependencies:
192 silly install resolved      { acorn: '~0.6.0',
192 silly install resolved        baconjs: '^0.7.43',
192 silly install resolved        bluebird: '^2.9.2',
192 silly install resolved        'body-parser': '^1.10.2',
192 silly install resolved        browserify: '^8.1.1',
192 silly install resolved        'cli-table': '~0.3.1',
192 silly install resolved        co: '^4.2.0',
192 silly install resolved        'cross-spawn': '^0.2.3',
192 silly install resolved        glob: '^4.3.2',
192 silly install resolved        'grunt-saucelabs': '~8.4.1',
192 silly install resolved        highland: '^2.3.0',
192 silly install resolved        istanbul: '^0.3.5',
192 silly install resolved        jshint: '^2.6.0',
192 silly install resolved        'jshint-stylish': '~0.2.0',
192 silly install resolved        mkdirp: '~0.5.0',
192 silly install resolved        mocha: '~2.1',
192 silly install resolved        open: '~0.0.5',
192 silly install resolved        optimist: '~0.6.1',
192 silly install resolved        rimraf: '~2.2.6',
192 silly install resolved        rx: '^2.3.25',
192 silly install resolved        'serve-static': '^1.7.1',
192 silly install resolved        sinon: '~1.7.3',
192 silly install resolved        'uglify-js': '~2.4.16',
192 silly install resolved        kefir: '^2.4.1' },
192 silly install resolved     main: './js/main/bluebird.js',
192 silly install resolved     browser: './js/browser/bluebird.js',
192 silly install resolved     files: [ 'js/browser', 'js/main', 'js/zalgo', 'zalgo.js' ],
192 silly install resolved     gitHead: '02c0fd252cf7c0c86e6b27bb06422c404829b539',
192 silly install resolved     _id: '[email protected]',
192 silly install resolved     _shasum: '024a5517295308857f14f91f1106fc3b555f446b',
192 silly install resolved     _from: 'bluebird@>=2.3.6 <3.0.0',
192 silly install resolved     _npmVersion: '2.11.1',
192 silly install resolved     _nodeVersion: '2.3.0',
192 silly install resolved     _npmUser: { name: 'esailija', email: '[email protected]' },
192 silly install resolved     maintainers: [ [Object] ],
192 silly install resolved     dist:
192 silly install resolved      { shasum: '024a5517295308857f14f91f1106fc3b555f446b',
192 silly install resolved        tarball: 'http://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz' },
192 silly install resolved     directories: {},
192 silly install resolved     _resolved: 'https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz',
192 silly install resolved     readme: 'ERROR: No README data found!' },
192 silly install resolved   { name: 'lru-cache',
192 silly install resolved     description: 'A cache object that deletes the least-recently-used items.',
192 silly install resolved     version: '2.0.4',
192 silly install resolved     author: { name: 'Isaac Z. Schlueter', email: '[email protected]' },
192 silly install resolved     scripts: { test: 'tap test' },
192 silly install resolved     main: 'lib/lru-cache.js',
192 silly install resolved     repository:
192 silly install resolved      { type: 'git',
192 silly install resolved        url: 'git://github.com/isaacs/node-lru-cache.git' },
192 silly install resolved     devDependencies: { tap: '' },
192 silly install resolved     license:
192 silly install resolved      { type: 'MIT',
192 silly install resolved        url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
192 silly install resolved     contributors:
192 silly install resolved      [ [Object],
192 silly install resolved        [Object],
192 silly install resolved        [Object],
192 silly install resolved        [Object],
192 silly install resolved        [Object],
192 silly install resolved        [Object],
192 silly install resolved        [Object] ],
192 silly install resolved     _id: '[email protected]',
192 silly install resolved     dist:
192 silly install resolved      { shasum: 'b8b61ae09848385ec6768760e39c123e7e39568a',
192 silly install resolved        tarball: 'http://registry.npmjs.org/lru-cache/-/lru-cache-2.0.4.tgz' },
192 silly install resolved     _npmVersion: '1.1.61',
192 silly install resolved     _npmUser: { name: 'isaacs', email: '[email protected]' },
192 silly install resolved     maintainers: [ [Object] ],
192 silly install resolved     directories: {},
192 silly install resolved     _shasum: 'b8b61ae09848385ec6768760e39c123e7e39568a',
192 silly install resolved     _resolved: 'https://registry.npmjs.org/lru-cache/-/lru-cache-2.0.4.tgz',
192 silly install resolved     _from: 'lru-cache@>=2.0.0 <2.1.0',
192 silly install resolved     bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
192 silly install resolved     readme: 'ERROR: No README data found!',
192 silly install resolved     homepage: 'https://github.com/isaacs/node-lru-cache#readme' },
192 silly install resolved   { name: 'commander',
192 silly install resolved     version: '1.1.1',
192 silly install resolved     description: 'the complete solution for node.js command-line programs',
192 silly install resolved     keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
192 silly install resolved     author: { name: 'TJ Holowaychuk', email: '[email protected]' },
192 silly install resolved     repository:
192 silly install resolved      { type: 'git',
192 silly install resolved        url: 'git+https://github.com/visionmedia/commander.js.git' },
192 silly install resolved     dependencies: { keypress: '0.1.x' },
192 silly install resolved     devDependencies: { should: '>= 0.0.1' },
192 silly install resolved     scripts: { test: 'make test' },
192 silly install resolved     main: 'index',
192 silly install resolved     engines: { node: '>= 0.6.x' },
192 silly install resolved     _id: '[email protected]',
192 silly install resolved     dist:
192 silly install resolved      { shasum: '50d1651868ae60eccff0a2d9f34595376bc6b041',
192 silly install resolved        tarball: 'http://registry.npmjs.org/commander/-/commander-1.1.1.tgz' },
192 silly install resolved     _npmVersion: '1.1.65',
192 silly install resolved     _npmUser: { name: 'tjholowaychuk', email: '[email protected]' },
192 silly install resolved     maintainers: [ [Object] ],
192 silly install resolved     directories: {},
192 silly install resolved     _shasum: '50d1651868ae60eccff0a2d9f34595376bc6b041',
192 silly install resolved     _resolved: 'https://registry.npmjs.org/commander/-/commander-1.1.1.tgz',
192 silly install resolved     _from: 'commander@>=1.1.1 <1.2.0',
192 silly install resolved     bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
192 silly install resolved     readme: 'ERROR: No README data found!',
192 silly install resolved     homepage: 'https://github.com/visionmedia/commander.js#readme' } ]
193 info install [email protected] into /usr/local/lib/node_modules/editorconfig
194 info install [email protected] into /usr/local/lib/node_modules/editorconfig
195 info install [email protected] into /usr/local/lib/node_modules/editorconfig
196 info install [email protected] into /usr/local/lib/node_modules/editorconfig
197 info installOne [email protected]
198 verbose installOne of sigmund to /usr/local/lib/node_modules/editorconfig not in flight; installing
199 info installOne [email protected]
200 verbose installOne of bluebird to /usr/local/lib/node_modules/editorconfig not in flight; installing
201 info installOne [email protected]
202 verbose installOne of lru-cache to /usr/local/lib/node_modules/editorconfig not in flight; installing
203 info installOne [email protected]
204 verbose installOne of commander to /usr/local/lib/node_modules/editorconfig not in flight; installing
205 verbose lock using /Users/arininsland/.npm/_locks/sigmund-5f7bac1fdd7a8df6.lock for /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
206 silly install write writing sigmund 1.0.1 to /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
207 verbose lock using /Users/arininsland/.npm/_locks/bluebird-dbd52049b13742c7.lock for /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
208 verbose lock using /Users/arininsland/.npm/_locks/lru-cache-99357b9ee0985e46.lock for /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
209 verbose lock using /Users/arininsland/.npm/_locks/commander-4df180e57fe3b5d1.lock for /usr/local/lib/node_modules/editorconfig/node_modules/commander
210 silly install write writing bluebird 2.10.2 to /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
211 silly install write writing lru-cache 2.0.4 to /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
212 silly install write writing commander 1.1.1 to /usr/local/lib/node_modules/editorconfig/node_modules/commander
213 verbose unbuild lib/node_modules/editorconfig/node_modules/sigmund
214 verbose unbuild lib/node_modules/editorconfig/node_modules/bluebird
215 verbose unbuild lib/node_modules/editorconfig/node_modules/lru-cache
216 verbose unbuild lib/node_modules/editorconfig/node_modules/commander
217 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/sigmund is being purged from base /usr/local
218 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
219 verbose tar unpack /Users/arininsland/.npm/sigmund/1.0.1/package.tgz
220 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
221 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/sigmund is being purged
222 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
223 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/bluebird is being purged from base /usr/local
224 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
225 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache is being purged from base /usr/local
226 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
227 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/commander is being purged from base /usr/local
228 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/commander
229 silly gunzTarPerm modes [ '755', '644' ]
230 verbose tar unpack /Users/arininsland/.npm/bluebird/2.10.2/package.tgz
231 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
232 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/bluebird is being purged
233 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
234 verbose tar unpack /Users/arininsland/.npm/lru-cache/2.0.4/package.tgz
235 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
236 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache is being purged
237 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
238 verbose tar unpack /Users/arininsland/.npm/commander/1.1.1/package.tgz
239 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig/node_modules/commander
240 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/commander is being purged
241 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/commander
242 silly gunzTarPerm modes [ '755', '644' ]
243 silly gunzTarPerm modes [ '755', '644' ]
244 silly gunzTarPerm modes [ '755', '644' ]
245 silly gunzTarPerm extractEntry package.json
246 silly gunzTarPerm extractEntry package.json
247 silly gunzTarPerm modified mode [ 'package.json', 436, 420 ]
248 silly gunzTarPerm extractEntry package.json
249 silly gunzTarPerm extractEntry package.json
250 silly gunzTarPerm extractEntry README.md
251 silly gunzTarPerm extractEntry LICENSE
252 silly gunzTarPerm extractEntry .npmignore
253 silly gunzTarPerm extractEntry README.md
254 silly gunzTarPerm extractEntry README.md
255 silly gunzTarPerm modified mode [ 'README.md', 436, 420 ]
256 silly gunzTarPerm extractEntry .npmignore
257 silly gunzTarPerm extractEntry index.js
258 silly gunzTarPerm extractEntry LICENSE
259 silly gunzTarPerm modified mode [ 'LICENSE', 436, 420 ]
260 silly gunzTarPerm extractEntry bench.js
261 silly gunzTarPerm extractEntry sigmund.js
262 silly gunzTarPerm extractEntry LICENSE
263 silly gunzTarPerm extractEntry AUTHORS
264 silly gunzTarPerm extractEntry changelog.md
265 silly gunzTarPerm modified mode [ 'changelog.md', 436, 420 ]
266 silly gunzTarPerm extractEntry js/browser/bluebird.js
267 silly gunzTarPerm modified mode [ 'js/browser/bluebird.js', 436, 420 ]
268 silly gunzTarPerm extractEntry .travis.yml
269 silly gunzTarPerm extractEntry js/browser/bluebird.min.js
270 silly gunzTarPerm modified mode [ 'js/browser/bluebird.min.js', 436, 420 ]
271 silly gunzTarPerm extractEntry lib/lru-cache.js
272 silly gunzTarPerm extractEntry test/basic.js
273 silly gunzTarPerm extractEntry test/basic.js
274 silly gunzTarPerm extractEntry History.md
275 silly gunzTarPerm extractEntry Makefile
276 silly gunzTarPerm extractEntry Readme.md
277 silly gunzTarPerm extractEntry js/main/any.js
278 silly gunzTarPerm modified mode [ 'js/main/any.js', 436, 420 ]
279 silly gunzTarPerm extractEntry js/main/finally.js
280 silly gunzTarPerm modified mode [ 'js/main/finally.js', 436, 420 ]
281 silly gunzTarPerm extractEntry js/main/generators.js
282 silly gunzTarPerm modified mode [ 'js/main/generators.js', 436, 420 ]
283 silly gunzTarPerm extractEntry js/main/join.js
284 silly gunzTarPerm modified mode [ 'js/main/join.js', 436, 420 ]
285 silly gunzTarPerm extractEntry js/main/filter.js
286 silly gunzTarPerm modified mode [ 'js/main/filter.js', 436, 420 ]
287 silly gunzTarPerm extractEntry js/main/method.js
288 silly gunzTarPerm modified mode [ 'js/main/method.js', 436, 420 ]
289 silly gunzTarPerm extractEntry js/main/nodeify.js
290 silly gunzTarPerm modified mode [ 'js/main/nodeify.js', 436, 420 ]
291 silly gunzTarPerm extractEntry js/main/progress.js
292 silly gunzTarPerm modified mode [ 'js/main/progress.js', 436, 420 ]
293 silly gunzTarPerm extractEntry js/main/promise.js
294 silly gunzTarPerm modified mode [ 'js/main/promise.js', 436, 420 ]
295 silly gunzTarPerm extractEntry js/main/promise_array.js
296 silly gunzTarPerm modified mode [ 'js/main/promise_array.js', 436, 420 ]
297 silly gunzTarPerm extractEntry js/main/es5.js
298 silly gunzTarPerm modified mode [ 'js/main/es5.js', 436, 420 ]
299 silly gunzTarPerm extractEntry js/main/promise_resolver.js
300 silly gunzTarPerm modified mode [ 'js/main/promise_resolver.js', 436, 420 ]
301 silly gunzTarPerm extractEntry js/main/errors.js
302 silly gunzTarPerm modified mode [ 'js/main/errors.js', 436, 420 ]
303 silly gunzTarPerm extractEntry js/main/promisify.js
304 silly gunzTarPerm modified mode [ 'js/main/promisify.js', 436, 420 ]
305 silly gunzTarPerm extractEntry js/main/each.js
306 silly gunzTarPerm modified mode [ 'js/main/each.js', 436, 420 ]
307 silly gunzTarPerm extractEntry js/main/props.js
308 silly gunzTarPerm modified mode [ 'js/main/props.js', 436, 420 ]
309 verbose write writing to /usr/local/lib/node_modules/editorconfig/node_modules/sigmund/package.json
310 silly gunzTarPerm extractEntry js/main/direct_resolve.js
311 silly gunzTarPerm modified mode [ 'js/main/direct_resolve.js', 436, 420 ]
312 info preinstall [email protected]
313 verbose write writing to /usr/local/lib/node_modules/editorconfig/node_modules/commander/package.json
314 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/sigmund/package.json
315 verbose write writing to /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache/package.json
316 info preinstall [email protected]
317 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/sigmund/package.json
318 info preinstall [email protected]
319 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/commander/package.json
320 silly gunzTarPerm extractEntry js/main/queue.js
321 silly gunzTarPerm modified mode [ 'js/main/queue.js', 436, 420 ]
322 silly gunzTarPerm extractEntry js/main/debuggability.js
323 silly gunzTarPerm modified mode [ 'js/main/debuggability.js', 436, 420 ]
324 silly gunzTarPerm extractEntry js/main/race.js
325 silly gunzTarPerm modified mode [ 'js/main/race.js', 436, 420 ]
326 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache/package.json
327 silly gunzTarPerm extractEntry js/main/context.js
328 silly gunzTarPerm modified mode [ 'js/main/context.js', 436, 420 ]
329 silly install resolved []
330 verbose about to build /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
331 info build /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
332 silly gunzTarPerm extractEntry js/main/reduce.js
333 silly gunzTarPerm modified mode [ 'js/main/reduce.js', 436, 420 ]
334 silly prepareForInstallMany adding [email protected] from commander dependencies
335 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/commander/package.json
336 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache/package.json
337 silly gunzTarPerm extractEntry js/main/catch_filter.js
338 silly gunzTarPerm modified mode [ 'js/main/catch_filter.js', 436, 420 ]
339 silly gunzTarPerm extractEntry js/main/schedule.js
340 silly gunzTarPerm modified mode [ 'js/main/schedule.js', 436, 420 ]
341 info linkStuff [email protected]
342 silly linkStuff [email protected] has /usr/local/lib/node_modules/editorconfig/node_modules as its parent node_modules
343 silly linkStuff [email protected] is part of a global install
344 silly linkStuff [email protected] is installed into a global node_modules
345 verbose linkBins [email protected]
346 verbose linkMans [email protected]
347 verbose rebuildBundles [email protected]
348 silly install resolved []
349 verbose about to build /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
350 info build /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
351 info install [email protected]
352 silly cache add args [ '[email protected]', null ]
353 verbose cache add spec [email protected]
354 silly cache add parsed spec Result {
354 silly cache add   raw: '[email protected]',
354 silly cache add   scope: null,
354 silly cache add   name: 'keypress',
354 silly cache add   rawSpec: '0.1.x',
354 silly cache add   spec: '>=0.1.0 <0.2.0',
354 silly cache add   type: 'range' }
355 silly addNamed keypress@>=0.1.0 <0.2.0
356 verbose addNamed ">=0.1.0 <0.2.0" is a valid semver range for keypress
357 silly addNameRange { name: 'keypress', range: '>=0.1.0 <0.2.0', hasData: false }
358 silly mapToRegistry name keypress
359 silly mapToRegistry using default registry
360 silly mapToRegistry registry https://registry.npmjs.org/
361 silly mapToRegistry uri https://registry.npmjs.org/keypress
362 verbose addNameRange registry:https://registry.npmjs.org/keypress not in flight; fetching
363 info postinstall [email protected]
364 info linkStuff [email protected]
365 silly linkStuff [email protected] has /usr/local/lib/node_modules/editorconfig/node_modules as its parent node_modules
366 silly linkStuff [email protected] is part of a global install
367 silly linkStuff [email protected] is installed into a global node_modules
368 silly gunzTarPerm extractEntry js/main/captured_trace.js
369 silly gunzTarPerm modified mode [ 'js/main/captured_trace.js', 436, 420 ]
370 silly gunzTarPerm extractEntry js/main/settle.js
371 silly gunzTarPerm modified mode [ 'js/main/settle.js', 436, 420 ]
372 verbose request uri https://registry.npmjs.org/keypress
373 verbose request no auth needed
374 info attempt registry request try #1 at 11:51:28 AM
375 verbose request using bearer token for auth
376 verbose etag "ER3AVGD62GK1JONYE2XCMBVCO"
377 http request GET https://registry.npmjs.org/keypress
378 verbose unlock done using /Users/arininsland/.npm/_locks/sigmund-5f7bac1fdd7a8df6.lock for /usr/local/lib/node_modules/editorconfig/node_modules/sigmund
379 verbose linkBins [email protected]
380 verbose linkMans [email protected]
381 verbose rebuildBundles [email protected]
382 info install [email protected]
383 info postinstall [email protected]
384 verbose unlock done using /Users/arininsland/.npm/_locks/lru-cache-99357b9ee0985e46.lock for /usr/local/lib/node_modules/editorconfig/node_modules/lru-cache
385 silly gunzTarPerm extractEntry js/main/cancel.js
386 silly gunzTarPerm modified mode [ 'js/main/cancel.js', 436, 420 ]
387 silly gunzTarPerm extractEntry js/main/some.js
388 silly gunzTarPerm modified mode [ 'js/main/some.js', 436, 420 ]
389 silly gunzTarPerm extractEntry js/main/call_get.js
390 silly gunzTarPerm modified mode [ 'js/main/call_get.js', 436, 420 ]
391 silly gunzTarPerm extractEntry js/main/synchronous_inspection.js
392 silly gunzTarPerm modified mode [ 'js/main/synchronous_inspection.js', 436, 420 ]
393 silly gunzTarPerm extractEntry js/main/bluebird.js
394 silly gunzTarPerm modified mode [ 'js/main/bluebird.js', 436, 420 ]
395 silly gunzTarPerm extractEntry js/main/thenables.js
396 silly gunzTarPerm modified mode [ 'js/main/thenables.js', 436, 420 ]
397 silly gunzTarPerm extractEntry js/main/bind.js
398 silly gunzTarPerm modified mode [ 'js/main/bind.js', 436, 420 ]
399 silly gunzTarPerm extractEntry js/main/timers.js
400 silly gunzTarPerm modified mode [ 'js/main/timers.js', 436, 420 ]
401 silly gunzTarPerm extractEntry js/main/async.js
402 silly gunzTarPerm modified mode [ 'js/main/async.js', 436, 420 ]
403 silly gunzTarPerm extractEntry js/main/using.js
404 silly gunzTarPerm modified mode [ 'js/main/using.js', 436, 420 ]
405 silly gunzTarPerm extractEntry js/main/assert.js
406 silly gunzTarPerm modified mode [ 'js/main/assert.js', 436, 420 ]
407 silly gunzTarPerm extractEntry js/main/util.js
408 silly gunzTarPerm modified mode [ 'js/main/util.js', 436, 420 ]
409 silly gunzTarPerm extractEntry js/main/map.js
410 silly gunzTarPerm modified mode [ 'js/main/map.js', 436, 420 ]
411 verbose write writing to /usr/local/lib/node_modules/editorconfig/node_modules/bluebird/package.json
412 info preinstall [email protected]
413 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/bluebird/package.json
414 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/bluebird/package.json
415 silly install resolved []
416 verbose about to build /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
417 info build /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
418 info linkStuff [email protected]
419 silly linkStuff [email protected] has /usr/local/lib/node_modules/editorconfig/node_modules as its parent node_modules
420 silly linkStuff [email protected] is part of a global install
421 silly linkStuff [email protected] is installed into a global node_modules
422 verbose linkBins [email protected]
423 verbose linkMans [email protected]
424 verbose rebuildBundles [email protected]
425 info install [email protected]
426 info postinstall [email protected]
427 verbose unlock done using /Users/arininsland/.npm/_locks/bluebird-dbd52049b13742c7.lock for /usr/local/lib/node_modules/editorconfig/node_modules/bluebird
428 http 304 https://registry.npmjs.org/keypress
429 verbose headers { 'cache-control': 'max-age=60',
429 verbose headers   'accept-ranges': 'bytes',
429 verbose headers   date: 'Mon, 19 Oct 2015 10:51:29 GMT',
429 verbose headers   via: '1.1 varnish',
429 verbose headers   connection: 'keep-alive',
429 verbose headers   'x-served-by': 'cache-ams4143-AMS',
429 verbose headers   'x-cache': 'MISS',
429 verbose headers   'x-cache-hits': '0',
429 verbose headers   'x-timer': 'S1445251888.722846,VS0,VE676' }
430 silly get cb [ 304,
430 silly get   { 'cache-control': 'max-age=60',
430 silly get     'accept-ranges': 'bytes',
430 silly get     date: 'Mon, 19 Oct 2015 10:51:29 GMT',
430 silly get     via: '1.1 varnish',
430 silly get     connection: 'keep-alive',
430 silly get     'x-served-by': 'cache-ams4143-AMS',
430 silly get     'x-cache': 'MISS',
430 silly get     'x-cache-hits': '0',
430 silly get     'x-timer': 'S1445251888.722846,VS0,VE676' } ]
431 verbose etag https://registry.npmjs.org/keypress from cache
432 verbose get saving keypress to /Users/arininsland/.npm/registry.npmjs.org/keypress/.cache.json
433 silly addNameRange number 2 { name: 'keypress', range: '>=0.1.0 <0.2.0', hasData: true }
434 silly addNameRange versions [ 'keypress', [ '0.0.1', '0.0.2', '0.1.0', '0.2.0', '0.2.1' ] ]
435 silly addNamed [email protected]
436 verbose addNamed "0.1.0" is a plain semver version for keypress
437 silly cache afterAdd [email protected]
438 verbose afterAdd /Users/arininsland/.npm/keypress/0.1.0/package/package.json not in flight; writing
439 verbose afterAdd /Users/arininsland/.npm/keypress/0.1.0/package/package.json written
440 silly install resolved [ { name: 'keypress',
440 silly install resolved     version: '0.1.0',
440 silly install resolved     description: 'Make any Node ReadableStream emit "keypress" events',
440 silly install resolved     author:
440 silly install resolved      { name: 'Nathan Rajlich',
440 silly install resolved        email: '[email protected]',
440 silly install resolved        url: 'http://tootallnate.net' },
440 silly install resolved     main: 'index.js',
440 silly install resolved     scripts: { test: 'echo "Error: no test specified" && exit 1' },
440 silly install resolved     repository:
440 silly install resolved      { type: 'git',
440 silly install resolved        url: 'git://github.com/TooTallNate/keypress.git' },
440 silly install resolved     keywords: [ 'keypress', 'readline', 'core' ],
440 silly install resolved     license: 'MIT',
440 silly install resolved     readme: 'keypress\n========\n### Make any Node ReadableStream emit "keypress" events\n\n\nPrevious to Node `v0.8.x`, there was an undocumented `"keypress"` event that\n`process.stdin` would emit when it was a TTY. Some people discovered this hidden\ngem, and started using it in their own code.\n\nNow in Node `v0.8.x`, this `"keypress"` event does not get emitted by default,\nbut rather only when it is being used in conjuction with the `readline` (or by\nextension, the `repl`) module.\n\nThis module is the exact logic from the node `v0.8.x` releases ripped out into its\nown module.\n\n__Bonus:__ Now with mouse support!\n\nInstallation\n------------\n\nInstall with `npm`:\n\n``` bash\n$ npm install keypress\n```\n\nOr add it to the `"dependencies"` section of your _package.json_ file.\n\n\nExample\n-------\n\n#### Listening for "keypress" events\n\n``` js\nvar keypress = require(\'keypress\');\n\n// make `process.stdin` begin emitting "keypress" events\nkeypress(process.stdin);\n\n// listen for the "keypress" event\nprocess.stdin.on(\'keypress\', function (ch, key) {\n  console.log(\'got "keypress"\', key);\n  if (key && key.ctrl && key.name == \'c\') {\n    process.stdin.pause();\n  }\n});\n\nprocess.stdin.setRawMode(true);\nprocess.stdin.resume();\n```\n\n#### Listening for "mousepress" events\n\n``` js\nvar keypress = require(\'keypress\');\n\n// make `process.stdin` begin emitting "mousepress" (and "keypress") events\nkeypress(process.stdin);\n\n// you must enable the mouse events before they will begin firing\nkeypress.enableMouse(process.stdout);\n\nprocess.stdin.on(\'mousepress\', function (info) {\n  console.log(\'got "mousepress" event at %d x %d\', info.x, info.y);\n});\n\nprocess.on(\'exit\', function () {\n  // disable mouse on exit, so that the state\n  // is back to normal for the terminal\n  keypress.disableMouse(process.stdout);\n});\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;[email protected]&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
440 silly install resolved     _id: '[email protected]',
440 silly install resolved     dist:
440 silly install resolved      { shasum: '4a3188d4291b66b4f65edb99f806aa9ae293592a',
440 silly install resolved        tarball: 'http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz' },
440 silly install resolved     maintainers: [ [Object] ],
440 silly install resolved     directories: {},
440 silly install resolved     _shasum: '4a3188d4291b66b4f65edb99f806aa9ae293592a',
440 silly install resolved     _resolved: 'https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz',
440 silly install resolved     _from: 'keypress@>=0.1.0 <0.2.0',
440 silly install resolved     bugs: { url: 'https://github.com/TooTallNate/keypress/issues' },
440 silly install resolved     homepage: 'https://github.com/TooTallNate/keypress#readme' } ]
441 info install [email protected] into /usr/local/lib/node_modules/editorconfig/node_modules/commander
442 info installOne [email protected]
443 verbose installOne of keypress to /usr/local/lib/node_modules/editorconfig/node_modules/commander not in flight; installing
444 verbose lock using /Users/arininsland/.npm/_locks/keypress-1b33b96b1ece1424.lock for /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
445 silly install write writing keypress 0.1.0 to /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
446 verbose unbuild lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
447 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress is being purged from base /usr/local
448 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
449 verbose tar unpack /Users/arininsland/.npm/keypress/0.1.0/package.tgz
450 verbose tar unpacking to /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
451 silly gentlyRm /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress is being purged
452 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
453 silly gunzTarPerm modes [ '755', '644' ]
454 silly gunzTarPerm extractEntry package.json
455 silly gunzTarPerm extractEntry README.md
456 silly gunzTarPerm extractEntry index.js
457 silly gunzTarPerm extractEntry test.js
458 verbose write writing to /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress/package.json
459 info preinstall [email protected]
460 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress/package.json
461 verbose readDependencies loading dependencies from /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress/package.json
462 silly install resolved []
463 verbose about to build /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
464 info build /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
465 info linkStuff [email protected]
466 silly linkStuff [email protected] has /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules as its parent node_modules
467 silly linkStuff [email protected] is part of a global install
468 silly linkStuff [email protected] is installed into a global node_modules
469 verbose linkBins [email protected]
470 verbose linkMans [email protected]
471 verbose rebuildBundles [email protected]
472 info install [email protected]
473 info postinstall [email protected]
474 verbose unlock done using /Users/arininsland/.npm/_locks/keypress-1b33b96b1ece1424.lock for /usr/local/lib/node_modules/editorconfig/node_modules/commander/node_modules/keypress
475 verbose about to build /usr/local/lib/node_modules/editorconfig/node_modules/commander
476 info build /usr/local/lib/node_modules/editorconfig/node_modules/commander
477 info linkStuff [email protected]
478 silly linkStuff [email protected] has /usr/local/lib/node_modules/editorconfig/node_modules as its parent node_modules
479 silly linkStuff [email protected] is part of a global install
480 silly linkStuff [email protected] is installed into a global node_modules
481 verbose linkBins [email protected]
482 verbose linkMans [email protected]
483 verbose rebuildBundles [email protected]
484 verbose rebuildBundles [ 'keypress' ]
485 info install [email protected]
486 info postinstall [email protected]
487 verbose unlock done using /Users/arininsland/.npm/_locks/commander-4df180e57fe3b5d1.lock for /usr/local/lib/node_modules/editorconfig/node_modules/commander
488 verbose about to build /usr/local/lib/node_modules/editorconfig
489 info build /usr/local/lib/node_modules/editorconfig
490 info linkStuff [email protected]
491 silly linkStuff [email protected] has /usr/local/lib/node_modules as its parent node_modules
492 silly linkStuff [email protected] is part of a global install
493 silly linkStuff [email protected] is installed into a global node_modules
494 silly linkStuff [email protected] is installed into the top-level global node_modules
495 verbose linkBins [email protected]
496 verbose link bins [ { editorconfig: 'bin\\editorconfig' }, '/usr/local/bin', true ]
497 verbose linkMans [email protected]
498 verbose rebuildBundles [email protected]
499 verbose rebuildBundles [ 'bluebird', 'commander', 'lru-cache', 'sigmund' ]
500 verbose unlock done using /Users/arininsland/.npm/_locks/editorconfig-3a3761e5238a0d00.lock for /usr/local/lib/node_modules/editorconfig
501 verbose stack Error: ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/editorconfig/bin\editorconfig'
501 verbose stack     at Error (native)
502 verbose cwd /Users/arininsland
503 error Darwin 14.5.0
504 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "editorconfig"
505 error node v4.2.1
506 error npm  v2.14.7
507 error path /usr/local/lib/node_modules/editorconfig/bin\editorconfig
508 error code ENOENT
509 error errno -2
510 error syscall chmod
511 error enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/editorconfig/bin\editorconfig'
511 error enoent This is most likely not a problem with npm itself
511 error enoent and is related to npm not being able to find a file.
512 verbose exit [ -2, true ]
513 verbose unbuild lib/node_modules/editorconfig
514 info preuninstall [email protected]
515 info uninstall [email protected]
516 verbose unbuild rmStuff [email protected] from /usr/local/lib/node_modules
517 silly gentlyRm /usr/local/bin/editorconfig is being gently removed
518 silly gentlyRm verifying /usr/local is an npm working directory
519 silly gentlyRm containing path /usr/local is under npm's control, in /usr/local
520 silly gentlyRm deletion target /usr/local/bin/editorconfig is under /usr/local
521 verbose gentlyRm vacuuming from /usr/local/bin/editorconfig up to /usr/local
522 info postuninstall [email protected]
523 silly gentlyRm /usr/local/lib/node_modules/editorconfig is being purged from base /usr/local
524 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/editorconfig
525 silly vacuum-fs purging /usr/local/lib/node_modules/editorconfig
526 silly vacuum-fs quitting because other entries in /usr/local/lib/node_modules

Add a license

An MIT license may be most appropriate. Both minimatch and iniparser are already licensed under MIT as well.

Update documentation

The README.md is not up-to-date. For example:

$ node
> var editorconfig = require('./editorconfig');
undefined
> editorconfig.parse('/home/zoidberg/humans/anatomy.md');
{ charset: 'utf-8',
    insert_final_newline: 'true',
    end_of_line: 'lf',
    tab_width: '8',
    trim_trailing_whitespace: 'sometimes' }

The parse function now returns a promise.

npm WARN deprecated

$ npm install -g eclint
npm WARN deprecated @types/[email protected]: This is a stub types definition for commander (https://github.com/tj/commander.js). commander provides its own type definitions, so you don't need @types/commander installed!
npm WARN deprecated [email protected]: Use uuid module instead
/home/travis/.nvm/versions/node/v9.11.1/bin/eclint -> /home/travis/.nvm/versions/node/v9.11.1/lib/node_modules/eclint/bin/eclint.js
+ [email protected]
added 286 packages in 13.368s

Broken resolution for paths that include `[` characters

I've discovered that .editorconfig settings are not discovered in paths as e.g. /Volumes/[C] 10 Edge/Users/xxx/some-package (on my side it's the path on which I can access Windows disk as exposed by Parallels Desktop)

I assume it's because of [ characters.

How to reproduce

1. Prepare same .editorconfig file in following two folders as e.g.

  • /Users/xxx/some-package
  • /Volumes/[C] 10 Edge/Users/xxx/some-package

2. Install editorconfig npm package in each of the folders

3. Create following test.js script in each of the folders:

const { parseSync } = require("editorconfig");

if (process.cwd() !== __dirname) {
  throw new Error("To expose the issue, working directory must be same as dir of a script")
}

console.log(
  parseSync("test.js", {
    root: __dirname
  })
);

4. Navigate into each of the directory and run node test.js. In first one content of .editorconfig will be resolved, in second one it will not

Add API tests

We do not currently have unit tests or tests for the public JavaScript API.

Extension misdetects a file

I keep seeing fold-root/subfold-root/fold/.file.yml: {"insertSpaces":true,"tabSize":4}, while I've clearly configured:

; fold-root/subfold-root/.editorconfig
root = true

[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

[*.yml,*.yaml]
indent_size = 2
u@h:fold-root $ npx editorconfig subfold-root/fold/.file.yml
.../share/pnpm/store/v3/tmp/dlx-131849   |   +9 +
.../share/pnpm/store/v3/tmp/dlx-131849   | Progress: resolved 9, reused 9, downloaded 0, added 9, done
end_of_line=lf
insert_final_newline=true
trim_trailing_whitespace=true
indent_style=space
indent_size=4
tab_width=4

Later matching rules should override earlier ones

Moved from sindresorhus/atom-editorconfig#151

Later rules for insert_final_newline aren't overriding earlier ones in the same file. According to editorconfig/editorconfig#278, they should. Note that the spec states that later rules override earlier ones and not more specific rules override more general ones.

When I save foo.js using atom-editorconfig (which uses this project), the configuration below correctly inserts a newline at the end. When I save foo.hbs, it incorrectly inserts a newline at the end.

Involved .editorconfig-files

root = true

[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 2

[*.hbs]
insert_final_newline = false

Directory structure

$ ls -am
., .., .editorconfig, foo.hbs, foo.js

Indent space not working propperly [Brackets]

I have this .editorconfig:

root = true

[*]
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{js, html, json, md}]
indent_size = 4

[*.{css, scss, sass, less}]
indent_size = 2

And the plugin is taking 4 spaces for less files, if I change the css rule to:

[*.less]
indent_size = 2

it works

I submitted a issue in the plugin project too: kidwm/brackets-editorconfig#8 (comment)

Sync parse functions

Since version 0.12 the parseand parseFromFiles function returns a promise. This effects a lot of libraries/code which expects a sync parsing of the editorconfig file. A change to promises and to async handling would effect the API of those libraries. Can we expose also functions like parseSync and parseFromFilesSync?

Single item wildcard set not applied correctly.

root = true
[*]
indent_size = 2
indent_style = space
[*.{ts}]
indent_size = 4

Actual Behavior:

$ npx editorconfig index.ts
indent_size=2
indent_style=space
tab_width=2

Expected Behavior:

$ npx editorconfig index.ts
indent_size=4
indent_style=space
tab_width=4

Workaround

Change [*.{ts}] to [*.ts] or to [*.{ts,js}]. The problem here appears to be that a set with a single item in it doesn't properly match items. You need to have at least two items in the set for it to match.

Create custom version of minimatch

Features that needed for a functional EditorConfig glob matcher:

  • ** should match in the same way as the C and Python libraries (e.g. **b should match /a/c/db)
  • {1..9} braces shouldn't expand

Ability to ignore path when included from external source

This started out as me tracking down what I thought was a bug in gulp-lintspaces or node-lintspaces. Here is a thread that describes most of my issue: schorfES/node-lintspaces#30

But it turns out, this may be more of a feature request, or at least a request for clarification. My ultimate goal is to use this gulp task to apply .editorconfig rules from a project dependency to my projects themselves;

var gulp = require('gulp');
var lintspaces = require("gulp-lintspaces");

...

gulp.task('lint', function() {
  return gulp.src('**/*')
    .pipe(lintspaces({
      editorconfig: './node_modules/@myorg/code-standards/.editorconfig'
    }))
    .pipe(lintspaces.reporter());
});

But I found that this gulp task doesn't apply the rules to all of the files in the gulp.src glob, but only if they're in the same subdirectory as the .editorconfig file specified in the task. I tracked that behavior down to this line https://github.com/editorconfig/editorconfig-core-js/blob/master/editorconfig.js#L87. It seems this is by design, based on how .editorconfig's default behavior is scoped. However, when including an .editorconfig file from a dependency using something like gulp-lintspaces, it would be nice to be able to override this default behavior and make the .editorconfig settings apply to everything in the gulp.src. That could probably be done with some sort of key passed into the options parameter for the editorconfig.parse() function, like global: true, or maybe the root key can already be used here to achieve what I want, with only slight, or no, modification.

RuntimeError: unreachable

RuntimeError: unreachable
    at null.<anonymous> (wasm://wasm/00051056:1:55953)
    at null.<anonymous> (wasm://wasm/00051056:1:62171)
    at null.<anonymous> (wasm://wasm/00051056:1:70209)
    at null.<anonymous> (wasm://wasm/00051056:1:70338)
    at null.<anonymous> (wasm://wasm/00051056:1:69214)
    at null.<anonymous> (wasm://wasm/00051056:1:17561)
    at null.<anonymous> (wasm://wasm/00051056:1:47453)
    at null.<anonymous> (wasm://wasm/00051056:1:58421)
    at null.<anonymous> (wasm://wasm/00051056:1:54915)
    at module.exports.parse_to_uint32array (/usr/src/app/node_modules/@one-ini/wasm/one_ini.js:235:14)
    at parseBuffer (/usr/src/app/node_modules/editorconfig/lib/index.js:58:52)
    at processFileContents (/usr/src/app/node_modules/editorconfig/lib/index.js:234:25)
    at getConfig (/usr/src/app/node_modules/editorconfig/lib/index.js:272:12)
    at getAllConfigs (/usr/src/app/node_modules/editorconfig/lib/index.js:310:24)
    at parse (/usr/src/app/node_modules/editorconfig/lib/index.js:440:21)

not sure why this happen

#
# .editorconfig
#
# http://editorconfig.org
#
# The EditorConfig project consists of a file format for defining coding styles
# and a collection of text editor plugins that enable editors to read the file
# format and adhere to defined styles.
#

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true

# package.json specific rules
[package.json]
indent_size = 2

# .yml specific rules
[*.yml]
indent_size = 2

Add cmake tests

I'm not sure how to do this yet.

@xuhdev do you know how to get this working with a node module?

Should * include binary files?

EditorConfig's * applies to all files, but should it?

$ editorconfig image.png 
indent_style=tab
end_of_line=lf
charset=utf-8
trim_trailing_whitespace=true
insert_final_newline=true

Does this make sense or should it output nothing on binary files?

Should the editor/tool have to include this check instead?

Create custom version of iniparser

Features that needed for a functional EditorConfig INI parser:

  • The order of sections needs to be maintained (array of objects instead of an object of objects)
  • The last ] character should be matched when parsing section headers (not the first)

Unset `unset` values

According to the spec, unset values should be considered as the definitions are not being provided in the .editorconfig file (they are "unset"), but reading the code, they are just only used as part of Typescript types. Is this on purpose so they can be passed down to the code using this library, or should they be filtered out so devs don't need to check for it explicitly? I think the second one... If so, I can create a quick PR for it.

Syntax

I am currently in the process creating various PRs to add a syntax property as per editorconfig/editorconfig#190

The idea is that a comma delimited string can be set to allow for the different language identifiers in different editors.

syntax = cpp14,cpp

The reasons for using a comma separated list are firstly, so there is a fallback if a syntax type cannot be found, and secondly for when syntax identifiers are different in different editors.

A good use case for this is C/C++ header files. When using .h for both, editors will decide the syntax based on the order of loaded plugins. If I have a plugin that associated .h files with C++14, then any C header file will have the wrong syntax set. I accept that I could use .hpp for C++ headers but not everyone is doing this, so the problem still exists. I can also set file associations in the editor settings, but this is tedious to change when switching projects.

Should this be added to the knownProps variable? if so I am happy to create the PR.

Add editorConfig properties to package.json?

In the spirit of ESLint and Babel, would it make sense to allow editorConfig settings in package.json?
I feel like it probably doesn't, but I wanted to have it documented either way to be definitive.

i.e.

"editorConfig" : {
}

Could also add presets: #31

Please release commit 188a8e4bda06f2653557fa28c8bacc549e10645b

I'm being affected by the #69 issue very indirectly (with react-native-version, which depends on js-beautify, which depends on editorconfig) because the global namespace is being invaded by node types, which conflicts with react-native globals.

You are absolutely right that you should publish type dependencies, except those who pollute the global namespace. Anyway, would be great to release this, so that I, and many other users, don't have TS typings breaking.

[Question] editorconfig does not load file specific configuation

When parsed, the following .editorconfig file:

# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Trailing blank lines
[*]
tab_width = 4
charset = utf-8
indent_size = tab
indent_style = tab
insert_final_newline = false
trim_trailing_whitespace = true

# file specific settings
[*{json, yml}]
indent_size = 2
indent_style = space

Returns the following object:

{
  "tab_width": 4,
  "charset": "utf-8",
  "indent_size": 4,
  "indent_style": "tab",
  "insert_final_newline": false,
  "trim_trailing_whitespace": true
}

In other words, the .json and .yml specific rules have been left out. Is the library meant to work this way, or can the addition of the above be considered?

Ability to retrieve the current configuration file path

Currently, there is no way to know which .editorconfig file is used when getting the configuration using parseSync: if we try to load the configuration from a path when there is no .editorconfig file, the package will travel through the file system to search for another .editorconfig file and finally retrieve the read configuration.

It should be great to be able to retrieve the configuration file name or file path to know which file is currently used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.