├── .gitignore ├── .npmignore ├── README.md ├── bin └── machineId.js ├── index.js ├── package-lock.json ├── package.json └── test └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | *.map 2 | node_modules/ 3 | bower_components/ -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | *.map 2 | *.coffee 3 | test/ 4 | node_modules/ 5 | bower_components/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | machine-uuid 2 | -------- 3 | 4 | Get machine's hardware UUID on supported platform. If all else fails, then persist a randomly generated uuid in file 5 | $homedir/.nodemid 6 | 7 | ## Install 8 | 9 | npm install machine-uuid --save 10 | 11 | ## Basic example 12 | 13 | require("machine-uuid")(function(uuid) { 14 | console.log(uuid) 15 | }) 16 | 17 | # Or using Promise 18 | const machineUuid = require("machine-uuid") 19 | machineUuid().then((uuid)=>console.log(uuid)) 20 | 21 | -------------------------------------------------------------------------------- /bin/machineId.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require("../index")( function(id) { 3 | console.log(id) 4 | }) 5 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 2 | const {exec} = require("child_process"); 3 | const os = require("os"); 4 | const fs = require("fs"); 5 | const path = require("path"); 6 | const UUID = require('uuid'); 7 | let uuid; 8 | 9 | const uuidRegex = /\w{8}-\w{4}-\w{4}-\w{4}-\w{12}/; 10 | 11 | let defaultUuidFolder = os.homedir(); 12 | 13 | module.exports = function(cb) { 14 | if (cb === undefined) { 15 | return new Promise((resolve, reject)=>{ 16 | machineUuid(resolve); 17 | }) 18 | } 19 | else machineUuid(cb); 20 | } 21 | 22 | function machineUuid(cb) { 23 | if (uuid) { return setImmediate(() => cb(uuid)); } 24 | const platFormSpecific = { 25 | 'darwin': osxUuid, 26 | 'win32': winUuid, 27 | 'win64': winUuid, 28 | 'linux': linuxUuid 29 | }; 30 | const platformGetUuid = platFormSpecific[os.platform()]; 31 | if (platformGetUuid) { 32 | return platformGetUuid(function(err, id) { 33 | if (err) { 34 | return defaultUuid(cb); 35 | } else { 36 | return cb(uuid = id); 37 | } 38 | }); 39 | } else { 40 | return defaultUuid(cb); 41 | } 42 | }; 43 | 44 | var linuxUuid = function(cb) { 45 | try { 46 | 47 | uuid = fs.readFile("/var/lib/dbus/machine-id", function(err, content) { 48 | if (content) { // clean, add - and remove whitespace 49 | uuid = content.toString().replace(/\s+/, ''); 50 | if ((!/-/.test(uuid)) && (uuid.length > 20)) { 51 | uuid = uuid.slice(0, 8) + '-' + uuid.slice(8, 12) + '-' + uuid.slice(12, 16) + '-' + uuid.slice(16, 20) + '-' + uuid.slice(20); 52 | } 53 | } 54 | 55 | return cb(err, content ? uuid : undefined); 56 | }); 57 | } catch (e) { 58 | return defaultUuid(cb); 59 | } 60 | }; 61 | 62 | var osxUuid = cb => 63 | exec("ioreg -rd1 -c IOPlatformExpertDevice", function(err, stdout, stderr) { 64 | if (err) { return cb(err); } 65 | for (let line of Array.from(stdout.split("\n"))) { 66 | if (/IOPlatformUUID/.test(line) && uuidRegex.test(line)) { 67 | return cb(null, uuidRegex.exec(line)[0]); 68 | } 69 | } 70 | return cb(new Error("No match")); 71 | }) 72 | ; 73 | 74 | var winUuid = cb => 75 | exec("wmic CsProduct Get UUID", function(err, stdout, stderr) { 76 | if (err) { return cb(err); } 77 | for (let line of Array.from(stdout.split("\n"))) { 78 | if (uuidRegex.test(line)) { 79 | return cb(null, uuidRegex.exec(line)[0]); 80 | } 81 | } 82 | return cb(new Error("No match")); 83 | }) 84 | ; 85 | 86 | var defaultUuid = function(cb) { 87 | const f = path.resolve(defaultUuidFolder, '.nodemid'); 88 | if (fs.existsSync(f)) { 89 | return cb(fs.readFileSync(f).toString()); 90 | } else { 91 | const id = UUID.v1(); 92 | fs.writeFileSync(f, id); 93 | return cb(id); 94 | } 95 | }; 96 | 97 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "machine-uuid", 3 | "version": "1.2.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ansi-regex": { 8 | "version": "2.1.1", 9 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 10 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 11 | "dev": true 12 | }, 13 | "ansi-styles": { 14 | "version": "2.2.1", 15 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 16 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 17 | "dev": true 18 | }, 19 | "argparse": { 20 | "version": "1.0.9", 21 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 22 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 23 | "dev": true, 24 | "requires": { 25 | "sprintf-js": "1.0.3" 26 | } 27 | }, 28 | "asn1": { 29 | "version": "0.2.3", 30 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 31 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 32 | "dev": true 33 | }, 34 | "assert-plus": { 35 | "version": "0.2.0", 36 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 37 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 38 | "dev": true 39 | }, 40 | "asynckit": { 41 | "version": "0.4.0", 42 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 43 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 44 | "dev": true 45 | }, 46 | "aws-sign2": { 47 | "version": "0.6.0", 48 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 49 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 50 | "dev": true 51 | }, 52 | "aws4": { 53 | "version": "1.6.0", 54 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 55 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 56 | "dev": true 57 | }, 58 | "balanced-match": { 59 | "version": "1.0.0", 60 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 61 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 62 | "dev": true 63 | }, 64 | "bcrypt-pbkdf": { 65 | "version": "1.0.1", 66 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 67 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 68 | "dev": true, 69 | "optional": true, 70 | "requires": { 71 | "tweetnacl": "0.14.5" 72 | } 73 | }, 74 | "bind-obj-methods": { 75 | "version": "1.0.0", 76 | "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-1.0.0.tgz", 77 | "integrity": "sha1-T1l5ysFXk633DkiBYeRj4gnKUJw=", 78 | "dev": true 79 | }, 80 | "bluebird": { 81 | "version": "3.5.1", 82 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 83 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", 84 | "dev": true 85 | }, 86 | "boom": { 87 | "version": "2.10.1", 88 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 89 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 90 | "dev": true, 91 | "requires": { 92 | "hoek": "2.16.3" 93 | } 94 | }, 95 | "brace-expansion": { 96 | "version": "1.1.8", 97 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 98 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 99 | "dev": true, 100 | "requires": { 101 | "balanced-match": "1.0.0", 102 | "concat-map": "0.0.1" 103 | } 104 | }, 105 | "caseless": { 106 | "version": "0.11.0", 107 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 108 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 109 | "dev": true 110 | }, 111 | "chalk": { 112 | "version": "1.1.3", 113 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 114 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 115 | "dev": true, 116 | "requires": { 117 | "ansi-styles": "2.2.1", 118 | "escape-string-regexp": "1.0.5", 119 | "has-ansi": "2.0.0", 120 | "strip-ansi": "3.0.1", 121 | "supports-color": "2.0.0" 122 | } 123 | }, 124 | "clean-yaml-object": { 125 | "version": "0.1.0", 126 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 127 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 128 | "dev": true 129 | }, 130 | "color-support": { 131 | "version": "1.1.3", 132 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 133 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 134 | "dev": true 135 | }, 136 | "combined-stream": { 137 | "version": "1.0.5", 138 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 139 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 140 | "dev": true, 141 | "requires": { 142 | "delayed-stream": "1.0.0" 143 | } 144 | }, 145 | "commander": { 146 | "version": "2.12.2", 147 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", 148 | "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", 149 | "dev": true 150 | }, 151 | "concat-map": { 152 | "version": "0.0.1", 153 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 154 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 155 | "dev": true 156 | }, 157 | "core-util-is": { 158 | "version": "1.0.2", 159 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 160 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 161 | "dev": true 162 | }, 163 | "coveralls": { 164 | "version": "2.13.3", 165 | "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", 166 | "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==", 167 | "dev": true, 168 | "requires": { 169 | "js-yaml": "3.6.1", 170 | "lcov-parse": "0.0.10", 171 | "log-driver": "1.2.5", 172 | "minimist": "1.2.0", 173 | "request": "2.79.0" 174 | }, 175 | "dependencies": { 176 | "js-yaml": { 177 | "version": "3.6.1", 178 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", 179 | "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", 180 | "dev": true, 181 | "requires": { 182 | "argparse": "1.0.9", 183 | "esprima": "2.7.3" 184 | } 185 | } 186 | } 187 | }, 188 | "cross-spawn": { 189 | "version": "4.0.2", 190 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", 191 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", 192 | "dev": true, 193 | "requires": { 194 | "lru-cache": "4.1.1", 195 | "which": "1.3.0" 196 | } 197 | }, 198 | "cryptiles": { 199 | "version": "2.0.5", 200 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 201 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 202 | "dev": true, 203 | "requires": { 204 | "boom": "2.10.1" 205 | } 206 | }, 207 | "dashdash": { 208 | "version": "1.14.1", 209 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 210 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 211 | "dev": true, 212 | "requires": { 213 | "assert-plus": "1.0.0" 214 | }, 215 | "dependencies": { 216 | "assert-plus": { 217 | "version": "1.0.0", 218 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 219 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 220 | "dev": true 221 | } 222 | } 223 | }, 224 | "debug": { 225 | "version": "2.6.9", 226 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 227 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 228 | "dev": true, 229 | "requires": { 230 | "ms": "2.0.0" 231 | } 232 | }, 233 | "delayed-stream": { 234 | "version": "1.0.0", 235 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 236 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 237 | "dev": true 238 | }, 239 | "diff": { 240 | "version": "1.4.0", 241 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", 242 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", 243 | "dev": true 244 | }, 245 | "ecc-jsbn": { 246 | "version": "0.1.1", 247 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 248 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 249 | "dev": true, 250 | "optional": true, 251 | "requires": { 252 | "jsbn": "0.1.1" 253 | } 254 | }, 255 | "ejs": { 256 | "version": "2.5.7", 257 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", 258 | "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", 259 | "dev": true 260 | }, 261 | "escape-string-regexp": { 262 | "version": "1.0.5", 263 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 264 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 265 | "dev": true 266 | }, 267 | "esprima": { 268 | "version": "2.7.3", 269 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 270 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 271 | "dev": true 272 | }, 273 | "events-to-array": { 274 | "version": "1.1.2", 275 | "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", 276 | "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", 277 | "dev": true 278 | }, 279 | "extend": { 280 | "version": "3.0.1", 281 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 282 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 283 | "dev": true 284 | }, 285 | "extsprintf": { 286 | "version": "1.3.0", 287 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 288 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 289 | "dev": true 290 | }, 291 | "foreground-child": { 292 | "version": "1.5.6", 293 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", 294 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", 295 | "dev": true, 296 | "requires": { 297 | "cross-spawn": "4.0.2", 298 | "signal-exit": "3.0.2" 299 | } 300 | }, 301 | "forever-agent": { 302 | "version": "0.6.1", 303 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 304 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 305 | "dev": true 306 | }, 307 | "form-data": { 308 | "version": "2.1.4", 309 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 310 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 311 | "dev": true, 312 | "requires": { 313 | "asynckit": "0.4.0", 314 | "combined-stream": "1.0.5", 315 | "mime-types": "2.1.17" 316 | } 317 | }, 318 | "fs-exists-cached": { 319 | "version": "1.0.0", 320 | "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", 321 | "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", 322 | "dev": true 323 | }, 324 | "fs.realpath": { 325 | "version": "1.0.0", 326 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 327 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 328 | "dev": true 329 | }, 330 | "function-loop": { 331 | "version": "1.0.1", 332 | "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", 333 | "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", 334 | "dev": true 335 | }, 336 | "generate-function": { 337 | "version": "2.0.0", 338 | "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 339 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 340 | "dev": true 341 | }, 342 | "generate-object-property": { 343 | "version": "1.2.0", 344 | "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 345 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 346 | "dev": true, 347 | "requires": { 348 | "is-property": "1.0.2" 349 | } 350 | }, 351 | "getpass": { 352 | "version": "0.1.7", 353 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 354 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 355 | "dev": true, 356 | "requires": { 357 | "assert-plus": "1.0.0" 358 | }, 359 | "dependencies": { 360 | "assert-plus": { 361 | "version": "1.0.0", 362 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 363 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 364 | "dev": true 365 | } 366 | } 367 | }, 368 | "glob": { 369 | "version": "7.1.2", 370 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 371 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 372 | "dev": true, 373 | "requires": { 374 | "fs.realpath": "1.0.0", 375 | "inflight": "1.0.6", 376 | "inherits": "2.0.3", 377 | "minimatch": "3.0.4", 378 | "once": "1.4.0", 379 | "path-is-absolute": "1.0.1" 380 | } 381 | }, 382 | "har-validator": { 383 | "version": "2.0.6", 384 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 385 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 386 | "dev": true, 387 | "requires": { 388 | "chalk": "1.1.3", 389 | "commander": "2.12.2", 390 | "is-my-json-valid": "2.17.1", 391 | "pinkie-promise": "2.0.1" 392 | } 393 | }, 394 | "has-ansi": { 395 | "version": "2.0.0", 396 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 397 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 398 | "dev": true, 399 | "requires": { 400 | "ansi-regex": "2.1.1" 401 | } 402 | }, 403 | "hawk": { 404 | "version": "3.1.3", 405 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 406 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 407 | "dev": true, 408 | "requires": { 409 | "boom": "2.10.1", 410 | "cryptiles": "2.0.5", 411 | "hoek": "2.16.3", 412 | "sntp": "1.0.9" 413 | } 414 | }, 415 | "hoek": { 416 | "version": "2.16.3", 417 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 418 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 419 | "dev": true 420 | }, 421 | "http-signature": { 422 | "version": "1.1.1", 423 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 424 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 425 | "dev": true, 426 | "requires": { 427 | "assert-plus": "0.2.0", 428 | "jsprim": "1.4.1", 429 | "sshpk": "1.13.1" 430 | } 431 | }, 432 | "inflight": { 433 | "version": "1.0.6", 434 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 435 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 436 | "dev": true, 437 | "requires": { 438 | "once": "1.4.0", 439 | "wrappy": "1.0.2" 440 | } 441 | }, 442 | "inherits": { 443 | "version": "2.0.3", 444 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 445 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 446 | "dev": true 447 | }, 448 | "is-my-json-valid": { 449 | "version": "2.17.1", 450 | "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", 451 | "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==", 452 | "dev": true, 453 | "requires": { 454 | "generate-function": "2.0.0", 455 | "generate-object-property": "1.2.0", 456 | "jsonpointer": "4.0.1", 457 | "xtend": "4.0.1" 458 | } 459 | }, 460 | "is-property": { 461 | "version": "1.0.2", 462 | "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 463 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 464 | "dev": true 465 | }, 466 | "is-typedarray": { 467 | "version": "1.0.0", 468 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 469 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 470 | "dev": true 471 | }, 472 | "isarray": { 473 | "version": "1.0.0", 474 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 475 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 476 | "dev": true 477 | }, 478 | "isexe": { 479 | "version": "2.0.0", 480 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 481 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 482 | "dev": true 483 | }, 484 | "isstream": { 485 | "version": "0.1.2", 486 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 487 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 488 | "dev": true 489 | }, 490 | "js-yaml": { 491 | "version": "3.10.0", 492 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 493 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 494 | "dev": true, 495 | "requires": { 496 | "argparse": "1.0.9", 497 | "esprima": "4.0.0" 498 | }, 499 | "dependencies": { 500 | "esprima": { 501 | "version": "4.0.0", 502 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 503 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 504 | "dev": true 505 | } 506 | } 507 | }, 508 | "jsbn": { 509 | "version": "0.1.1", 510 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 511 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 512 | "dev": true, 513 | "optional": true 514 | }, 515 | "json-schema": { 516 | "version": "0.2.3", 517 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 518 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 519 | "dev": true 520 | }, 521 | "json-stringify-safe": { 522 | "version": "5.0.1", 523 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 524 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 525 | "dev": true 526 | }, 527 | "jsonpointer": { 528 | "version": "4.0.1", 529 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", 530 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 531 | "dev": true 532 | }, 533 | "jsprim": { 534 | "version": "1.4.1", 535 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 536 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 537 | "dev": true, 538 | "requires": { 539 | "assert-plus": "1.0.0", 540 | "extsprintf": "1.3.0", 541 | "json-schema": "0.2.3", 542 | "verror": "1.10.0" 543 | }, 544 | "dependencies": { 545 | "assert-plus": { 546 | "version": "1.0.0", 547 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 548 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 549 | "dev": true 550 | } 551 | } 552 | }, 553 | "lcov-parse": { 554 | "version": "0.0.10", 555 | "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", 556 | "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", 557 | "dev": true 558 | }, 559 | "log-driver": { 560 | "version": "1.2.5", 561 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", 562 | "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", 563 | "dev": true 564 | }, 565 | "lru-cache": { 566 | "version": "4.1.1", 567 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 568 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 569 | "dev": true, 570 | "requires": { 571 | "pseudomap": "1.0.2", 572 | "yallist": "2.1.2" 573 | } 574 | }, 575 | "mime-db": { 576 | "version": "1.30.0", 577 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", 578 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", 579 | "dev": true 580 | }, 581 | "mime-types": { 582 | "version": "2.1.17", 583 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", 584 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", 585 | "dev": true, 586 | "requires": { 587 | "mime-db": "1.30.0" 588 | } 589 | }, 590 | "minimatch": { 591 | "version": "3.0.4", 592 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 593 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 594 | "dev": true, 595 | "requires": { 596 | "brace-expansion": "1.1.8" 597 | } 598 | }, 599 | "minimist": { 600 | "version": "1.2.0", 601 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 602 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 603 | "dev": true 604 | }, 605 | "ms": { 606 | "version": "2.0.0", 607 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 608 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 609 | "dev": true 610 | }, 611 | "nodeunit": { 612 | "version": "0.11.2", 613 | "resolved": "https://registry.npmjs.org/nodeunit/-/nodeunit-0.11.2.tgz", 614 | "integrity": "sha512-rlr0Fgd66nLmWwgVFj40TZp5jo47/YqaPQtoHG78mt+DVQhaLhA8EJJYCf2lozgYplPv+jJMLt8bCP34zo05mQ==", 615 | "dev": true, 616 | "requires": { 617 | "ejs": "2.5.7", 618 | "tap": "10.7.3" 619 | } 620 | }, 621 | "nyc": { 622 | "version": "11.4.1", 623 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", 624 | "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", 625 | "dev": true, 626 | "requires": { 627 | "archy": "1.0.0", 628 | "arrify": "1.0.1", 629 | "caching-transform": "1.0.1", 630 | "convert-source-map": "1.5.1", 631 | "debug-log": "1.0.1", 632 | "default-require-extensions": "1.0.0", 633 | "find-cache-dir": "0.1.1", 634 | "find-up": "2.1.0", 635 | "foreground-child": "1.5.6", 636 | "glob": "7.1.2", 637 | "istanbul-lib-coverage": "1.1.1", 638 | "istanbul-lib-hook": "1.1.0", 639 | "istanbul-lib-instrument": "1.9.1", 640 | "istanbul-lib-report": "1.1.2", 641 | "istanbul-lib-source-maps": "1.2.2", 642 | "istanbul-reports": "1.1.3", 643 | "md5-hex": "1.3.0", 644 | "merge-source-map": "1.0.4", 645 | "micromatch": "2.3.11", 646 | "mkdirp": "0.5.1", 647 | "resolve-from": "2.0.0", 648 | "rimraf": "2.6.2", 649 | "signal-exit": "3.0.2", 650 | "spawn-wrap": "1.4.2", 651 | "test-exclude": "4.1.1", 652 | "yargs": "10.0.3", 653 | "yargs-parser": "8.0.0" 654 | }, 655 | "dependencies": { 656 | "align-text": { 657 | "version": "0.1.4", 658 | "bundled": true, 659 | "dev": true, 660 | "requires": { 661 | "kind-of": "3.2.2", 662 | "longest": "1.0.1", 663 | "repeat-string": "1.6.1" 664 | } 665 | }, 666 | "amdefine": { 667 | "version": "1.0.1", 668 | "bundled": true, 669 | "dev": true 670 | }, 671 | "ansi-regex": { 672 | "version": "2.1.1", 673 | "bundled": true, 674 | "dev": true 675 | }, 676 | "ansi-styles": { 677 | "version": "2.2.1", 678 | "bundled": true, 679 | "dev": true 680 | }, 681 | "append-transform": { 682 | "version": "0.4.0", 683 | "bundled": true, 684 | "dev": true, 685 | "requires": { 686 | "default-require-extensions": "1.0.0" 687 | } 688 | }, 689 | "archy": { 690 | "version": "1.0.0", 691 | "bundled": true, 692 | "dev": true 693 | }, 694 | "arr-diff": { 695 | "version": "2.0.0", 696 | "bundled": true, 697 | "dev": true, 698 | "requires": { 699 | "arr-flatten": "1.1.0" 700 | } 701 | }, 702 | "arr-flatten": { 703 | "version": "1.1.0", 704 | "bundled": true, 705 | "dev": true 706 | }, 707 | "array-unique": { 708 | "version": "0.2.1", 709 | "bundled": true, 710 | "dev": true 711 | }, 712 | "arrify": { 713 | "version": "1.0.1", 714 | "bundled": true, 715 | "dev": true 716 | }, 717 | "async": { 718 | "version": "1.5.2", 719 | "bundled": true, 720 | "dev": true 721 | }, 722 | "babel-code-frame": { 723 | "version": "6.26.0", 724 | "bundled": true, 725 | "dev": true, 726 | "requires": { 727 | "chalk": "1.1.3", 728 | "esutils": "2.0.2", 729 | "js-tokens": "3.0.2" 730 | } 731 | }, 732 | "babel-generator": { 733 | "version": "6.26.0", 734 | "bundled": true, 735 | "dev": true, 736 | "requires": { 737 | "babel-messages": "6.23.0", 738 | "babel-runtime": "6.26.0", 739 | "babel-types": "6.26.0", 740 | "detect-indent": "4.0.0", 741 | "jsesc": "1.3.0", 742 | "lodash": "4.17.4", 743 | "source-map": "0.5.7", 744 | "trim-right": "1.0.1" 745 | } 746 | }, 747 | "babel-messages": { 748 | "version": "6.23.0", 749 | "bundled": true, 750 | "dev": true, 751 | "requires": { 752 | "babel-runtime": "6.26.0" 753 | } 754 | }, 755 | "babel-runtime": { 756 | "version": "6.26.0", 757 | "bundled": true, 758 | "dev": true, 759 | "requires": { 760 | "core-js": "2.5.3", 761 | "regenerator-runtime": "0.11.1" 762 | } 763 | }, 764 | "babel-template": { 765 | "version": "6.26.0", 766 | "bundled": true, 767 | "dev": true, 768 | "requires": { 769 | "babel-runtime": "6.26.0", 770 | "babel-traverse": "6.26.0", 771 | "babel-types": "6.26.0", 772 | "babylon": "6.18.0", 773 | "lodash": "4.17.4" 774 | } 775 | }, 776 | "babel-traverse": { 777 | "version": "6.26.0", 778 | "bundled": true, 779 | "dev": true, 780 | "requires": { 781 | "babel-code-frame": "6.26.0", 782 | "babel-messages": "6.23.0", 783 | "babel-runtime": "6.26.0", 784 | "babel-types": "6.26.0", 785 | "babylon": "6.18.0", 786 | "debug": "2.6.9", 787 | "globals": "9.18.0", 788 | "invariant": "2.2.2", 789 | "lodash": "4.17.4" 790 | } 791 | }, 792 | "babel-types": { 793 | "version": "6.26.0", 794 | "bundled": true, 795 | "dev": true, 796 | "requires": { 797 | "babel-runtime": "6.26.0", 798 | "esutils": "2.0.2", 799 | "lodash": "4.17.4", 800 | "to-fast-properties": "1.0.3" 801 | } 802 | }, 803 | "babylon": { 804 | "version": "6.18.0", 805 | "bundled": true, 806 | "dev": true 807 | }, 808 | "balanced-match": { 809 | "version": "1.0.0", 810 | "bundled": true, 811 | "dev": true 812 | }, 813 | "brace-expansion": { 814 | "version": "1.1.8", 815 | "bundled": true, 816 | "dev": true, 817 | "requires": { 818 | "balanced-match": "1.0.0", 819 | "concat-map": "0.0.1" 820 | } 821 | }, 822 | "braces": { 823 | "version": "1.8.5", 824 | "bundled": true, 825 | "dev": true, 826 | "requires": { 827 | "expand-range": "1.8.2", 828 | "preserve": "0.2.0", 829 | "repeat-element": "1.1.2" 830 | } 831 | }, 832 | "builtin-modules": { 833 | "version": "1.1.1", 834 | "bundled": true, 835 | "dev": true 836 | }, 837 | "caching-transform": { 838 | "version": "1.0.1", 839 | "bundled": true, 840 | "dev": true, 841 | "requires": { 842 | "md5-hex": "1.3.0", 843 | "mkdirp": "0.5.1", 844 | "write-file-atomic": "1.3.4" 845 | } 846 | }, 847 | "camelcase": { 848 | "version": "1.2.1", 849 | "bundled": true, 850 | "dev": true, 851 | "optional": true 852 | }, 853 | "center-align": { 854 | "version": "0.1.3", 855 | "bundled": true, 856 | "dev": true, 857 | "optional": true, 858 | "requires": { 859 | "align-text": "0.1.4", 860 | "lazy-cache": "1.0.4" 861 | } 862 | }, 863 | "chalk": { 864 | "version": "1.1.3", 865 | "bundled": true, 866 | "dev": true, 867 | "requires": { 868 | "ansi-styles": "2.2.1", 869 | "escape-string-regexp": "1.0.5", 870 | "has-ansi": "2.0.0", 871 | "strip-ansi": "3.0.1", 872 | "supports-color": "2.0.0" 873 | } 874 | }, 875 | "cliui": { 876 | "version": "2.1.0", 877 | "bundled": true, 878 | "dev": true, 879 | "optional": true, 880 | "requires": { 881 | "center-align": "0.1.3", 882 | "right-align": "0.1.3", 883 | "wordwrap": "0.0.2" 884 | }, 885 | "dependencies": { 886 | "wordwrap": { 887 | "version": "0.0.2", 888 | "bundled": true, 889 | "dev": true, 890 | "optional": true 891 | } 892 | } 893 | }, 894 | "code-point-at": { 895 | "version": "1.1.0", 896 | "bundled": true, 897 | "dev": true 898 | }, 899 | "commondir": { 900 | "version": "1.0.1", 901 | "bundled": true, 902 | "dev": true 903 | }, 904 | "concat-map": { 905 | "version": "0.0.1", 906 | "bundled": true, 907 | "dev": true 908 | }, 909 | "convert-source-map": { 910 | "version": "1.5.1", 911 | "bundled": true, 912 | "dev": true 913 | }, 914 | "core-js": { 915 | "version": "2.5.3", 916 | "bundled": true, 917 | "dev": true 918 | }, 919 | "cross-spawn": { 920 | "version": "4.0.2", 921 | "bundled": true, 922 | "dev": true, 923 | "requires": { 924 | "lru-cache": "4.1.1", 925 | "which": "1.3.0" 926 | } 927 | }, 928 | "debug": { 929 | "version": "2.6.9", 930 | "bundled": true, 931 | "dev": true, 932 | "requires": { 933 | "ms": "2.0.0" 934 | } 935 | }, 936 | "debug-log": { 937 | "version": "1.0.1", 938 | "bundled": true, 939 | "dev": true 940 | }, 941 | "decamelize": { 942 | "version": "1.2.0", 943 | "bundled": true, 944 | "dev": true 945 | }, 946 | "default-require-extensions": { 947 | "version": "1.0.0", 948 | "bundled": true, 949 | "dev": true, 950 | "requires": { 951 | "strip-bom": "2.0.0" 952 | } 953 | }, 954 | "detect-indent": { 955 | "version": "4.0.0", 956 | "bundled": true, 957 | "dev": true, 958 | "requires": { 959 | "repeating": "2.0.1" 960 | } 961 | }, 962 | "error-ex": { 963 | "version": "1.3.1", 964 | "bundled": true, 965 | "dev": true, 966 | "requires": { 967 | "is-arrayish": "0.2.1" 968 | } 969 | }, 970 | "escape-string-regexp": { 971 | "version": "1.0.5", 972 | "bundled": true, 973 | "dev": true 974 | }, 975 | "esutils": { 976 | "version": "2.0.2", 977 | "bundled": true, 978 | "dev": true 979 | }, 980 | "execa": { 981 | "version": "0.7.0", 982 | "bundled": true, 983 | "dev": true, 984 | "requires": { 985 | "cross-spawn": "5.1.0", 986 | "get-stream": "3.0.0", 987 | "is-stream": "1.1.0", 988 | "npm-run-path": "2.0.2", 989 | "p-finally": "1.0.0", 990 | "signal-exit": "3.0.2", 991 | "strip-eof": "1.0.0" 992 | }, 993 | "dependencies": { 994 | "cross-spawn": { 995 | "version": "5.1.0", 996 | "bundled": true, 997 | "dev": true, 998 | "requires": { 999 | "lru-cache": "4.1.1", 1000 | "shebang-command": "1.2.0", 1001 | "which": "1.3.0" 1002 | } 1003 | } 1004 | } 1005 | }, 1006 | "expand-brackets": { 1007 | "version": "0.1.5", 1008 | "bundled": true, 1009 | "dev": true, 1010 | "requires": { 1011 | "is-posix-bracket": "0.1.1" 1012 | } 1013 | }, 1014 | "expand-range": { 1015 | "version": "1.8.2", 1016 | "bundled": true, 1017 | "dev": true, 1018 | "requires": { 1019 | "fill-range": "2.2.3" 1020 | } 1021 | }, 1022 | "extglob": { 1023 | "version": "0.3.2", 1024 | "bundled": true, 1025 | "dev": true, 1026 | "requires": { 1027 | "is-extglob": "1.0.0" 1028 | } 1029 | }, 1030 | "filename-regex": { 1031 | "version": "2.0.1", 1032 | "bundled": true, 1033 | "dev": true 1034 | }, 1035 | "fill-range": { 1036 | "version": "2.2.3", 1037 | "bundled": true, 1038 | "dev": true, 1039 | "requires": { 1040 | "is-number": "2.1.0", 1041 | "isobject": "2.1.0", 1042 | "randomatic": "1.1.7", 1043 | "repeat-element": "1.1.2", 1044 | "repeat-string": "1.6.1" 1045 | } 1046 | }, 1047 | "find-cache-dir": { 1048 | "version": "0.1.1", 1049 | "bundled": true, 1050 | "dev": true, 1051 | "requires": { 1052 | "commondir": "1.0.1", 1053 | "mkdirp": "0.5.1", 1054 | "pkg-dir": "1.0.0" 1055 | } 1056 | }, 1057 | "find-up": { 1058 | "version": "2.1.0", 1059 | "bundled": true, 1060 | "dev": true, 1061 | "requires": { 1062 | "locate-path": "2.0.0" 1063 | } 1064 | }, 1065 | "for-in": { 1066 | "version": "1.0.2", 1067 | "bundled": true, 1068 | "dev": true 1069 | }, 1070 | "for-own": { 1071 | "version": "0.1.5", 1072 | "bundled": true, 1073 | "dev": true, 1074 | "requires": { 1075 | "for-in": "1.0.2" 1076 | } 1077 | }, 1078 | "foreground-child": { 1079 | "version": "1.5.6", 1080 | "bundled": true, 1081 | "dev": true, 1082 | "requires": { 1083 | "cross-spawn": "4.0.2", 1084 | "signal-exit": "3.0.2" 1085 | } 1086 | }, 1087 | "fs.realpath": { 1088 | "version": "1.0.0", 1089 | "bundled": true, 1090 | "dev": true 1091 | }, 1092 | "get-caller-file": { 1093 | "version": "1.0.2", 1094 | "bundled": true, 1095 | "dev": true 1096 | }, 1097 | "get-stream": { 1098 | "version": "3.0.0", 1099 | "bundled": true, 1100 | "dev": true 1101 | }, 1102 | "glob": { 1103 | "version": "7.1.2", 1104 | "bundled": true, 1105 | "dev": true, 1106 | "requires": { 1107 | "fs.realpath": "1.0.0", 1108 | "inflight": "1.0.6", 1109 | "inherits": "2.0.3", 1110 | "minimatch": "3.0.4", 1111 | "once": "1.4.0", 1112 | "path-is-absolute": "1.0.1" 1113 | } 1114 | }, 1115 | "glob-base": { 1116 | "version": "0.3.0", 1117 | "bundled": true, 1118 | "dev": true, 1119 | "requires": { 1120 | "glob-parent": "2.0.0", 1121 | "is-glob": "2.0.1" 1122 | } 1123 | }, 1124 | "glob-parent": { 1125 | "version": "2.0.0", 1126 | "bundled": true, 1127 | "dev": true, 1128 | "requires": { 1129 | "is-glob": "2.0.1" 1130 | } 1131 | }, 1132 | "globals": { 1133 | "version": "9.18.0", 1134 | "bundled": true, 1135 | "dev": true 1136 | }, 1137 | "graceful-fs": { 1138 | "version": "4.1.11", 1139 | "bundled": true, 1140 | "dev": true 1141 | }, 1142 | "handlebars": { 1143 | "version": "4.0.11", 1144 | "bundled": true, 1145 | "dev": true, 1146 | "requires": { 1147 | "async": "1.5.2", 1148 | "optimist": "0.6.1", 1149 | "source-map": "0.4.4", 1150 | "uglify-js": "2.8.29" 1151 | }, 1152 | "dependencies": { 1153 | "source-map": { 1154 | "version": "0.4.4", 1155 | "bundled": true, 1156 | "dev": true, 1157 | "requires": { 1158 | "amdefine": "1.0.1" 1159 | } 1160 | } 1161 | } 1162 | }, 1163 | "has-ansi": { 1164 | "version": "2.0.0", 1165 | "bundled": true, 1166 | "dev": true, 1167 | "requires": { 1168 | "ansi-regex": "2.1.1" 1169 | } 1170 | }, 1171 | "has-flag": { 1172 | "version": "1.0.0", 1173 | "bundled": true, 1174 | "dev": true 1175 | }, 1176 | "hosted-git-info": { 1177 | "version": "2.5.0", 1178 | "bundled": true, 1179 | "dev": true 1180 | }, 1181 | "imurmurhash": { 1182 | "version": "0.1.4", 1183 | "bundled": true, 1184 | "dev": true 1185 | }, 1186 | "inflight": { 1187 | "version": "1.0.6", 1188 | "bundled": true, 1189 | "dev": true, 1190 | "requires": { 1191 | "once": "1.4.0", 1192 | "wrappy": "1.0.2" 1193 | } 1194 | }, 1195 | "inherits": { 1196 | "version": "2.0.3", 1197 | "bundled": true, 1198 | "dev": true 1199 | }, 1200 | "invariant": { 1201 | "version": "2.2.2", 1202 | "bundled": true, 1203 | "dev": true, 1204 | "requires": { 1205 | "loose-envify": "1.3.1" 1206 | } 1207 | }, 1208 | "invert-kv": { 1209 | "version": "1.0.0", 1210 | "bundled": true, 1211 | "dev": true 1212 | }, 1213 | "is-arrayish": { 1214 | "version": "0.2.1", 1215 | "bundled": true, 1216 | "dev": true 1217 | }, 1218 | "is-buffer": { 1219 | "version": "1.1.6", 1220 | "bundled": true, 1221 | "dev": true 1222 | }, 1223 | "is-builtin-module": { 1224 | "version": "1.0.0", 1225 | "bundled": true, 1226 | "dev": true, 1227 | "requires": { 1228 | "builtin-modules": "1.1.1" 1229 | } 1230 | }, 1231 | "is-dotfile": { 1232 | "version": "1.0.3", 1233 | "bundled": true, 1234 | "dev": true 1235 | }, 1236 | "is-equal-shallow": { 1237 | "version": "0.1.3", 1238 | "bundled": true, 1239 | "dev": true, 1240 | "requires": { 1241 | "is-primitive": "2.0.0" 1242 | } 1243 | }, 1244 | "is-extendable": { 1245 | "version": "0.1.1", 1246 | "bundled": true, 1247 | "dev": true 1248 | }, 1249 | "is-extglob": { 1250 | "version": "1.0.0", 1251 | "bundled": true, 1252 | "dev": true 1253 | }, 1254 | "is-finite": { 1255 | "version": "1.0.2", 1256 | "bundled": true, 1257 | "dev": true, 1258 | "requires": { 1259 | "number-is-nan": "1.0.1" 1260 | } 1261 | }, 1262 | "is-fullwidth-code-point": { 1263 | "version": "1.0.0", 1264 | "bundled": true, 1265 | "dev": true, 1266 | "requires": { 1267 | "number-is-nan": "1.0.1" 1268 | } 1269 | }, 1270 | "is-glob": { 1271 | "version": "2.0.1", 1272 | "bundled": true, 1273 | "dev": true, 1274 | "requires": { 1275 | "is-extglob": "1.0.0" 1276 | } 1277 | }, 1278 | "is-number": { 1279 | "version": "2.1.0", 1280 | "bundled": true, 1281 | "dev": true, 1282 | "requires": { 1283 | "kind-of": "3.2.2" 1284 | } 1285 | }, 1286 | "is-posix-bracket": { 1287 | "version": "0.1.1", 1288 | "bundled": true, 1289 | "dev": true 1290 | }, 1291 | "is-primitive": { 1292 | "version": "2.0.0", 1293 | "bundled": true, 1294 | "dev": true 1295 | }, 1296 | "is-stream": { 1297 | "version": "1.1.0", 1298 | "bundled": true, 1299 | "dev": true 1300 | }, 1301 | "is-utf8": { 1302 | "version": "0.2.1", 1303 | "bundled": true, 1304 | "dev": true 1305 | }, 1306 | "isarray": { 1307 | "version": "1.0.0", 1308 | "bundled": true, 1309 | "dev": true 1310 | }, 1311 | "isexe": { 1312 | "version": "2.0.0", 1313 | "bundled": true, 1314 | "dev": true 1315 | }, 1316 | "isobject": { 1317 | "version": "2.1.0", 1318 | "bundled": true, 1319 | "dev": true, 1320 | "requires": { 1321 | "isarray": "1.0.0" 1322 | } 1323 | }, 1324 | "istanbul-lib-coverage": { 1325 | "version": "1.1.1", 1326 | "bundled": true, 1327 | "dev": true 1328 | }, 1329 | "istanbul-lib-hook": { 1330 | "version": "1.1.0", 1331 | "bundled": true, 1332 | "dev": true, 1333 | "requires": { 1334 | "append-transform": "0.4.0" 1335 | } 1336 | }, 1337 | "istanbul-lib-instrument": { 1338 | "version": "1.9.1", 1339 | "bundled": true, 1340 | "dev": true, 1341 | "requires": { 1342 | "babel-generator": "6.26.0", 1343 | "babel-template": "6.26.0", 1344 | "babel-traverse": "6.26.0", 1345 | "babel-types": "6.26.0", 1346 | "babylon": "6.18.0", 1347 | "istanbul-lib-coverage": "1.1.1", 1348 | "semver": "5.4.1" 1349 | } 1350 | }, 1351 | "istanbul-lib-report": { 1352 | "version": "1.1.2", 1353 | "bundled": true, 1354 | "dev": true, 1355 | "requires": { 1356 | "istanbul-lib-coverage": "1.1.1", 1357 | "mkdirp": "0.5.1", 1358 | "path-parse": "1.0.5", 1359 | "supports-color": "3.2.3" 1360 | }, 1361 | "dependencies": { 1362 | "supports-color": { 1363 | "version": "3.2.3", 1364 | "bundled": true, 1365 | "dev": true, 1366 | "requires": { 1367 | "has-flag": "1.0.0" 1368 | } 1369 | } 1370 | } 1371 | }, 1372 | "istanbul-lib-source-maps": { 1373 | "version": "1.2.2", 1374 | "bundled": true, 1375 | "dev": true, 1376 | "requires": { 1377 | "debug": "3.1.0", 1378 | "istanbul-lib-coverage": "1.1.1", 1379 | "mkdirp": "0.5.1", 1380 | "rimraf": "2.6.2", 1381 | "source-map": "0.5.7" 1382 | }, 1383 | "dependencies": { 1384 | "debug": { 1385 | "version": "3.1.0", 1386 | "bundled": true, 1387 | "dev": true, 1388 | "requires": { 1389 | "ms": "2.0.0" 1390 | } 1391 | } 1392 | } 1393 | }, 1394 | "istanbul-reports": { 1395 | "version": "1.1.3", 1396 | "bundled": true, 1397 | "dev": true, 1398 | "requires": { 1399 | "handlebars": "4.0.11" 1400 | } 1401 | }, 1402 | "js-tokens": { 1403 | "version": "3.0.2", 1404 | "bundled": true, 1405 | "dev": true 1406 | }, 1407 | "jsesc": { 1408 | "version": "1.3.0", 1409 | "bundled": true, 1410 | "dev": true 1411 | }, 1412 | "kind-of": { 1413 | "version": "3.2.2", 1414 | "bundled": true, 1415 | "dev": true, 1416 | "requires": { 1417 | "is-buffer": "1.1.6" 1418 | } 1419 | }, 1420 | "lazy-cache": { 1421 | "version": "1.0.4", 1422 | "bundled": true, 1423 | "dev": true, 1424 | "optional": true 1425 | }, 1426 | "lcid": { 1427 | "version": "1.0.0", 1428 | "bundled": true, 1429 | "dev": true, 1430 | "requires": { 1431 | "invert-kv": "1.0.0" 1432 | } 1433 | }, 1434 | "load-json-file": { 1435 | "version": "1.1.0", 1436 | "bundled": true, 1437 | "dev": true, 1438 | "requires": { 1439 | "graceful-fs": "4.1.11", 1440 | "parse-json": "2.2.0", 1441 | "pify": "2.3.0", 1442 | "pinkie-promise": "2.0.1", 1443 | "strip-bom": "2.0.0" 1444 | } 1445 | }, 1446 | "locate-path": { 1447 | "version": "2.0.0", 1448 | "bundled": true, 1449 | "dev": true, 1450 | "requires": { 1451 | "p-locate": "2.0.0", 1452 | "path-exists": "3.0.0" 1453 | }, 1454 | "dependencies": { 1455 | "path-exists": { 1456 | "version": "3.0.0", 1457 | "bundled": true, 1458 | "dev": true 1459 | } 1460 | } 1461 | }, 1462 | "lodash": { 1463 | "version": "4.17.4", 1464 | "bundled": true, 1465 | "dev": true 1466 | }, 1467 | "longest": { 1468 | "version": "1.0.1", 1469 | "bundled": true, 1470 | "dev": true 1471 | }, 1472 | "loose-envify": { 1473 | "version": "1.3.1", 1474 | "bundled": true, 1475 | "dev": true, 1476 | "requires": { 1477 | "js-tokens": "3.0.2" 1478 | } 1479 | }, 1480 | "lru-cache": { 1481 | "version": "4.1.1", 1482 | "bundled": true, 1483 | "dev": true, 1484 | "requires": { 1485 | "pseudomap": "1.0.2", 1486 | "yallist": "2.1.2" 1487 | } 1488 | }, 1489 | "md5-hex": { 1490 | "version": "1.3.0", 1491 | "bundled": true, 1492 | "dev": true, 1493 | "requires": { 1494 | "md5-o-matic": "0.1.1" 1495 | } 1496 | }, 1497 | "md5-o-matic": { 1498 | "version": "0.1.1", 1499 | "bundled": true, 1500 | "dev": true 1501 | }, 1502 | "mem": { 1503 | "version": "1.1.0", 1504 | "bundled": true, 1505 | "dev": true, 1506 | "requires": { 1507 | "mimic-fn": "1.1.0" 1508 | } 1509 | }, 1510 | "merge-source-map": { 1511 | "version": "1.0.4", 1512 | "bundled": true, 1513 | "dev": true, 1514 | "requires": { 1515 | "source-map": "0.5.7" 1516 | } 1517 | }, 1518 | "micromatch": { 1519 | "version": "2.3.11", 1520 | "bundled": true, 1521 | "dev": true, 1522 | "requires": { 1523 | "arr-diff": "2.0.0", 1524 | "array-unique": "0.2.1", 1525 | "braces": "1.8.5", 1526 | "expand-brackets": "0.1.5", 1527 | "extglob": "0.3.2", 1528 | "filename-regex": "2.0.1", 1529 | "is-extglob": "1.0.0", 1530 | "is-glob": "2.0.1", 1531 | "kind-of": "3.2.2", 1532 | "normalize-path": "2.1.1", 1533 | "object.omit": "2.0.1", 1534 | "parse-glob": "3.0.4", 1535 | "regex-cache": "0.4.4" 1536 | } 1537 | }, 1538 | "mimic-fn": { 1539 | "version": "1.1.0", 1540 | "bundled": true, 1541 | "dev": true 1542 | }, 1543 | "minimatch": { 1544 | "version": "3.0.4", 1545 | "bundled": true, 1546 | "dev": true, 1547 | "requires": { 1548 | "brace-expansion": "1.1.8" 1549 | } 1550 | }, 1551 | "minimist": { 1552 | "version": "0.0.8", 1553 | "bundled": true, 1554 | "dev": true 1555 | }, 1556 | "mkdirp": { 1557 | "version": "0.5.1", 1558 | "bundled": true, 1559 | "dev": true, 1560 | "requires": { 1561 | "minimist": "0.0.8" 1562 | } 1563 | }, 1564 | "ms": { 1565 | "version": "2.0.0", 1566 | "bundled": true, 1567 | "dev": true 1568 | }, 1569 | "normalize-package-data": { 1570 | "version": "2.4.0", 1571 | "bundled": true, 1572 | "dev": true, 1573 | "requires": { 1574 | "hosted-git-info": "2.5.0", 1575 | "is-builtin-module": "1.0.0", 1576 | "semver": "5.4.1", 1577 | "validate-npm-package-license": "3.0.1" 1578 | } 1579 | }, 1580 | "normalize-path": { 1581 | "version": "2.1.1", 1582 | "bundled": true, 1583 | "dev": true, 1584 | "requires": { 1585 | "remove-trailing-separator": "1.1.0" 1586 | } 1587 | }, 1588 | "npm-run-path": { 1589 | "version": "2.0.2", 1590 | "bundled": true, 1591 | "dev": true, 1592 | "requires": { 1593 | "path-key": "2.0.1" 1594 | } 1595 | }, 1596 | "number-is-nan": { 1597 | "version": "1.0.1", 1598 | "bundled": true, 1599 | "dev": true 1600 | }, 1601 | "object-assign": { 1602 | "version": "4.1.1", 1603 | "bundled": true, 1604 | "dev": true 1605 | }, 1606 | "object.omit": { 1607 | "version": "2.0.1", 1608 | "bundled": true, 1609 | "dev": true, 1610 | "requires": { 1611 | "for-own": "0.1.5", 1612 | "is-extendable": "0.1.1" 1613 | } 1614 | }, 1615 | "once": { 1616 | "version": "1.4.0", 1617 | "bundled": true, 1618 | "dev": true, 1619 | "requires": { 1620 | "wrappy": "1.0.2" 1621 | } 1622 | }, 1623 | "optimist": { 1624 | "version": "0.6.1", 1625 | "bundled": true, 1626 | "dev": true, 1627 | "requires": { 1628 | "minimist": "0.0.8", 1629 | "wordwrap": "0.0.3" 1630 | } 1631 | }, 1632 | "os-homedir": { 1633 | "version": "1.0.2", 1634 | "bundled": true, 1635 | "dev": true 1636 | }, 1637 | "os-locale": { 1638 | "version": "2.1.0", 1639 | "bundled": true, 1640 | "dev": true, 1641 | "requires": { 1642 | "execa": "0.7.0", 1643 | "lcid": "1.0.0", 1644 | "mem": "1.1.0" 1645 | } 1646 | }, 1647 | "p-finally": { 1648 | "version": "1.0.0", 1649 | "bundled": true, 1650 | "dev": true 1651 | }, 1652 | "p-limit": { 1653 | "version": "1.1.0", 1654 | "bundled": true, 1655 | "dev": true 1656 | }, 1657 | "p-locate": { 1658 | "version": "2.0.0", 1659 | "bundled": true, 1660 | "dev": true, 1661 | "requires": { 1662 | "p-limit": "1.1.0" 1663 | } 1664 | }, 1665 | "parse-glob": { 1666 | "version": "3.0.4", 1667 | "bundled": true, 1668 | "dev": true, 1669 | "requires": { 1670 | "glob-base": "0.3.0", 1671 | "is-dotfile": "1.0.3", 1672 | "is-extglob": "1.0.0", 1673 | "is-glob": "2.0.1" 1674 | } 1675 | }, 1676 | "parse-json": { 1677 | "version": "2.2.0", 1678 | "bundled": true, 1679 | "dev": true, 1680 | "requires": { 1681 | "error-ex": "1.3.1" 1682 | } 1683 | }, 1684 | "path-exists": { 1685 | "version": "2.1.0", 1686 | "bundled": true, 1687 | "dev": true, 1688 | "requires": { 1689 | "pinkie-promise": "2.0.1" 1690 | } 1691 | }, 1692 | "path-is-absolute": { 1693 | "version": "1.0.1", 1694 | "bundled": true, 1695 | "dev": true 1696 | }, 1697 | "path-key": { 1698 | "version": "2.0.1", 1699 | "bundled": true, 1700 | "dev": true 1701 | }, 1702 | "path-parse": { 1703 | "version": "1.0.5", 1704 | "bundled": true, 1705 | "dev": true 1706 | }, 1707 | "path-type": { 1708 | "version": "1.1.0", 1709 | "bundled": true, 1710 | "dev": true, 1711 | "requires": { 1712 | "graceful-fs": "4.1.11", 1713 | "pify": "2.3.0", 1714 | "pinkie-promise": "2.0.1" 1715 | } 1716 | }, 1717 | "pify": { 1718 | "version": "2.3.0", 1719 | "bundled": true, 1720 | "dev": true 1721 | }, 1722 | "pinkie": { 1723 | "version": "2.0.4", 1724 | "bundled": true, 1725 | "dev": true 1726 | }, 1727 | "pinkie-promise": { 1728 | "version": "2.0.1", 1729 | "bundled": true, 1730 | "dev": true, 1731 | "requires": { 1732 | "pinkie": "2.0.4" 1733 | } 1734 | }, 1735 | "pkg-dir": { 1736 | "version": "1.0.0", 1737 | "bundled": true, 1738 | "dev": true, 1739 | "requires": { 1740 | "find-up": "1.1.2" 1741 | }, 1742 | "dependencies": { 1743 | "find-up": { 1744 | "version": "1.1.2", 1745 | "bundled": true, 1746 | "dev": true, 1747 | "requires": { 1748 | "path-exists": "2.1.0", 1749 | "pinkie-promise": "2.0.1" 1750 | } 1751 | } 1752 | } 1753 | }, 1754 | "preserve": { 1755 | "version": "0.2.0", 1756 | "bundled": true, 1757 | "dev": true 1758 | }, 1759 | "pseudomap": { 1760 | "version": "1.0.2", 1761 | "bundled": true, 1762 | "dev": true 1763 | }, 1764 | "randomatic": { 1765 | "version": "1.1.7", 1766 | "bundled": true, 1767 | "dev": true, 1768 | "requires": { 1769 | "is-number": "3.0.0", 1770 | "kind-of": "4.0.0" 1771 | }, 1772 | "dependencies": { 1773 | "is-number": { 1774 | "version": "3.0.0", 1775 | "bundled": true, 1776 | "dev": true, 1777 | "requires": { 1778 | "kind-of": "3.2.2" 1779 | }, 1780 | "dependencies": { 1781 | "kind-of": { 1782 | "version": "3.2.2", 1783 | "bundled": true, 1784 | "dev": true, 1785 | "requires": { 1786 | "is-buffer": "1.1.6" 1787 | } 1788 | } 1789 | } 1790 | }, 1791 | "kind-of": { 1792 | "version": "4.0.0", 1793 | "bundled": true, 1794 | "dev": true, 1795 | "requires": { 1796 | "is-buffer": "1.1.6" 1797 | } 1798 | } 1799 | } 1800 | }, 1801 | "read-pkg": { 1802 | "version": "1.1.0", 1803 | "bundled": true, 1804 | "dev": true, 1805 | "requires": { 1806 | "load-json-file": "1.1.0", 1807 | "normalize-package-data": "2.4.0", 1808 | "path-type": "1.1.0" 1809 | } 1810 | }, 1811 | "read-pkg-up": { 1812 | "version": "1.0.1", 1813 | "bundled": true, 1814 | "dev": true, 1815 | "requires": { 1816 | "find-up": "1.1.2", 1817 | "read-pkg": "1.1.0" 1818 | }, 1819 | "dependencies": { 1820 | "find-up": { 1821 | "version": "1.1.2", 1822 | "bundled": true, 1823 | "dev": true, 1824 | "requires": { 1825 | "path-exists": "2.1.0", 1826 | "pinkie-promise": "2.0.1" 1827 | } 1828 | } 1829 | } 1830 | }, 1831 | "regenerator-runtime": { 1832 | "version": "0.11.1", 1833 | "bundled": true, 1834 | "dev": true 1835 | }, 1836 | "regex-cache": { 1837 | "version": "0.4.4", 1838 | "bundled": true, 1839 | "dev": true, 1840 | "requires": { 1841 | "is-equal-shallow": "0.1.3" 1842 | } 1843 | }, 1844 | "remove-trailing-separator": { 1845 | "version": "1.1.0", 1846 | "bundled": true, 1847 | "dev": true 1848 | }, 1849 | "repeat-element": { 1850 | "version": "1.1.2", 1851 | "bundled": true, 1852 | "dev": true 1853 | }, 1854 | "repeat-string": { 1855 | "version": "1.6.1", 1856 | "bundled": true, 1857 | "dev": true 1858 | }, 1859 | "repeating": { 1860 | "version": "2.0.1", 1861 | "bundled": true, 1862 | "dev": true, 1863 | "requires": { 1864 | "is-finite": "1.0.2" 1865 | } 1866 | }, 1867 | "require-directory": { 1868 | "version": "2.1.1", 1869 | "bundled": true, 1870 | "dev": true 1871 | }, 1872 | "require-main-filename": { 1873 | "version": "1.0.1", 1874 | "bundled": true, 1875 | "dev": true 1876 | }, 1877 | "resolve-from": { 1878 | "version": "2.0.0", 1879 | "bundled": true, 1880 | "dev": true 1881 | }, 1882 | "right-align": { 1883 | "version": "0.1.3", 1884 | "bundled": true, 1885 | "dev": true, 1886 | "optional": true, 1887 | "requires": { 1888 | "align-text": "0.1.4" 1889 | } 1890 | }, 1891 | "rimraf": { 1892 | "version": "2.6.2", 1893 | "bundled": true, 1894 | "dev": true, 1895 | "requires": { 1896 | "glob": "7.1.2" 1897 | } 1898 | }, 1899 | "semver": { 1900 | "version": "5.4.1", 1901 | "bundled": true, 1902 | "dev": true 1903 | }, 1904 | "set-blocking": { 1905 | "version": "2.0.0", 1906 | "bundled": true, 1907 | "dev": true 1908 | }, 1909 | "shebang-command": { 1910 | "version": "1.2.0", 1911 | "bundled": true, 1912 | "dev": true, 1913 | "requires": { 1914 | "shebang-regex": "1.0.0" 1915 | } 1916 | }, 1917 | "shebang-regex": { 1918 | "version": "1.0.0", 1919 | "bundled": true, 1920 | "dev": true 1921 | }, 1922 | "signal-exit": { 1923 | "version": "3.0.2", 1924 | "bundled": true, 1925 | "dev": true 1926 | }, 1927 | "slide": { 1928 | "version": "1.1.6", 1929 | "bundled": true, 1930 | "dev": true 1931 | }, 1932 | "source-map": { 1933 | "version": "0.5.7", 1934 | "bundled": true, 1935 | "dev": true 1936 | }, 1937 | "spawn-wrap": { 1938 | "version": "1.4.2", 1939 | "bundled": true, 1940 | "dev": true, 1941 | "requires": { 1942 | "foreground-child": "1.5.6", 1943 | "mkdirp": "0.5.1", 1944 | "os-homedir": "1.0.2", 1945 | "rimraf": "2.6.2", 1946 | "signal-exit": "3.0.2", 1947 | "which": "1.3.0" 1948 | } 1949 | }, 1950 | "spdx-correct": { 1951 | "version": "1.0.2", 1952 | "bundled": true, 1953 | "dev": true, 1954 | "requires": { 1955 | "spdx-license-ids": "1.2.2" 1956 | } 1957 | }, 1958 | "spdx-expression-parse": { 1959 | "version": "1.0.4", 1960 | "bundled": true, 1961 | "dev": true 1962 | }, 1963 | "spdx-license-ids": { 1964 | "version": "1.2.2", 1965 | "bundled": true, 1966 | "dev": true 1967 | }, 1968 | "string-width": { 1969 | "version": "2.1.1", 1970 | "bundled": true, 1971 | "dev": true, 1972 | "requires": { 1973 | "is-fullwidth-code-point": "2.0.0", 1974 | "strip-ansi": "4.0.0" 1975 | }, 1976 | "dependencies": { 1977 | "ansi-regex": { 1978 | "version": "3.0.0", 1979 | "bundled": true, 1980 | "dev": true 1981 | }, 1982 | "is-fullwidth-code-point": { 1983 | "version": "2.0.0", 1984 | "bundled": true, 1985 | "dev": true 1986 | }, 1987 | "strip-ansi": { 1988 | "version": "4.0.0", 1989 | "bundled": true, 1990 | "dev": true, 1991 | "requires": { 1992 | "ansi-regex": "3.0.0" 1993 | } 1994 | } 1995 | } 1996 | }, 1997 | "strip-ansi": { 1998 | "version": "3.0.1", 1999 | "bundled": true, 2000 | "dev": true, 2001 | "requires": { 2002 | "ansi-regex": "2.1.1" 2003 | } 2004 | }, 2005 | "strip-bom": { 2006 | "version": "2.0.0", 2007 | "bundled": true, 2008 | "dev": true, 2009 | "requires": { 2010 | "is-utf8": "0.2.1" 2011 | } 2012 | }, 2013 | "strip-eof": { 2014 | "version": "1.0.0", 2015 | "bundled": true, 2016 | "dev": true 2017 | }, 2018 | "supports-color": { 2019 | "version": "2.0.0", 2020 | "bundled": true, 2021 | "dev": true 2022 | }, 2023 | "test-exclude": { 2024 | "version": "4.1.1", 2025 | "bundled": true, 2026 | "dev": true, 2027 | "requires": { 2028 | "arrify": "1.0.1", 2029 | "micromatch": "2.3.11", 2030 | "object-assign": "4.1.1", 2031 | "read-pkg-up": "1.0.1", 2032 | "require-main-filename": "1.0.1" 2033 | } 2034 | }, 2035 | "to-fast-properties": { 2036 | "version": "1.0.3", 2037 | "bundled": true, 2038 | "dev": true 2039 | }, 2040 | "trim-right": { 2041 | "version": "1.0.1", 2042 | "bundled": true, 2043 | "dev": true 2044 | }, 2045 | "uglify-js": { 2046 | "version": "2.8.29", 2047 | "bundled": true, 2048 | "dev": true, 2049 | "optional": true, 2050 | "requires": { 2051 | "source-map": "0.5.7", 2052 | "uglify-to-browserify": "1.0.2", 2053 | "yargs": "3.10.0" 2054 | }, 2055 | "dependencies": { 2056 | "yargs": { 2057 | "version": "3.10.0", 2058 | "bundled": true, 2059 | "dev": true, 2060 | "optional": true, 2061 | "requires": { 2062 | "camelcase": "1.2.1", 2063 | "cliui": "2.1.0", 2064 | "decamelize": "1.2.0", 2065 | "window-size": "0.1.0" 2066 | } 2067 | } 2068 | } 2069 | }, 2070 | "uglify-to-browserify": { 2071 | "version": "1.0.2", 2072 | "bundled": true, 2073 | "dev": true, 2074 | "optional": true 2075 | }, 2076 | "validate-npm-package-license": { 2077 | "version": "3.0.1", 2078 | "bundled": true, 2079 | "dev": true, 2080 | "requires": { 2081 | "spdx-correct": "1.0.2", 2082 | "spdx-expression-parse": "1.0.4" 2083 | } 2084 | }, 2085 | "which": { 2086 | "version": "1.3.0", 2087 | "bundled": true, 2088 | "dev": true, 2089 | "requires": { 2090 | "isexe": "2.0.0" 2091 | } 2092 | }, 2093 | "which-module": { 2094 | "version": "2.0.0", 2095 | "bundled": true, 2096 | "dev": true 2097 | }, 2098 | "window-size": { 2099 | "version": "0.1.0", 2100 | "bundled": true, 2101 | "dev": true, 2102 | "optional": true 2103 | }, 2104 | "wordwrap": { 2105 | "version": "0.0.3", 2106 | "bundled": true, 2107 | "dev": true 2108 | }, 2109 | "wrap-ansi": { 2110 | "version": "2.1.0", 2111 | "bundled": true, 2112 | "dev": true, 2113 | "requires": { 2114 | "string-width": "1.0.2", 2115 | "strip-ansi": "3.0.1" 2116 | }, 2117 | "dependencies": { 2118 | "string-width": { 2119 | "version": "1.0.2", 2120 | "bundled": true, 2121 | "dev": true, 2122 | "requires": { 2123 | "code-point-at": "1.1.0", 2124 | "is-fullwidth-code-point": "1.0.0", 2125 | "strip-ansi": "3.0.1" 2126 | } 2127 | } 2128 | } 2129 | }, 2130 | "wrappy": { 2131 | "version": "1.0.2", 2132 | "bundled": true, 2133 | "dev": true 2134 | }, 2135 | "write-file-atomic": { 2136 | "version": "1.3.4", 2137 | "bundled": true, 2138 | "dev": true, 2139 | "requires": { 2140 | "graceful-fs": "4.1.11", 2141 | "imurmurhash": "0.1.4", 2142 | "slide": "1.1.6" 2143 | } 2144 | }, 2145 | "y18n": { 2146 | "version": "3.2.1", 2147 | "bundled": true, 2148 | "dev": true 2149 | }, 2150 | "yallist": { 2151 | "version": "2.1.2", 2152 | "bundled": true, 2153 | "dev": true 2154 | }, 2155 | "yargs": { 2156 | "version": "10.0.3", 2157 | "bundled": true, 2158 | "dev": true, 2159 | "requires": { 2160 | "cliui": "3.2.0", 2161 | "decamelize": "1.2.0", 2162 | "find-up": "2.1.0", 2163 | "get-caller-file": "1.0.2", 2164 | "os-locale": "2.1.0", 2165 | "require-directory": "2.1.1", 2166 | "require-main-filename": "1.0.1", 2167 | "set-blocking": "2.0.0", 2168 | "string-width": "2.1.1", 2169 | "which-module": "2.0.0", 2170 | "y18n": "3.2.1", 2171 | "yargs-parser": "8.0.0" 2172 | }, 2173 | "dependencies": { 2174 | "cliui": { 2175 | "version": "3.2.0", 2176 | "bundled": true, 2177 | "dev": true, 2178 | "requires": { 2179 | "string-width": "1.0.2", 2180 | "strip-ansi": "3.0.1", 2181 | "wrap-ansi": "2.1.0" 2182 | }, 2183 | "dependencies": { 2184 | "string-width": { 2185 | "version": "1.0.2", 2186 | "bundled": true, 2187 | "dev": true, 2188 | "requires": { 2189 | "code-point-at": "1.1.0", 2190 | "is-fullwidth-code-point": "1.0.0", 2191 | "strip-ansi": "3.0.1" 2192 | } 2193 | } 2194 | } 2195 | } 2196 | } 2197 | }, 2198 | "yargs-parser": { 2199 | "version": "8.0.0", 2200 | "bundled": true, 2201 | "dev": true, 2202 | "requires": { 2203 | "camelcase": "4.1.0" 2204 | }, 2205 | "dependencies": { 2206 | "camelcase": { 2207 | "version": "4.1.0", 2208 | "bundled": true, 2209 | "dev": true 2210 | } 2211 | } 2212 | } 2213 | } 2214 | }, 2215 | "oauth-sign": { 2216 | "version": "0.8.2", 2217 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 2218 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 2219 | "dev": true 2220 | }, 2221 | "once": { 2222 | "version": "1.4.0", 2223 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2224 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2225 | "dev": true, 2226 | "requires": { 2227 | "wrappy": "1.0.2" 2228 | } 2229 | }, 2230 | "opener": { 2231 | "version": "1.4.3", 2232 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", 2233 | "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", 2234 | "dev": true 2235 | }, 2236 | "os-homedir": { 2237 | "version": "1.0.2", 2238 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2239 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 2240 | "dev": true 2241 | }, 2242 | "own-or": { 2243 | "version": "1.0.0", 2244 | "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", 2245 | "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", 2246 | "dev": true 2247 | }, 2248 | "own-or-env": { 2249 | "version": "1.0.0", 2250 | "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.0.tgz", 2251 | "integrity": "sha1-nvkg/IHi5jz1nUEQElg2jPT8pPs=", 2252 | "dev": true 2253 | }, 2254 | "path-is-absolute": { 2255 | "version": "1.0.1", 2256 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2257 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2258 | "dev": true 2259 | }, 2260 | "pinkie": { 2261 | "version": "2.0.4", 2262 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2263 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2264 | "dev": true 2265 | }, 2266 | "pinkie-promise": { 2267 | "version": "2.0.1", 2268 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2269 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2270 | "dev": true, 2271 | "requires": { 2272 | "pinkie": "2.0.4" 2273 | } 2274 | }, 2275 | "process-nextick-args": { 2276 | "version": "1.0.7", 2277 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 2278 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 2279 | "dev": true 2280 | }, 2281 | "pseudomap": { 2282 | "version": "1.0.2", 2283 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2284 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 2285 | "dev": true 2286 | }, 2287 | "punycode": { 2288 | "version": "1.4.1", 2289 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2290 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 2291 | "dev": true 2292 | }, 2293 | "qs": { 2294 | "version": "6.3.2", 2295 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", 2296 | "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", 2297 | "dev": true 2298 | }, 2299 | "readable-stream": { 2300 | "version": "2.3.3", 2301 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2302 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2303 | "dev": true, 2304 | "requires": { 2305 | "core-util-is": "1.0.2", 2306 | "inherits": "2.0.3", 2307 | "isarray": "1.0.0", 2308 | "process-nextick-args": "1.0.7", 2309 | "safe-buffer": "5.1.1", 2310 | "string_decoder": "1.0.3", 2311 | "util-deprecate": "1.0.2" 2312 | } 2313 | }, 2314 | "request": { 2315 | "version": "2.79.0", 2316 | "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 2317 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 2318 | "dev": true, 2319 | "requires": { 2320 | "aws-sign2": "0.6.0", 2321 | "aws4": "1.6.0", 2322 | "caseless": "0.11.0", 2323 | "combined-stream": "1.0.5", 2324 | "extend": "3.0.1", 2325 | "forever-agent": "0.6.1", 2326 | "form-data": "2.1.4", 2327 | "har-validator": "2.0.6", 2328 | "hawk": "3.1.3", 2329 | "http-signature": "1.1.1", 2330 | "is-typedarray": "1.0.0", 2331 | "isstream": "0.1.2", 2332 | "json-stringify-safe": "5.0.1", 2333 | "mime-types": "2.1.17", 2334 | "oauth-sign": "0.8.2", 2335 | "qs": "6.3.2", 2336 | "stringstream": "0.0.5", 2337 | "tough-cookie": "2.3.3", 2338 | "tunnel-agent": "0.4.3", 2339 | "uuid": "3.1.0" 2340 | } 2341 | }, 2342 | "safe-buffer": { 2343 | "version": "5.1.1", 2344 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 2345 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 2346 | "dev": true 2347 | }, 2348 | "signal-exit": { 2349 | "version": "3.0.2", 2350 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 2351 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2352 | "dev": true 2353 | }, 2354 | "sntp": { 2355 | "version": "1.0.9", 2356 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 2357 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 2358 | "dev": true, 2359 | "requires": { 2360 | "hoek": "2.16.3" 2361 | } 2362 | }, 2363 | "source-map": { 2364 | "version": "0.5.7", 2365 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2366 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2367 | "dev": true 2368 | }, 2369 | "source-map-support": { 2370 | "version": "0.4.18", 2371 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 2372 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 2373 | "dev": true, 2374 | "requires": { 2375 | "source-map": "0.5.7" 2376 | } 2377 | }, 2378 | "sprintf-js": { 2379 | "version": "1.0.3", 2380 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2381 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2382 | "dev": true 2383 | }, 2384 | "sshpk": { 2385 | "version": "1.13.1", 2386 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 2387 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 2388 | "dev": true, 2389 | "requires": { 2390 | "asn1": "0.2.3", 2391 | "assert-plus": "1.0.0", 2392 | "bcrypt-pbkdf": "1.0.1", 2393 | "dashdash": "1.14.1", 2394 | "ecc-jsbn": "0.1.1", 2395 | "getpass": "0.1.7", 2396 | "jsbn": "0.1.1", 2397 | "tweetnacl": "0.14.5" 2398 | }, 2399 | "dependencies": { 2400 | "assert-plus": { 2401 | "version": "1.0.0", 2402 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2403 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2404 | "dev": true 2405 | } 2406 | } 2407 | }, 2408 | "stack-utils": { 2409 | "version": "1.0.1", 2410 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", 2411 | "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", 2412 | "dev": true 2413 | }, 2414 | "string_decoder": { 2415 | "version": "1.0.3", 2416 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2417 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2418 | "dev": true, 2419 | "requires": { 2420 | "safe-buffer": "5.1.1" 2421 | } 2422 | }, 2423 | "stringstream": { 2424 | "version": "0.0.5", 2425 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 2426 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 2427 | "dev": true 2428 | }, 2429 | "strip-ansi": { 2430 | "version": "3.0.1", 2431 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2432 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2433 | "dev": true, 2434 | "requires": { 2435 | "ansi-regex": "2.1.1" 2436 | } 2437 | }, 2438 | "supports-color": { 2439 | "version": "2.0.0", 2440 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2441 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2442 | "dev": true 2443 | }, 2444 | "tap": { 2445 | "version": "10.7.3", 2446 | "resolved": "https://registry.npmjs.org/tap/-/tap-10.7.3.tgz", 2447 | "integrity": "sha512-oS/FIq+tcmxVgYn5usKtLsX+sOHNEj+G7JIQE9SBjO5mVYB1rbaEJJiDbnYp8k0ZqY2Pe4HbYEpkvzm9jfLDyw==", 2448 | "dev": true, 2449 | "requires": { 2450 | "bind-obj-methods": "1.0.0", 2451 | "bluebird": "3.5.1", 2452 | "clean-yaml-object": "0.1.0", 2453 | "color-support": "1.1.3", 2454 | "coveralls": "2.13.3", 2455 | "foreground-child": "1.5.6", 2456 | "fs-exists-cached": "1.0.0", 2457 | "function-loop": "1.0.1", 2458 | "glob": "7.1.2", 2459 | "isexe": "2.0.0", 2460 | "js-yaml": "3.10.0", 2461 | "nyc": "11.4.1", 2462 | "opener": "1.4.3", 2463 | "os-homedir": "1.0.2", 2464 | "own-or": "1.0.0", 2465 | "own-or-env": "1.0.0", 2466 | "readable-stream": "2.3.3", 2467 | "signal-exit": "3.0.2", 2468 | "source-map-support": "0.4.18", 2469 | "stack-utils": "1.0.1", 2470 | "tap-mocha-reporter": "3.0.6", 2471 | "tap-parser": "5.4.0", 2472 | "tmatch": "3.1.0", 2473 | "trivial-deferred": "1.0.1", 2474 | "tsame": "1.1.2", 2475 | "yapool": "1.0.0" 2476 | } 2477 | }, 2478 | "tap-mocha-reporter": { 2479 | "version": "3.0.6", 2480 | "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.6.tgz", 2481 | "integrity": "sha512-UImgw3etckDQCoqZIAIKcQDt0w1JLVs3v0yxLlmwvGLZl6MGFxF7JME5PElXjAoDklVDU42P3vVu5jgr37P4Yg==", 2482 | "dev": true, 2483 | "requires": { 2484 | "color-support": "1.1.3", 2485 | "debug": "2.6.9", 2486 | "diff": "1.4.0", 2487 | "escape-string-regexp": "1.0.5", 2488 | "glob": "7.1.2", 2489 | "js-yaml": "3.10.0", 2490 | "readable-stream": "2.3.3", 2491 | "tap-parser": "5.4.0", 2492 | "unicode-length": "1.0.3" 2493 | } 2494 | }, 2495 | "tap-parser": { 2496 | "version": "5.4.0", 2497 | "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", 2498 | "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", 2499 | "dev": true, 2500 | "requires": { 2501 | "events-to-array": "1.1.2", 2502 | "js-yaml": "3.10.0", 2503 | "readable-stream": "2.3.3" 2504 | } 2505 | }, 2506 | "tmatch": { 2507 | "version": "3.1.0", 2508 | "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-3.1.0.tgz", 2509 | "integrity": "sha512-W3MSATOCN4pVu2qFxmJLIArSifeSOFqnfx9hiUaVgOmeRoI2NbU7RNga+6G+L8ojlFeQge+ZPCclWyUpQ8UeNQ==", 2510 | "dev": true 2511 | }, 2512 | "tough-cookie": { 2513 | "version": "2.3.3", 2514 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", 2515 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", 2516 | "dev": true, 2517 | "requires": { 2518 | "punycode": "1.4.1" 2519 | } 2520 | }, 2521 | "trivial-deferred": { 2522 | "version": "1.0.1", 2523 | "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", 2524 | "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", 2525 | "dev": true 2526 | }, 2527 | "tsame": { 2528 | "version": "1.1.2", 2529 | "resolved": "https://registry.npmjs.org/tsame/-/tsame-1.1.2.tgz", 2530 | "integrity": "sha512-ovCs24PGjmByVPr9tSIOs/yjUX9sJl0grEmOsj9dZA/UknQkgPOKcUqM84aSCvt9awHuhc/boMzTg3BHFalxWw==", 2531 | "dev": true 2532 | }, 2533 | "tunnel-agent": { 2534 | "version": "0.4.3", 2535 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 2536 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 2537 | "dev": true 2538 | }, 2539 | "tweetnacl": { 2540 | "version": "0.14.5", 2541 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 2542 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 2543 | "dev": true, 2544 | "optional": true 2545 | }, 2546 | "unicode-length": { 2547 | "version": "1.0.3", 2548 | "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", 2549 | "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", 2550 | "dev": true, 2551 | "requires": { 2552 | "punycode": "1.4.1", 2553 | "strip-ansi": "3.0.1" 2554 | } 2555 | }, 2556 | "util-deprecate": { 2557 | "version": "1.0.2", 2558 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2559 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2560 | "dev": true 2561 | }, 2562 | "uuid": { 2563 | "version": "3.1.0", 2564 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", 2565 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" 2566 | }, 2567 | "verror": { 2568 | "version": "1.10.0", 2569 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 2570 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2571 | "dev": true, 2572 | "requires": { 2573 | "assert-plus": "1.0.0", 2574 | "core-util-is": "1.0.2", 2575 | "extsprintf": "1.3.0" 2576 | }, 2577 | "dependencies": { 2578 | "assert-plus": { 2579 | "version": "1.0.0", 2580 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2581 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2582 | "dev": true 2583 | } 2584 | } 2585 | }, 2586 | "which": { 2587 | "version": "1.3.0", 2588 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 2589 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 2590 | "dev": true, 2591 | "requires": { 2592 | "isexe": "2.0.0" 2593 | } 2594 | }, 2595 | "wrappy": { 2596 | "version": "1.0.2", 2597 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2598 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2599 | "dev": true 2600 | }, 2601 | "xtend": { 2602 | "version": "4.0.1", 2603 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 2604 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 2605 | "dev": true 2606 | }, 2607 | "yallist": { 2608 | "version": "2.1.2", 2609 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 2610 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 2611 | "dev": true 2612 | }, 2613 | "yapool": { 2614 | "version": "1.0.0", 2615 | "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", 2616 | "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", 2617 | "dev": true 2618 | } 2619 | } 2620 | } 2621 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "machine-uuid", 3 | "version": "1.2.0", 4 | "description": "get machine's uuid", 5 | "main": "index.js", 6 | "bin": { 7 | "machineuuid": "bin/machineId.js" 8 | }, 9 | "scripts": { 10 | "test": "nodeunit test/test.js" 11 | }, 12 | "keywords": [ 13 | "get", 14 | "machine", 15 | "hardware", 16 | "unique", 17 | "id" 18 | ], 19 | "repository": "https://github.com/mhzed/machine-uuid", 20 | "author": "mhzed ", 21 | "license": "ISC", 22 | "dependencies": { 23 | "uuid": "^3.1.0" 24 | }, 25 | "devDependencies": { 26 | "nodeunit": "^0.11.2" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const machineUuid = require( "..") 2 | 3 | let uuid; 4 | module.exports['id'] = function(test) { 5 | return machineUuid(id1 => 6 | machineUuid(function(id2) { 7 | if (!id1) { test.ok(false, "no id"); } 8 | uuid = id1 9 | test.equals(id1, id2, 'same'); 10 | return test.done(); 11 | }) 12 | ); 13 | }; 14 | 15 | module.exports['id.promise'] = function(test) { 16 | machineUuid().then((id)=>{ 17 | test.equals(id, uuid, 'same'); 18 | test.done(); 19 | }) 20 | } --------------------------------------------------------------------------------