The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.
Please select the desired protocol below to get the URL.
This URL has Read-Only access.
main_repo / deps / npm / node_modules / npmconf / config-defs.js @ 5aef65a9
History | View | Annotate | Download (13.3 KB)
1 |
// defaults, types, and shorthands.
|
---|---|
2 |
|
3 |
|
4 |
var path = require("path") |
5 |
, url = require("url")
|
6 |
, Stream = require("stream").Stream
|
7 |
, semver = require("semver")
|
8 |
, stableFamily = semver.parse(process.version) |
9 |
, nopt = require("nopt")
|
10 |
, osenv = require("osenv")
|
11 |
|
12 |
try {
|
13 |
var log = require("npmlog") |
14 |
} catch (er) {
|
15 |
var util = require('util') |
16 |
var log = { warn: function (m) { |
17 |
console.warn(m + util.format.apply(util, [].slice.call(arguments, 1))) |
18 |
} } |
19 |
} |
20 |
|
21 |
exports.Octal = Octal |
22 |
function Octal () {} |
23 |
function validateOctal (data, k, val) { |
24 |
// must be either an integer or an octal string.
|
25 |
if (typeof val === "number") { |
26 |
data[k] = val |
27 |
return true |
28 |
} |
29 |
|
30 |
if (typeof val === "string") { |
31 |
if (val.charAt(0) !== "0" || isNaN(val)) return false |
32 |
data[k] = parseInt(val, 8).toString(8) |
33 |
} |
34 |
} |
35 |
|
36 |
function validateSemver (data, k, val) { |
37 |
if (!semver.valid(val)) return false |
38 |
data[k] = semver.valid(val) |
39 |
} |
40 |
|
41 |
function validateStream (data, k, val) { |
42 |
if (!(val instanceof Stream)) return false |
43 |
data[k] = val |
44 |
} |
45 |
|
46 |
nopt.typeDefs.semver = { type: semver, validate: validateSemver } |
47 |
nopt.typeDefs.Octal = { type: Octal, validate: validateOctal } |
48 |
nopt.typeDefs.Stream = { type: Stream, validate: validateStream } |
49 |
|
50 |
nopt.invalidHandler = function (k, val, type, data) { |
51 |
log.warn("invalid config", k + "=" + JSON.stringify(val)) |
52 |
|
53 |
if (Array.isArray(type)) {
|
54 |
if (type.indexOf(url) !== -1) type = url |
55 |
else if (type.indexOf(path) !== -1) type = path |
56 |
} |
57 |
|
58 |
switch (type) {
|
59 |
case Octal:
|
60 |
log.warn("invalid config", "Must be octal number, starting with 0") |
61 |
break
|
62 |
case url:
|
63 |
log.warn("invalid config", "Must be a full url with 'http://'") |
64 |
break
|
65 |
case path:
|
66 |
log.warn("invalid config", "Must be a valid filesystem path") |
67 |
break
|
68 |
case Number:
|
69 |
log.warn("invalid config", "Must be a numeric value") |
70 |
break
|
71 |
case Stream:
|
72 |
log.warn("invalid config", "Must be an instance of the Stream class") |
73 |
break
|
74 |
} |
75 |
} |
76 |
|
77 |
if (!stableFamily || (+stableFamily[2] % 2)) stableFamily = null |
78 |
else stableFamily = stableFamily[1] + "." + stableFamily[2] |
79 |
|
80 |
var defaults
|
81 |
|
82 |
var temp = osenv.tmpdir()
|
83 |
var home = osenv.home()
|
84 |
|
85 |
var uidOrPid = process.getuid ? process.getuid() : process.pid
|
86 |
|
87 |
if (home) process.env.HOME = home
|
88 |
else home = path.resolve(temp, "npm-" + uidOrPid) |
89 |
|
90 |
var cacheExtra = process.platform === "win32" ? "npm-cache" : ".npm" |
91 |
var cacheRoot = process.platform === "win32" && process.env.APPDATA || home |
92 |
var cache = path.resolve(cacheRoot, cacheExtra)
|
93 |
|
94 |
|
95 |
var globalPrefix
|
96 |
Object.defineProperty(exports, "defaults", {get: function () { |
97 |
if (defaults) return defaults |
98 |
|
99 |
if (process.env.PREFIX) {
|
100 |
globalPrefix = process.env.PREFIX |
101 |
} else if (process.platform === "win32") { |
102 |
// c:\node\node.exe --> prefix=c:\node\
|
103 |
globalPrefix = path.dirname(process.execPath)
|
104 |
} else {
|
105 |
// /usr/local/bin/node --> prefix=/usr/local
|
106 |
globalPrefix = path.dirname(path.dirname(process.execPath)) |
107 |
|
108 |
// destdir only is respected on Unix
|
109 |
if (process.env.DESTDIR) {
|
110 |
globalPrefix = path.join(process.env.DESTDIR, globalPrefix) |
111 |
} |
112 |
} |
113 |
|
114 |
return defaults =
|
115 |
{ "always-auth" : false |
116 |
, "bin-links" : true |
117 |
, browser : null |
118 |
|
119 |
, ca : // the npm CA certificate. |
120 |
[ "-----BEGIN CERTIFICATE-----\n"+
|
121 |
"MIIChzCCAfACCQDauvz/KHp8ejANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMC\n"+
|
122 |
"VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMQwwCgYDVQQKEwNucG0x\n"+
|
123 |
"IjAgBgNVBAsTGW5wbSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDjAMBgNVBAMTBW5w\n"+
|
124 |
"bUNBMRcwFQYJKoZIhvcNAQkBFghpQGl6cy5tZTAeFw0xMTA5MDUwMTQ3MTdaFw0y\n"+
|
125 |
"MTA5MDIwMTQ3MTdaMIGHMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNV\n"+
|
126 |
"BAcTB09ha2xhbmQxDDAKBgNVBAoTA25wbTEiMCAGA1UECxMZbnBtIENlcnRpZmlj\n"+
|
127 |
"YXRlIEF1dGhvcml0eTEOMAwGA1UEAxMFbnBtQ0ExFzAVBgkqhkiG9w0BCQEWCGlA\n"+
|
128 |
"aXpzLm1lMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLI4tIqPpRW+ACw9GE\n"+
|
129 |
"OgBlJZwK5f8nnKCLK629Pv5yJpQKs3DENExAyOgDcyaF0HD0zk8zTp+ZsLaNdKOz\n"+
|
130 |
"Gn2U181KGprGKAXP6DU6ByOJDWmTlY6+Ad1laYT0m64fERSpHw/hjD3D+iX4aMOl\n"+
|
131 |
"y0HdbT5m1ZGh6SJz3ZqxavhHLQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAC4ySDbC\n"+
|
132 |
"l7W1WpLmtLGEQ/yuMLUf6Jy/vr+CRp4h+UzL+IQpCv8FfxsYE7dhf/bmWTEupBkv\n"+
|
133 |
"yNL18lipt2jSvR3v6oAHAReotvdjqhxddpe5Holns6EQd1/xEZ7sB1YhQKJtvUrl\n"+
|
134 |
"ZNufy1Jf1r0ldEGeA+0ISck7s+xSh9rQD2Op\n"+
|
135 |
"-----END CERTIFICATE-----\n",
|
136 |
|
137 |
// "GlobalSign Root CA"
|
138 |
"-----BEGIN CERTIFICATE-----\n"+
|
139 |
"MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\n"+
|
140 |
"GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\n"+
|
141 |
"b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\n"+
|
142 |
"BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\n"+
|
143 |
"VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\n"+
|
144 |
"DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\n"+
|
145 |
"THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\n"+
|
146 |
"Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\n"+
|
147 |
"c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\n"+
|
148 |
"gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\n"+
|
149 |
"HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\n"+
|
150 |
"AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\n"+
|
151 |
"Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\n"+
|
152 |
"j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\n"+
|
153 |
"hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\n"+
|
154 |
"X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\n"+
|
155 |
"-----END CERTIFICATE-----\n",
|
156 |
|
157 |
// "GlobalSign Root CA - R2"
|
158 |
"-----BEGIN CERTIFICATE-----\n"+
|
159 |
"MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv\n"+
|
160 |
"YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh\n"+
|
161 |
"bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT\n"+
|
162 |
"aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln\n"+
|
163 |
"bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6\n"+
|
164 |
"ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp\n"+
|
165 |
"s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN\n"+
|
166 |
"S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL\n"+
|
167 |
"TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C\n"+
|
168 |
"ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\n"+
|
169 |
"FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i\n"+
|
170 |
"YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN\n"+
|
171 |
"BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp\n"+
|
172 |
"9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu\n"+
|
173 |
"01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7\n"+
|
174 |
"9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n"+
|
175 |
"TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n"+
|
176 |
"-----END CERTIFICATE-----\n" ]
|
177 |
|
178 |
|
179 |
, cache : cache
|
180 |
|
181 |
, "cache-lock-stale": 60000 |
182 |
, "cache-lock-retries": 10 |
183 |
, "cache-lock-wait": 10000 |
184 |
|
185 |
, "cache-max": Infinity |
186 |
, "cache-min": 10 |
187 |
|
188 |
, color : true |
189 |
, coverage: false |
190 |
, depth: Infinity |
191 |
, description : true |
192 |
, dev : false |
193 |
, editor : osenv.editor()
|
194 |
, "engine-strict": false |
195 |
, force : false |
196 |
|
197 |
, "fetch-retries": 2 |
198 |
, "fetch-retry-factor": 10 |
199 |
, "fetch-retry-mintimeout": 10000 |
200 |
, "fetch-retry-maxtimeout": 60000 |
201 |
|
202 |
, git: "git" |
203 |
|
204 |
, global : false |
205 |
, globalconfig : path.resolve(globalPrefix, "etc", "npmrc") |
206 |
, globalignorefile : path.resolve( globalPrefix, "etc", "npmignore") |
207 |
, group : process.platform === "win32" ? 0 |
208 |
: process.env.SUDO_GID || (process.getgid && process.getgid()) |
209 |
, ignore: "" |
210 |
, "init-module": path.resolve(home, '.npm-init.js') |
211 |
, "init.version" : "0.0.0" |
212 |
, "init.author.name" : "" |
213 |
, "init.author.email" : "" |
214 |
, "init.author.url" : "" |
215 |
, json: false |
216 |
, link: false |
217 |
, loglevel : "http" |
218 |
, logstream : process.stderr
|
219 |
, long : false |
220 |
, message : "%s" |
221 |
, "node-version" : process.version
|
222 |
, npaturl : "http://npat.npmjs.org/" |
223 |
, npat : false |
224 |
, "onload-script" : false |
225 |
, optional: true |
226 |
, parseable : false |
227 |
, pre: false |
228 |
, prefix : globalPrefix
|
229 |
, production: process.env.NODE_ENV === "production" |
230 |
, "proprietary-attribs": true |
231 |
, proxy : process.env.HTTP_PROXY || process.env.http_proxy || null |
232 |
, "https-proxy" : process.env.HTTPS_PROXY || process.env.https_proxy ||
|
233 |
process.env.HTTP_PROXY || process.env.http_proxy || null
|
234 |
, "user-agent" : "node/" + process.version |
235 |
+ ' ' + process.platform
|
236 |
+ ' ' + process.arch
|
237 |
, "rebuild-bundle" : true |
238 |
, registry : "https://registry.npmjs.org/" |
239 |
, rollback : true |
240 |
, save : false |
241 |
, "save-bundle": false |
242 |
, "save-dev" : false |
243 |
, "save-optional" : false |
244 |
, searchopts: "" |
245 |
, searchexclude: null |
246 |
, searchsort: "name" |
247 |
, shell : osenv.shell()
|
248 |
, "sign-git-tag": false |
249 |
, "strict-ssl": true |
250 |
, tag : "latest" |
251 |
, tmp : temp
|
252 |
, unicode : true |
253 |
, "unsafe-perm" : process.platform === "win32" |
254 |
|| process.platform === "cygwin"
|
255 |
|| !( process.getuid && process.setuid |
256 |
&& process.getgid && process.setgid ) |
257 |
|| process.getuid() !== 0
|
258 |
, usage : false |
259 |
, user : process.platform === "win32" ? 0 : "nobody" |
260 |
, username : "" |
261 |
, userconfig : path.resolve(home, ".npmrc") |
262 |
, userignorefile : path.resolve(home, ".npmignore") |
263 |
, umask: 022 |
264 |
, version : false |
265 |
, versions : false |
266 |
, viewer: process.platform === "win32" ? "browser" : "man" |
267 |
, yes: null |
268 |
|
269 |
, _exit : true |
270 |
} |
271 |
}}) |
272 |
|
273 |
exports.types = |
274 |
{ "always-auth" : Boolean
|
275 |
, "bin-links": Boolean
|
276 |
, browser : [null, String] |
277 |
, ca: [null, String, Array] |
278 |
, cache : path
|
279 |
, "cache-lock-stale": Number
|
280 |
, "cache-lock-retries": Number
|
281 |
, "cache-lock-wait": Number
|
282 |
, "cache-max": Number
|
283 |
, "cache-min": Number
|
284 |
, color : ["always", Boolean] |
285 |
, coverage: Boolean
|
286 |
, depth : Number
|
287 |
, description : Boolean
|
288 |
, dev : Boolean
|
289 |
, editor : String
|
290 |
, "engine-strict": Boolean
|
291 |
, force : Boolean
|
292 |
, "fetch-retries": Number
|
293 |
, "fetch-retry-factor": Number
|
294 |
, "fetch-retry-mintimeout": Number
|
295 |
, "fetch-retry-maxtimeout": Number
|
296 |
, git: String
|
297 |
, global : Boolean
|
298 |
, globalconfig : path
|
299 |
, globalignorefile: path
|
300 |
, group : [Number, String]
|
301 |
, "https-proxy" : [null, url] |
302 |
, "user-agent" : String
|
303 |
, ignore : String
|
304 |
, "init-module": path
|
305 |
, "init.version" : [null, semver] |
306 |
, "init.author.name" : String
|
307 |
, "init.author.email" : String
|
308 |
, "init.author.url" : ["", url] |
309 |
, json: Boolean
|
310 |
, link: Boolean
|
311 |
, loglevel : ["silent","win","error","warn","http","info","verbose","silly"] |
312 |
, logstream : Stream
|
313 |
, long : Boolean
|
314 |
, message: String
|
315 |
, "node-version" : [null, semver] |
316 |
, npaturl : url
|
317 |
, npat : Boolean
|
318 |
, "onload-script" : [null, String] |
319 |
, optional: Boolean
|
320 |
, parseable : Boolean
|
321 |
, pre: Boolean
|
322 |
, prefix: path
|
323 |
, production: Boolean
|
324 |
, "proprietary-attribs": Boolean
|
325 |
, proxy : [null, url] |
326 |
, "rebuild-bundle" : Boolean
|
327 |
, registry : [null, url] |
328 |
, rollback : Boolean
|
329 |
, save : Boolean
|
330 |
, "save-bundle": Boolean
|
331 |
, "save-dev" : Boolean
|
332 |
, "save-optional" : Boolean
|
333 |
, searchopts : String
|
334 |
, searchexclude: [null, String] |
335 |
, searchsort: [ "name", "-name" |
336 |
, "description", "-description" |
337 |
, "author", "-author" |
338 |
, "date", "-date" |
339 |
, "keywords", "-keywords" ] |
340 |
, shell : String
|
341 |
, "sign-git-tag": Boolean
|
342 |
, "strict-ssl": Boolean
|
343 |
, tag : String
|
344 |
, tmp : path
|
345 |
, unicode : Boolean
|
346 |
, "unsafe-perm" : Boolean
|
347 |
, usage : Boolean
|
348 |
, user : [Number, String]
|
349 |
, username : String
|
350 |
, userconfig : path
|
351 |
, userignorefile : path
|
352 |
, umask: Octal
|
353 |
, version : Boolean
|
354 |
, versions : Boolean
|
355 |
, viewer: String
|
356 |
, yes: [false, null, Boolean] |
357 |
, _exit : Boolean
|
358 |
, _password: String
|
359 |
} |
360 |
|
361 |
exports.shorthands = |
362 |
{ s : ["--loglevel", "silent"] |
363 |
, d : ["--loglevel", "info"] |
364 |
, dd : ["--loglevel", "verbose"] |
365 |
, ddd : ["--loglevel", "silly"] |
366 |
, noreg : ["--no-registry"] |
367 |
, reg : ["--registry"] |
368 |
, "no-reg" : ["--no-registry"] |
369 |
, silent : ["--loglevel", "silent"] |
370 |
, verbose : ["--loglevel", "verbose"] |
371 |
, quiet: ["--loglevel", "warn"] |
372 |
, q: ["--loglevel", "warn"] |
373 |
, h : ["--usage"] |
374 |
, H : ["--usage"] |
375 |
, "?" : ["--usage"] |
376 |
, help : ["--usage"] |
377 |
, v : ["--version"] |
378 |
, f : ["--force"] |
379 |
, gangster : ["--force"] |
380 |
, gangsta : ["--force"] |
381 |
, desc : ["--description"] |
382 |
, "no-desc" : ["--no-description"] |
383 |
, "local" : ["--no-global"] |
384 |
, l : ["--long"] |
385 |
, m : ["--message"] |
386 |
, p : ["--parseable"] |
387 |
, porcelain : ["--parseable"] |
388 |
, g : ["--global"] |
389 |
, S : ["--save"] |
390 |
, D : ["--save-dev"] |
391 |
, O : ["--save-optional"] |
392 |
, y : ["--yes"] |
393 |
, n : ["--no-yes"] |
394 |
, B : ["--save-bundle"] |
395 |
} |