├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── .npmignore ├── .travis.yml ├── CONTRIBUTING.md ├── HISTORY.md ├── LICENSE.md ├── README.md ├── index.js ├── package-lock.json ├── package.json ├── source ├── index.js └── test.js └── test.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # 2018 January 24 2 | # https://github.com/bevry/base 3 | 4 | root = true 5 | 6 | [*] 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = false 11 | indent_style = tab 12 | 13 | [{*.mk,*.py}] 14 | indent_style = tab 15 | indent_size = 4 16 | 17 | [*.md] 18 | indent_style = space 19 | indent_size = 4 20 | 21 | [{*.json,*.yml,*.bowerrc,*.babelrc}] 22 | indent_style = space 23 | indent_size = 2 24 | 25 | [*.json] 26 | insert_final_newline = true 27 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | // 2017 April 17 2 | // https://github.com/bevry/base 3 | // http://eslint.org 4 | // This code must be able to run on Node 0.10 5 | /* eslint no-warning-comments: 0 */ 6 | 'use strict' 7 | 8 | const IGNORE = 0, WARN = 1, ERROR = 2, MAX_PARAMS = 4 9 | 10 | const config = { 11 | extends: ['eslint:recommended'], 12 | plugins: [], 13 | parserOptions: {ecmaFeatures: {}}, 14 | env: {}, 15 | rules: { 16 | // ---------------------------- 17 | // Problems with these rules 18 | // If we can figure out how to enable the following, that would be great 19 | 20 | // Two spaces after one line if or else: 21 | // if ( blah ) return 22 | // Insead of one space: 23 | // if ( blah ) return 24 | 25 | // No spaces on embedded function: 26 | // .forEach(function(key, value){ 27 | // instead of: 28 | // .forEach(function (key, value) { 29 | 30 | // Else and catch statements on the same line as closing brace: 31 | // } else { 32 | // } catch (e) { 33 | // instead of: 34 | // } 35 | // else { 36 | 37 | 38 | // -------------------------------------- 39 | // Possible Errors 40 | // The following rules point out areas where you might have made mistakes. 41 | 42 | // Don't allow assignments in conditional statements (if, while, etc.) 43 | 'no-cond-assign': [ERROR, 'always'], 44 | 45 | // Warn but don't error about console statements 46 | 'no-console': WARN, 47 | 48 | // Sometimes useful for debugging 49 | // Allow while(true) loops 50 | 'no-constant-condition': WARN, 51 | 52 | // Seems like a good idea to error about this 53 | 'no-control-regex': ERROR, 54 | 55 | // Warn but don't error about console statements 56 | 'no-debugger': WARN, 57 | 58 | // Don't allow duplicate arguments in a function, they can cause errors 59 | 'no-dupe-args': ERROR, 60 | 61 | // Disallow duplicate keys in an object, they can cause errors 62 | 'no-dupe-keys': ERROR, 63 | 64 | // Disallow duplicate case statements in a switch 65 | 'no-duplicate-case': ERROR, 66 | 67 | // Allow empty block statements, they are useful for clarity 68 | 'no-empty': IGNORE, 69 | 70 | // Disallow empty [] in regular expressions as they cause unexpected behaviour 71 | 'no-empty-character-class': ERROR, 72 | 73 | // Overwriting the exception argument in a catch statement can cause memory leaks in some browsers 74 | 'no-ex-assign': ERROR, 75 | 76 | // Disallow superflous boolean casts, they offer no value 77 | 'no-extra-boolean-cast': ERROR, 78 | 79 | // Allow superflous parenthesis as they offer clarity in some cases 80 | 'no-extra-parens': IGNORE, 81 | 82 | // Disallow superflous semicolons, they offer no value 83 | 'no-extra-semi': ERROR, 84 | 85 | // Seems like a good idea to error about this 86 | 'no-func-assign': ERROR, 87 | 88 | // Seems like a good idea to error about this 89 | 'no-inner-declarations': ERROR, 90 | 91 | // Seems like a good idea to error about this 92 | 'no-invalid-regexp': ERROR, 93 | 94 | // Seems like a good idea to error about this 95 | 'no-irregular-whitespace': ERROR, 96 | 97 | // Seems like a good idea to error about this 98 | 'no-obj-calls': ERROR, 99 | 100 | // Not enough justification to change our existing use 101 | 'no-prototype-builtins': IGNORE, 102 | 103 | // Seems like a good idea to error about this 104 | // Instead of / / used / {ERROR}/ instead 105 | 'no-regex-spaces': ERROR, 106 | 107 | // Seems like a good idea to error about this 108 | 'no-sparse-arrays': ERROR, 109 | 110 | // Probably an error on our part, so warn 111 | 'no-template-curly-in-string': WARN, 112 | 113 | // Seems like a good idea to error about this 114 | 'no-unexpected-multiline': ERROR, 115 | 116 | // Seems like a good idea to error about this 117 | 'no-unreachable': ERROR, 118 | 119 | // Seems like a good idea to error about this 120 | 'no-unsafe-finally': ERROR, 121 | 122 | // Seems like a good idea to error about this 123 | 'no-unsafe-negation': ERROR, 124 | 125 | // Seems like a good idea to error about this 126 | 'use-isnan': ERROR, 127 | 128 | // We use JSDoc again 129 | 'valid-jsdoc': [ERROR, { 130 | requireParamDescription: false, 131 | requireReturnDescription: false 132 | }], 133 | 134 | // Seems like a good idea to error about this 135 | 'valid-typeof': ERROR, 136 | 137 | 138 | // -------------------------------------- 139 | // Best Practices 140 | // These are rules designed to prevent you from making mistakes. They either prescribe a better way of doing something or help you avoid footguns. 141 | 142 | // Often we only need one, setting both doesn't make sense 143 | // Enforces getter/setter pairs in objects 144 | 'accessor-pairs': IGNORE, 145 | 146 | // Seems sensible 147 | // Enforces return statements in callbacks of array's methods 148 | 'array-callback-return': ERROR, 149 | 150 | // This rule seems buggy 151 | 'block-scoped-var': IGNORE, 152 | 153 | // Seems interesting, lets give it a go 154 | 'class-methods-use-this': WARN, 155 | 156 | // Disable complexity checks, they are annoying and not that useful in detecting actual complexity 157 | 'complexity': IGNORE, 158 | 159 | // We use blank returns for break statements and for returning void 160 | 'consistent-return': IGNORE, 161 | 162 | // Always require curly braces unless the statement is all on a single line 163 | 'curly': [ERROR, 'multi-line'], 164 | 165 | // If we don't have a default cause, it probably means we should throw an error 166 | 'default-case': ERROR, 167 | 168 | // Dots should be on the newlines 169 | // chainableThingy 170 | // .doSomething() 171 | // .doSomethingElse() 172 | 'dot-location': [ERROR, 'property'], 173 | 174 | // Use dot notation where possible 175 | 'dot-notation': ERROR, 176 | 177 | // Unless you are doing == null, then force === to avoid truthy/falsey mistakes 178 | 'eqeqeq': [ERROR, 'allow-null'], 179 | 180 | // Always use hasOwnProperty when doing for in 181 | 'guard-for-in': ERROR, 182 | 183 | // Warn about alert statements in our code 184 | // Use one of the suggested alternatives instead 185 | // Reasoning is they could be mistaken for left over debugging statements 186 | 'no-alert': WARN, 187 | 188 | // They are very slow 189 | 'no-caller': ERROR, 190 | 191 | // Wow... 192 | 'no-case-declarations': ERROR, 193 | 194 | // Seems like a good idea to error about this 195 | 'no-div-regex': ERROR, 196 | 197 | // Returns in else statements offer code clarity, so disable this rule 198 | 'no-else-return': IGNORE, 199 | 200 | // Up to developer sensibility 201 | // disallow use of empty functions 202 | 'no-empty-function': IGNORE, 203 | 204 | // Seems sensible 205 | 'no-empty-pattern': ERROR, 206 | 207 | // We know that == null is a null and undefined check 208 | 'no-eq-null': IGNORE, 209 | 210 | // Eval is slow and unsafe, use vm's instead 211 | 'no-eval': ERROR, 212 | 213 | // There is never a good reason for this 214 | 'no-extend-native': ERROR, 215 | 216 | // Don't allow useless binds 217 | 'no-extra-bind': ERROR, 218 | 219 | // Seems sensible 220 | 'no-extra-label': ERROR, 221 | 222 | // Don't allow switch case statements to follow through, use continue keyword instead 223 | 'no-fallthrough': ERROR, 224 | 225 | // Use zero when doing decimals, otherwise it is confusing 226 | 'no-floating-decimal': ERROR, 227 | 228 | // Seems sensible 229 | 'no-global-assign': ERROR, 230 | 231 | // Cleverness is unclear 232 | 'no-implicit-coercion': ERROR, 233 | 234 | // Seems sensible providing detection works correctly 235 | 'no-implicit-globals': ERROR, 236 | 237 | // A sneaky way to do evals 238 | 'no-implied-eval': ERROR, 239 | 240 | // This throws for a lot of senseless things, like chainy functions 241 | 'no-invalid-this': IGNORE, 242 | 243 | // Use proper iterators instead 244 | 'no-iterator': ERROR, 245 | 246 | // We never use this, it seems silly to allow this 247 | 'no-labels': ERROR, 248 | 249 | // We never use this, it seems silly to allow this 250 | 'no-lone-blocks': ERROR, 251 | 252 | // Loop functions always cause problems, as the scope isn't clear through iterations 253 | 'no-loop-func': ERROR, 254 | 255 | // Far too annoying 256 | 'no-magic-numbers': IGNORE, 257 | 258 | // We like multi spaces for clarity 259 | // E.g. We like 260 | // if ( blah ) return foo 261 | // Instead of: 262 | // if ( blah ) return foo 263 | // @TODO would be great to enforce the above 264 | 'no-multi-spaces': IGNORE, 265 | 266 | // Use ES6 template strings instead 267 | 'no-multi-str': ERROR, 268 | 269 | // We never use this, it seems silly to allow this 270 | 'no-new-func': ERROR, 271 | 272 | // We never use this, it seems silly to allow this 273 | 'no-new-wrappers': ERROR, 274 | 275 | // We never use this, it seems silly to allow this 276 | 'no-new': ERROR, 277 | 278 | // We never use this, it seems silly to allow this 279 | 'no-octal-escape': ERROR, 280 | 281 | // We never use this, it seems silly to allow this 282 | 'no-octal': ERROR, 283 | 284 | // We got to be pretty silly if we don't realise we are doing this 285 | // As such, take any usage as intentional and aware 286 | 'no-param-reassign': IGNORE, 287 | 288 | // We never use this, it seems silly to allow this 289 | 'no-proto': ERROR, 290 | 291 | // We never use this, it seems silly to allow this 292 | 'no-redeclare': ERROR, 293 | 294 | // No defaults for this that are useful 295 | 'no-restricted-properties': IGNORE, 296 | 297 | // We never use this, it seems silly to allow this 298 | 'no-return-assign': ERROR, 299 | 300 | // We never use this, it seems silly to allow this 301 | 'no-script-url': ERROR, 302 | 303 | // Seems sensible 304 | 'no-self-assign': ERROR, 305 | 306 | // We never use this, it seems silly to allow this 307 | 'no-self-compare': ERROR, 308 | 309 | // We never use this, it seems silly to allow this 310 | 'no-sequences': ERROR, 311 | 312 | // We always want proper error objects as they have stack traces and respond to instanceof Error checks 313 | 'no-throw-literal': ERROR, 314 | 315 | // Could be a getter, so warn 316 | 'no-unmodified-loop-condition': WARN, 317 | 318 | // We never use this, it seems silly to allow this 319 | 'no-unused-expressions': ERROR, 320 | 321 | // Seems sensible 322 | 'no-unused-labels': ERROR, 323 | 324 | // Seems sensible 325 | 'no-useless-call': ERROR, 326 | 327 | // Seems sensible 328 | 'no-useless-concat': ERROR, 329 | 330 | // Seems sensible 331 | 'no-useless-escape': ERROR, 332 | 333 | // We never use this, it seems silly to allow this 334 | 'no-void': ERROR, 335 | 336 | // Warn about todos 337 | 'no-warning-comments': [WARN, { terms: ['todo', 'fixme'], location: 'anywhere' }], 338 | 339 | // We never use this, it seems silly to allow this 340 | 'no-with': ERROR, 341 | 342 | // Always specify a radix to avoid errors 343 | 'radix': ERROR, 344 | 345 | // We appreciate the clarity late defines offer 346 | 'vars-on-top': IGNORE, 347 | 348 | // Wrap instant called functions in parenthesis for clearer intent 349 | 'wrap-iife': ERROR, 350 | 351 | // Because we force === and never allow assignments in conditions 352 | // we have no need for yoda statements, so disable them 353 | 'yoda': [ERROR, 'never'], 354 | 355 | 356 | // -------------------------------------- 357 | // Strict Mode 358 | // These rules relate to using strict mode. 359 | 360 | // Ensure that use strict is specified to prevent the runtime erorr: 361 | // SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode 362 | 'strict': [ERROR, 'global'], 363 | 364 | 365 | // -------------------------------------- 366 | // Variables 367 | // These rules have to do with variable declarations. 368 | 369 | // We don't care 370 | 'init-declarations': IGNORE, 371 | 372 | // Don't allow the catch method to shadow objects as browsers handle this differently 373 | // Update: We don't care for IE8 374 | 'no-catch-shadow': IGNORE, 375 | 376 | // Don't use delete, it disables optimisations 377 | 'no-delete-var': ERROR, 378 | 379 | // We never use this, it seems silly to allow this 380 | 'no-label-var': ERROR, 381 | 382 | // No useful defaults 383 | 'no-restricted-globals': IGNORE, 384 | 385 | // We never use this, it seems silly to allow this 386 | 'no-shadow-restricted-names': ERROR, 387 | 388 | // We use shadowing 389 | 'no-shadow': IGNORE, 390 | 391 | // Makes sense 392 | 'no-undef-init': ERROR, 393 | 394 | // Error when an undefined variable is used 395 | 'no-undef': ERROR, 396 | 397 | // typeof blah === 'undefined' should always be used 398 | 'no-undefined': ERROR, 399 | 400 | // Warn us when we don't use something 401 | 'no-unused-vars': WARN, 402 | 403 | // Error when we try and use something before it is defined 404 | 'no-use-before-define': ERROR, 405 | 406 | 407 | // -------------------------------------- 408 | // Node.js and CommonJS 409 | // These rules are specific to JavaScript running on Node.js or using CommonJS in the browser. 410 | 411 | // Seems to difficult to enforce 412 | 'callback-return': IGNORE, 413 | 414 | // We use require where it is appropriate to use it 415 | 'global-require': IGNORE, 416 | 417 | // Force handling of callback errors 418 | 'handle-callback-err': ERROR, 419 | 420 | // @TODO decide if this is good or not 421 | 'no-mixed-requires': ERROR, 422 | 423 | // Disallow error prone syntax 424 | 'no-new-require': ERROR, 425 | 426 | // Always use path.join for windows support 427 | 'no-path-concat': ERROR, 428 | 429 | // We use process.env wisely 430 | 'no-process-env': IGNORE, 431 | 432 | // We know what we are doing 433 | 'no-process-exit': IGNORE, 434 | 435 | // No need to disallow any modules 436 | 'no-restricted-modules': IGNORE, 437 | 438 | // Sometimes sync methods are useful, so warn but don't error 439 | 'no-sync': WARN, 440 | 441 | 442 | // -------------------------------------- 443 | // Stylistic 444 | // These rules are purely matters of style and are quite subjective. 445 | 446 | // We don't use spaces with brackets 447 | 'array-bracket-spacing': [ERROR, 'never'], 448 | 449 | // Disallow or enforce spaces inside of single line blocks 450 | 'block-spacing': [ERROR, 'always'], 451 | 452 | // Opening brace on same line, closing brace on its own line, except when statement is a single line 453 | 'brace-style': [ERROR, 'stroustrup', { allowSingleLine: true }], 454 | 455 | // Use camel case 456 | 'camelcase': ERROR, 457 | 458 | // ES6 supports dangling commas 459 | 'comma-dangle': [ERROR, 'never'], 460 | 461 | // Require a comma after always 462 | 'comma-spacing': [ERROR, { before: false, after: true }], 463 | 464 | // Commas go last, we have tooling to detect if we forget a comma 465 | 'comma-style': [ERROR, 'last'], 466 | 467 | // Require or disallow padding inside computed properties 468 | 'computed-property-spacing': [ERROR, 'never'], 469 | 470 | // Enabling this was incredibly annoying when doing layers of nesting 471 | 'consistent-this': IGNORE, 472 | 473 | // Enable to make UNIX people's lives easier 474 | 'eol-last': ERROR, 475 | 476 | // We never use this, it seems silly to allow this 477 | 'func-call-spacing': [ERROR, 'never'], 478 | 479 | // This rule is not currently useful 480 | 'func-name-matching': IGNORE, 481 | 482 | // We like anonymous functions 483 | 'func-names': IGNORE, 484 | 485 | // Prefer to define functions via variables 486 | 'func-style': [WARN, 'declaration'], 487 | 488 | // Nothing we want to blacklist 489 | // blacklist certain identifiers to prevent them being used 490 | 'id-blacklist': IGNORE, 491 | 492 | // Sometimes short names are appropriate 493 | 'id-length': IGNORE, 494 | 495 | // Camel case handles this for us 496 | 'id-match': IGNORE, 497 | 498 | // Use tabs and indent case blocks 499 | 'indent': [ERROR, 'tab', { 500 | SwitchCase: 1, 501 | VariableDeclarator: 0, 502 | outerIIFEBody: 1, 503 | MemberExpression: 1, 504 | FunctionDeclaration: { 505 | body: 1, 506 | parameters: 0 507 | }, 508 | FunctionExpression: { 509 | body: 1, 510 | parameters: 0 511 | } 512 | }], 513 | // ^ broken before, let us try again 514 | 515 | // Prefer double qoutes for JSX properties: , 516 | 'jsx-quotes': [ERROR, 'prefer-double'], 517 | 518 | // Space after the colon 519 | 'key-spacing': [ERROR, { 520 | beforeColon: false, 521 | afterColon: true 522 | }], 523 | 524 | // Always force a space before and after a keyword 525 | 'keyword-spacing': [ERROR], 526 | 527 | // we use both 528 | 'line-comment-position': IGNORE, 529 | 530 | // Enforce unix line breaks 531 | 'linebreak-style': [ERROR, 'unix'], 532 | 533 | // Enforce new lines before block comments 534 | 'lines-around-comment': [ERROR, { 535 | beforeBlockComment: true, 536 | allowBlockStart: true 537 | }], 538 | 539 | // Enforce directives with no line above but a line below 540 | 'lines-around-directive': [ERROR, { 541 | before: 'never', 542 | after: 'always' 543 | }], 544 | 545 | // Disabled to ensure consistency with complexity option 546 | 'max-depth': IGNORE, 547 | 548 | // We use soft wrap 549 | 'max-len': IGNORE, 550 | 551 | // Perhaps in the future we can set this to 300 or so 552 | // but for now it is not useful for the things we write and maintain 553 | 'max-lines': IGNORE, 554 | 555 | // We are smart enough to know if this is bad or not 556 | 'max-nested-callbacks': IGNORE, 557 | 558 | // Sometimes we have no control over this for compat reasons, so just warn 559 | 'max-params': [WARN, MAX_PARAMS], 560 | 561 | // Let's give this a go and see what is appropriate for our usage 562 | 'max-statements-per-line': [WARN, {max: 1}], 563 | 564 | // We should be able to use whatever feels right 565 | 'max-statements': IGNORE, 566 | 567 | // Current options are not useful 568 | 'multiline-ternary': IGNORE, 569 | 570 | // Constructors should be CamelCase 571 | 'new-cap': ERROR, 572 | 573 | // Always use parens when instantiating a class 574 | 'new-parens': ERROR, 575 | 576 | // Too difficult to enforce correctly as too many edge-cases 577 | // require or disallow an empty newline after variable declarations 578 | 'newline-after-var': IGNORE, 579 | 580 | // Let the author decide 581 | // enforce newline after each call when chaining the calls 582 | 'newline-per-chained-call': IGNORE, 583 | 584 | // Don't use the array constructor when it is not needed 585 | 'no-array-constructor': ERROR, 586 | 587 | // We never use bitwise, they are too clever 588 | 'no-bitwise': ERROR, 589 | 590 | // We use continue 591 | 'no-continue': IGNORE, 592 | 593 | // We like inline comments 594 | 'no-inline-comments': IGNORE, 595 | 596 | // The code could be optimised if this error occurs 597 | 'no-lonely-if': ERROR, 598 | 599 | // Seems sensible, let's see how we go with this 600 | 'no-mixed-operators': ERROR, 601 | 602 | // Don't mix spaces and tabs 603 | // Maybe [ERROR, 'smart-tabs'] will be better, we will see 604 | 'no-mixed-spaces-and-tabs': ERROR, 605 | 606 | // We use multiple empty lines for styling 607 | 'no-multiple-empty-lines': IGNORE, 608 | 609 | // Sometimes it is more understandable with a negated condition 610 | 'no-negated-condition': IGNORE, 611 | 612 | // Sometimes these are useful 613 | 'no-nested-ternary': IGNORE, 614 | 615 | // Use {} instead of new Object() 616 | 'no-new-object': ERROR, 617 | 618 | // We use plus plus 619 | 'no-plusplus': IGNORE, 620 | 621 | // Handled by other rules 622 | 'no-restricted-syntax': IGNORE, 623 | 624 | // We use tabs 625 | 'no-tabs': IGNORE, 626 | 627 | // Sometimes ternaries are useful 628 | 'no-ternary': IGNORE, 629 | 630 | // Disallow trailing spaces 631 | 'no-trailing-spaces': ERROR, 632 | 633 | // Sometimes this is useful when avoiding shadowing 634 | 'no-underscore-dangle': IGNORE, 635 | 636 | // Sensible 637 | 'no-unneeded-ternary': ERROR, 638 | 639 | // Seems sensible 640 | 'no-whitespace-before-property': ERROR, 641 | 642 | // Object indentation should be consistent within the object 643 | // Ignore until https://github.com/eslint/eslint/issues/7434 is done 644 | 'object-curly-newline': [IGNORE, {multiline: true}], 645 | 646 | // Desirable, but too many edge cases it turns out where it is actually preferred 647 | 'object-curly-spacing': IGNORE, 648 | 649 | // We like multiple var statements 650 | 'one-var': IGNORE, 651 | 'one-var-declaration-per-line': IGNORE, 652 | 653 | // Force use of shorthands when available 654 | 'operator-assignment': [ERROR, 'always'], 655 | 656 | // Should be before, but not with =, *=, /=, += lines 657 | // @TODO figure out how to enforce 658 | 'operator-linebreak': IGNORE, 659 | 660 | // This rule doesn't appear to work correclty 661 | 'padded-blocks': IGNORE, 662 | 663 | // Seems like a good idea to error about this 664 | // was broken before, but lets give a go again 665 | 'quote-props': [ERROR, 'consistent-as-needed'], 666 | 667 | // Use single quotes where escaping isn't needed 668 | 'quotes': [ERROR, 'single', 'avoid-escape'], 669 | 670 | // We use YUIdoc 671 | 'require-jsdoc': IGNORE, 672 | 673 | // If semi's are used, then add spacing after 674 | 'semi-spacing': [ERROR, { before: false, after: true }], 675 | 676 | // Never use semicolons 677 | 'semi': [ERROR, 'never'], 678 | 679 | // Importance makes more sense than alphabetical 680 | 'sort-keys': IGNORE, 681 | 682 | // Importance makes more sense than alphabetical 683 | 'sort-vars': IGNORE, 684 | 685 | // Always force a space before a { 686 | 'space-before-blocks': [ERROR, 'always'], 687 | 688 | // function () {, get blah () { 689 | 'space-before-function-paren': [ERROR, 'always'], 690 | 691 | // This is for spacing between (), so doSomething( WARN, ERROR, 3 ) or if ( WARN === 3 ) 692 | // which we want for ifs, but don't want for calls 693 | 'space-in-parens': IGNORE, 694 | 695 | // We use this 696 | 'space-infix-ops': ERROR, 697 | 698 | // We use this 699 | 'space-unary-ops': ERROR, 700 | 701 | // We use this 702 | // 'spaced-line-comment': ERROR, 703 | 'spaced-comment': ERROR, 704 | 705 | // When would we ever do this? Makes no sense 706 | 'unicode-bom': [ERROR, 'never'], 707 | 708 | // We do this, seems to work well 709 | 'wrap-regex': ERROR, 710 | 711 | 712 | // -------------------------------------- 713 | // ECMAScript 6 / ES6 714 | 715 | // Sensible to create more informed and clear code 716 | 'arrow-body-style': [ERROR, 'as-needed'], 717 | 718 | // We do this, no reason why, just what we do 719 | 'arrow-parens': [ERROR, 'always'], 720 | 721 | // Require consistent spacing for arrow functions 722 | 'arrow-spacing': ERROR, 723 | 724 | // Makes sense as otherwise runtime error will occur 725 | 'constructor-super': ERROR, 726 | 727 | // Seems the most consistent location for it 728 | 'generator-star-spacing': [ERROR, 'before'], 729 | 730 | // Makes sense 731 | 'no-class-assign': ERROR, 732 | 733 | // Makes sense 734 | 'no-confusing-arrow': ERROR, 735 | 736 | // Of course 737 | 'no-const-assign': ERROR, 738 | 739 | // Of course 740 | 'no-dupe-class-members': ERROR, 741 | 742 | // Seems sensible, may be times when we want this 743 | 'no-duplicate-imports': WARN, 744 | 745 | // Seems sensible 746 | 'no-new-symbol': ERROR, 747 | 748 | // No need to disallow any imports 749 | 'no-restricted-imports': IGNORE, 750 | 751 | // Makes sense as otherwise runtime error will occur 752 | 'no-this-before-super': ERROR, 753 | 754 | // Seems sensible 755 | 'no-useless-computed-key': ERROR, 756 | 757 | // Seems sensible 758 | 'no-useless-constructor': ERROR, 759 | 760 | // Seems sensible 761 | 'no-useless-rename': ERROR, 762 | 763 | // Of course 764 | // However, would be good to have this adjusted per environment 765 | 'no-var': WARN, 766 | 767 | // Enforce ES6 object shorthand 768 | 'object-shorthand': ERROR, 769 | 770 | // Better performance when running native 771 | // but horrible performance if not running native as could fallback to bind 772 | // https://travis-ci.org/bevry/es6-benchmarks 773 | 'prefer-arrow-callback': IGNORE, 774 | 775 | // Of course 776 | 'prefer-const': ERROR, 777 | 778 | // Makes sense 779 | 'prefer-numeric-literals': ERROR, 780 | 781 | // Controversial change, but makes sense to move towards to reduce the risk of bad people overwriting apply and call 782 | // https://github.com/eslint/eslint/issues/ERROR939 783 | // Ignoring because node does not yet support it, so we don't want to get the performance hit of using the compiled ES5 version 784 | 'prefer-reflect': IGNORE, 785 | 786 | // Makes sense to enforce, exceptions should be opted out of on case by case 787 | 'prefer-rest-params': ERROR, 788 | 789 | // Sure, why not 790 | 'prefer-spread': ERROR, 791 | 792 | // Too annoying to enforce 793 | 'prefer-template': IGNORE, 794 | 795 | // Makes sense 796 | 'require-yield': ERROR, 797 | 798 | // Makes sense 799 | 'rest-spread-spacing': [ERROR, 'never'], 800 | 801 | // Importance makes more sense than alphabetical 802 | 'sort-imports': IGNORE, 803 | 804 | // Makes sense 805 | 'symbol-description': ERROR, 806 | 807 | // Makes sense 808 | 'template-curly-spacing': [ERROR, 'never'], 809 | 810 | // Our preference 811 | 'yield-star-spacing': [ERROR, 'both'], 812 | 813 | 814 | // -------------------------------------- 815 | // Plugins 816 | 817 | // Not sure why, but okay 818 | 'flow-vars/define-flow-type': WARN, 819 | 'flow-vars/use-flow-type': WARN 820 | } 821 | } 822 | 823 | // ------------------------------------ 824 | // Enhancements 825 | 826 | // Load data.json file if it exists 827 | const rules = Object.keys(config.rules) 828 | let data = {}, devDeps = [] 829 | try { 830 | data = require('./package.json') || {} 831 | devDeps = Object.keys(data.devDependencies || {}) 832 | } 833 | catch ( err ) {} 834 | 835 | // Set the parser options depending on our editions 836 | if ( data.editions ) { 837 | const sourceEdition = data.editions[0] 838 | for ( let syntaxIndex = 0; syntaxIndex < sourceEdition.syntaxes.length; ++syntaxIndex ) { 839 | const syntax = sourceEdition.syntaxes[syntaxIndex] 840 | if ( syntax === 'esnext' ) { 841 | config.parserOptions.ecmaVersion = 8 842 | break 843 | } 844 | else if ( syntax.indexOf('es') === 0 ) { 845 | config.parserOptions.ecmaVersion = Number(syntax.substr(2)) 846 | break 847 | } 848 | } 849 | config.parserOptions.sourceType = sourceEdition.syntaxes.indexOf('import') !== -1 ? 'module' : 'script' 850 | config.parserOptions.ecmaFeatures.jsx = sourceEdition.syntaxes.indexOf('jsx') !== -1 851 | } 852 | else { 853 | // node version 854 | const node = data.engines && data.engines.node && data.engines.node.replace('>=', '').replace(/ /g, '').replace(/\..+$/, '') 855 | config.parserOptions.ecmaVersion = node >= 6 ? 6 : 5 856 | } 857 | 858 | // Set the environments depending on whether we need them or not 859 | config.env.es6 = Boolean(config.parserOptions.ecmaVersion && config.parserOptions.ecmaVersion >= 6) 860 | config.env.node = Boolean(data.engines && data.engines.node) 861 | config.env.browser = Boolean(data.browser) 862 | if ( config.env.browser ) { 863 | config.env.commonjs = true 864 | if ( config.env.node ) { 865 | config.env['shared-node-browser'] = true 866 | } 867 | } 868 | 869 | // If not on legacy javascript, disable esnext rules 870 | if ( config.parserOptions.ecmaVersion && config.parserOptions.ecmaVersion <= 5 ) { 871 | config.rules['no-var'] = IGNORE 872 | config.rules['object-shorthand'] = [ERROR, 'never'] 873 | } 874 | 875 | // Add babel parsing if installed 876 | if ( devDeps.indexOf('babel-eslint') !== -1 ) { 877 | config.parser = 'babel-eslint' 878 | } 879 | 880 | // Add react linting if installed 881 | if ( devDeps.indexOf('eslint-plugin-react') !== -1 ) { 882 | config.extends.push('plugin:react/recommended') 883 | config.plugins.push('react') 884 | } 885 | 886 | if ( devDeps.indexOf('eslint-plugin-babel') !== -1 ) { 887 | // Remove rules that babel rules replace 888 | config.plugins.push('babel') 889 | const replacements = [ 890 | 'new-cap', 891 | 'object-curly-spacing' 892 | ] 893 | replacements.forEach(function (key) { 894 | if ( rules.indexOf(key) !== -1 ) { 895 | config.rules['babel/' + key] = config.rules[key] 896 | config.rules[key] = IGNORE 897 | } 898 | }) 899 | } 900 | else { 901 | // Remove babel rules if not using babel 902 | rules.forEach(function (key) { 903 | if ( key.indexOf('babel/') === 0 ) { 904 | delete config.rules[key] 905 | } 906 | }) 907 | } 908 | 909 | if ( devDeps.indexOf('eslint-plugin-flow-vars') !== -1 ) { 910 | // Add flow plugin if installed 911 | config.plugins.push('flow-vars') 912 | } 913 | else { 914 | // Remove flow rules if plugin not installed 915 | rules.forEach(function (key) { 916 | if ( key.indexOf('flow-vars/') === 0 ) { 917 | delete config.rules[key] 918 | } 919 | }) 920 | } 921 | 922 | 923 | // ------------------------------------ 924 | // Export 925 | 926 | module.exports = config 927 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 2017 April 12 2 | # https://github.com/bevry/base 3 | 4 | # System Files 5 | **/.DS_Store 6 | 7 | # Temp Files 8 | yarn.lock 9 | **/.docpad.db 10 | **/out.* 11 | **/*.log 12 | **/*.cpuprofile 13 | **/*.heapsnapshot 14 | 15 | # Build Files 16 | build/ 17 | components/ 18 | bower_components/ 19 | node_modules/ 20 | out/ 21 | *output/ 22 | coffeejs/ 23 | coffee/ 24 | es5/ 25 | es2015/ 26 | esnext/ 27 | docs/ 28 | 29 | # Editor Caches 30 | .c9/ 31 | .vscode/ 32 | 33 | # Private Files 34 | .env 35 | .idea 36 | .cake_task_cache 37 | 38 | 39 | # ===================================== 40 | # CUSTOM 41 | 42 | # None 43 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # 2017 April 3 2 | # https://github.com/bevry/base 3 | 4 | # Temp Files 5 | yarn.lock 6 | **/.docpad.db 7 | **/out.* 8 | **/*.log 9 | **/*.cpuprofile 10 | **/*.heapsnapshot 11 | 12 | # Editor Files 13 | .c9/ 14 | .vscode/ 15 | 16 | # Build Files 17 | build/ 18 | components/ 19 | bower_components/ 20 | node_modules/ 21 | 22 | # Private Files 23 | .env 24 | 25 | # Documentation Files 26 | docs/ 27 | guides/ 28 | BACKERS.md 29 | CONTRIBUTING.md 30 | HISTORY.md 31 | 32 | # Development Files 33 | web/ 34 | **/example* 35 | **/test* 36 | .editorconfig 37 | .eslintrc* 38 | .jshintrc 39 | .jscrc 40 | coffeelint* 41 | .travis* 42 | nakefile* 43 | Cakefile 44 | Makefile 45 | 46 | # Other Package Definitions 47 | template.js 48 | component.json 49 | bower.json 50 | 51 | # ===================================== 52 | # CUSTOM MODIFICATIONS 53 | 54 | # None 55 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - '0.8' 5 | - '0.10' 6 | - '0.12' 7 | - '4' 8 | - '6' 9 | - '8' 10 | - '9' 11 | matrix: 12 | fast_finish: true 13 | allow_failures: 14 | - node_js: '0.8' 15 | - node_js: '0.10' 16 | - node_js: '9' 17 | cache: 18 | directories: 19 | - "$HOME/.npm" 20 | - "$HOME/.yarn-cache" 21 | install: 22 | - eval "$(curl -s https://raw.githubusercontent.com/bevry/awesome-travis/ef794235b7094de5e49fb64e226da032ce135ecd/scripts/node-install.bash)" 23 | before_script: 24 | - eval "$(curl -s https://raw.githubusercontent.com/bevry/awesome-travis/ef794235b7094de5e49fb64e226da032ce135ecd/scripts/node-verify.bash)" 25 | after_success: 26 | - eval "$(curl -s https://raw.githubusercontent.com/bevry/awesome-travis/ef794235b7094de5e49fb64e226da032ce135ecd/scripts/node-publish.bash)" 27 | notifications: 28 | slack: 29 | secure: Czx/QiM3Sqoj53WR2fnOHfye2CvX1BG3Kl6iWn3gtoFLF2hPTT1tIsyoxxr+c7dPx41ygKzwTaPsM2QD/KSgCAmC0m2zy5x0a3iCsFIZgMM0vWVJXQXgUFwrNVJ/vYgfObKqTOGfmRaY1ybWSfUkveMjespXGamrm1zDKj30pMA= 30 | email: 31 | recipients: 32 | secure: lYFLIoESp69BxgyrpDMmMXrh6jya+j3Vd2cyVykjbDYlY1plzxSqRO/hv/26/TEK9yFwzRb3c+pkIjlPlS3cKTXIiz+9tJp/HKTeE4hfjpBI0T28k+tXkQEw26lQ1vbiYbxL1aWuhKFyc5EnX/9yeBPveTs3iuGBF8+IwgMt7xc= 33 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | # Before You Post! 7 | 8 | ## Support 9 | 10 | We offer support through our [Official Support Channels](https://bevry.me/support). Do not use GitHub Issues for support, your issue will be closed. 11 | 12 | 13 | ## Contribute 14 | 15 | Our [Contributing Guide](https://bevry.me/contribute) contains useful tips and suggestions for how to contribute to this project, it's worth the read. 16 | 17 | 18 | ## Development 19 | 20 | ### Setup 21 | 22 | 1. Install [Node.js](https://learn.bevry.me/node/install) 23 | 24 | 1. Fork the project and clone your fork - [guide](https://help.github.com/articles/fork-a-repo/) 25 | 26 | 1. Setup the project for development 27 | 28 | ``` bash 29 | npm run our:setup 30 | ``` 31 | 32 | 33 | ### Developing 34 | 35 | 1. Compile changes 36 | 37 | ``` bash 38 | npm run our:compile 39 | ``` 40 | 41 | 1. Run tests 42 | 43 | ``` bash 44 | npm test 45 | ``` 46 | 47 | 48 | ### Publishing 49 | 50 | Follow these steps in order to implement your changes/improvements into your desired project: 51 | 52 | 53 | #### Preparation 54 | 55 | 1. Make sure your changes are on their own branch that is branched off from master. 56 | 1. You can do this by: `git checkout master; git checkout -b your-new-branch` 57 | 1. And push the changes up by: `git push origin your-new-branch` 58 | 59 | 1. Ensure all tests pass: 60 | 61 | ``` bash 62 | npm test 63 | ``` 64 | 65 | > If possible, add tests for your change, if you don't know how, mention this in your pull request 66 | 67 | 1. Ensure the project is ready for publishing: 68 | 69 | ``` 70 | npm run our:release:prepare 71 | ``` 72 | 73 | 74 | #### Pull Request 75 | 76 | To send your changes for the project owner to merge in: 77 | 78 | 1. Submit your pull request 79 | 1. When submitting, if the original project has a `dev` or `integrate` branch, use that as the target branch for your pull request instead of the default `master` 80 | 1. By submitting a pull request you agree for your changes to have the same license as the original plugin 81 | 82 | 83 | #### Publish 84 | 85 | To publish your changes as the project owner: 86 | 87 | 1. Switch to the master branch: 88 | 89 | ``` bash 90 | git checkout master 91 | ``` 92 | 93 | 1. Merge in the changes of the feature branch (if applicable) 94 | 95 | 1. Increment the version number in the `package.json` file according to the [semantic versioning](http://semver.org) standard, that is: 96 | 1. `x.0.0` MAJOR version when you make incompatible API changes (note: DocPad plugins must use v2 as the major version, as v2 corresponds to the current DocPad v6.x releases) 97 | 1. `x.y.0` MINOR version when you add functionality in a backwards-compatible manner 98 | 1. `x.y.z` PATCH version when you make backwards-compatible bug fixes 99 | 100 | 1. Add an entry to the changelog following the format of the previous entries, an example of this is: 101 | 102 | ``` markdown 103 | ## v6.29.0 2013 April 1 104 | - Progress on [issue #474](https://github.com/bevry/docpad/issues/474) 105 | - DocPad will now set permissions based on the process's ability 106 | - Thanks to [Avi Deitcher](https://github.com/deitch), [Stephan Lough](https://github.com/stephanlough) for [issue #165](https://github.com/bevry/docpad/issues/165) 107 | - Updated dependencies 108 | ``` 109 | 110 | 111 | 1. Commit the changes with the commit title set to something like `v6.29.0. Bugfix. Improvement.` and commit description set to the changelog entry 112 | 113 | 114 | 1. Ensure the project is ready for publishing: 115 | 116 | ``` 117 | npm run our:release:prepare 118 | ``` 119 | 120 | 1. Prepare the release and publish it to npm and git: 121 | 122 | ``` bash 123 | npm run our:release 124 | ``` 125 | -------------------------------------------------------------------------------- /HISTORY.md: -------------------------------------------------------------------------------- 1 | # History 2 | 3 | ## v1.3.0 2018 January 24 4 | - Update dependencies 5 | 6 | ## v1.2.1 2018 January 24 7 | - Recompile without uneeded plugin 8 | 9 | ## v1.2.0 2018 January 24 10 | - Node v9 compatibility 11 | - Thanks to [Ángel González](https://github.com/Aglezabad) for [pull request #6](https://github.com/bevry/progressbar/pull/6) 12 | 13 | ## v1.1.1 2016 May 4 14 | - Fixed `Range Error: Invalid array length` that could occur under special circumstances 15 | - Thanks to [Steve McArthur](https://github.com/SteveMcArthur) for [issue #4](https://github.com/bevry/progressbar/issues/4) 16 | 17 | ## v1.1.0 2016 May 2 18 | - Converted from CoffeeScript to JavaScript 19 | 20 | ## v1.0.3 2013 November 1 21 | - Updated dependencies 22 | 23 | ## v1.0.2 2013 April 25 24 | - Never allow an invalid total 25 | 26 | ## v1.0.1 2013 April 25 27 | - Fixed ubuntu and windows 28 | 29 | ## v1.0.0 2013 April 25 30 | - Initial working version 31 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 |

License

4 | 5 | Unless stated otherwise all works are: 6 | 7 |
8 | 9 | and licensed under: 10 | 11 | 12 | 13 |

MIT License

14 | 15 |
16 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
17 | 
18 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
19 | 
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 | 
22 | 23 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Progress Bar

4 | 5 | 6 | 7 | 8 | 9 | 10 | Travis CI Build Status 11 | NPM version 12 | NPM downloads 13 | Dependency Status 14 | Dev Dependency Status 15 |
16 | Patreon donate button 17 | Open Collective donate button 18 | Gratipay donate button 19 | Flattr donate button 20 | PayPal donate button 21 | Bitcoin donate button 22 | Wishlist browse button 23 |
24 | Slack community badge 25 | 26 | 27 | 28 | 29 | 30 | 31 | A nice wrapper around [TJ Holowaychuck's](https://github.com/visionmedia) [node-progress](https://github.com/visionmedia/node-progress) with chaining, domains, and steps 32 | 33 | 34 | 35 | 36 | 37 | 38 |

Install

39 | 40 |

NPM

43 | 44 |

Editions

45 | 46 |

This package is published with the following editions:

47 | 48 | 51 | 52 |

Older environments may need Babel's Polyfill or something similar.

53 | 54 | 55 | 56 | 57 | ## Usage 58 | 59 | ### Example 60 | 61 | ``` javascript 62 | const progress = require('progressbar').create().step('the task you are currently performing') 63 | // use an array of steps that execute one second after each other 64 | // as if we do them all instantly 65 | // you won't see the progress bar as it will be instant 66 | ;[ 67 | () => progress.setTotal(5), 68 | () => progress.setTick(1), 69 | () => progress.setTick(2), 70 | () => progress.setTick(3), 71 | () => progress.addTick(), 72 | () => progress.addTick(), 73 | () => progress.finish() // remove and destroy the progress bar 74 | ].forEach(function (step, index) { 75 | setTimeout(step, index * 1000) 76 | }) 77 | ``` 78 | 79 | ### ProgressBar API 80 | 81 | - `step(step)` - set the step, resets the total and the tick 82 | - `setTick(ticks)` - set the completed ticks 83 | - `addTick()` - add 1 to the completed ticks 84 | - `getTick()` - get the completed ticks 85 | - `setTotal(total)` - set the total ticks 86 | - `addTotal()` - add 1 to the total ticks 87 | - `getTotal()` - get the total ticks 88 | - `finish()` - finish manually, will destroy the progress bar 89 | 90 | 91 | 92 | 93 |

History

94 | 95 | Discover the release history by heading on over to the HISTORY.md file. 96 | 97 | 98 | 99 | 100 | 101 | 102 |

Contribute

103 | 104 | Discover how you can contribute by heading on over to the CONTRIBUTING.md file. 105 | 106 | 107 | 108 | 109 | 110 | 111 |

Backers

112 | 113 |

Maintainers

114 | 115 | These amazing people are maintaining this project: 116 | 117 | 118 | 119 |

Sponsors

120 | 121 | No sponsors yet! Will you be the first? 122 | 123 | Patreon donate button 124 | Open Collective donate button 125 | Gratipay donate button 126 | Flattr donate button 127 | PayPal donate button 128 | Bitcoin donate button 129 | Wishlist browse button 130 | 131 |

Contributors

132 | 133 | These amazing people have contributed code to this project: 134 | 135 | 138 | 139 | Discover how you can contribute by heading on over to the CONTRIBUTING.md file. 140 | 141 | 142 | 143 | 144 | 145 | 146 |

License

147 | 148 | Unless stated otherwise all works are: 149 | 150 | 151 | 152 | and licensed under: 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // 2016 December 29 2 | // https://github.com/bevry/editions 3 | 'use strict' 4 | 5 | module.exports = require('editions').requirePackage(__dirname, require) 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "progressbar", 3 | "version": "1.2.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.3.0", 9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", 10 | "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", 11 | "dev": true 12 | }, 13 | "acorn-jsx": { 14 | "version": "3.0.1", 15 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 16 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 17 | "dev": true, 18 | "requires": { 19 | "acorn": "3.3.0" 20 | }, 21 | "dependencies": { 22 | "acorn": { 23 | "version": "3.3.0", 24 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 25 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 26 | "dev": true 27 | } 28 | } 29 | }, 30 | "ajv": { 31 | "version": "5.5.2", 32 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", 33 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", 34 | "dev": true, 35 | "requires": { 36 | "co": "4.6.0", 37 | "fast-deep-equal": "1.0.0", 38 | "fast-json-stable-stringify": "2.0.0", 39 | "json-schema-traverse": "0.3.1" 40 | } 41 | }, 42 | "ajv-keywords": { 43 | "version": "2.1.1", 44 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", 45 | "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", 46 | "dev": true 47 | }, 48 | "ambi": { 49 | "version": "2.5.0", 50 | "resolved": "https://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz", 51 | "integrity": "sha1-fI43K+SIkRV+fOoBy2+RQ9H3QiA=", 52 | "dev": true, 53 | "requires": { 54 | "editions": "1.3.3", 55 | "typechecker": "4.4.1" 56 | } 57 | }, 58 | "ansi-escapes": { 59 | "version": "3.0.0", 60 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", 61 | "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", 62 | "dev": true 63 | }, 64 | "ansi-regex": { 65 | "version": "2.1.1", 66 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 67 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 68 | "dev": true 69 | }, 70 | "ansi-styles": { 71 | "version": "2.2.1", 72 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 73 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 74 | "dev": true 75 | }, 76 | "ansicolors": { 77 | "version": "0.3.2", 78 | "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", 79 | "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", 80 | "dev": true 81 | }, 82 | "ansistyles": { 83 | "version": "0.1.3", 84 | "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz", 85 | "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=", 86 | "dev": true 87 | }, 88 | "anymatch": { 89 | "version": "1.3.2", 90 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", 91 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", 92 | "dev": true, 93 | "optional": true, 94 | "requires": { 95 | "micromatch": "2.3.11", 96 | "normalize-path": "2.1.1" 97 | } 98 | }, 99 | "argparse": { 100 | "version": "1.0.9", 101 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 102 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 103 | "dev": true, 104 | "requires": { 105 | "sprintf-js": "1.0.3" 106 | } 107 | }, 108 | "arr-diff": { 109 | "version": "2.0.0", 110 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 111 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 112 | "dev": true, 113 | "optional": true, 114 | "requires": { 115 | "arr-flatten": "1.1.0" 116 | } 117 | }, 118 | "arr-flatten": { 119 | "version": "1.1.0", 120 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 121 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 122 | "dev": true, 123 | "optional": true 124 | }, 125 | "array-union": { 126 | "version": "1.0.2", 127 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 128 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 129 | "dev": true, 130 | "requires": { 131 | "array-uniq": "1.0.3" 132 | } 133 | }, 134 | "array-uniq": { 135 | "version": "1.0.3", 136 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 137 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 138 | "dev": true 139 | }, 140 | "array-unique": { 141 | "version": "0.2.1", 142 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 143 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 144 | "dev": true, 145 | "optional": true 146 | }, 147 | "arrify": { 148 | "version": "1.0.1", 149 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 150 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 151 | "dev": true 152 | }, 153 | "asn1": { 154 | "version": "0.2.3", 155 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 156 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 157 | "dev": true 158 | }, 159 | "assert-helpers": { 160 | "version": "4.5.0", 161 | "resolved": "https://registry.npmjs.org/assert-helpers/-/assert-helpers-4.5.0.tgz", 162 | "integrity": "sha1-IecDVQNIBlYh8V3br7DbOzJfL6Q=", 163 | "dev": true, 164 | "requires": { 165 | "ansicolors": "0.3.2", 166 | "diff": "3.4.0", 167 | "editions": "1.3.3" 168 | } 169 | }, 170 | "assert-plus": { 171 | "version": "1.0.0", 172 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 173 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 174 | "dev": true 175 | }, 176 | "async-each": { 177 | "version": "1.0.1", 178 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", 179 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", 180 | "dev": true, 181 | "optional": true 182 | }, 183 | "asynckit": { 184 | "version": "0.4.0", 185 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 186 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 187 | "dev": true 188 | }, 189 | "aws-sign2": { 190 | "version": "0.7.0", 191 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 192 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 193 | "dev": true 194 | }, 195 | "aws4": { 196 | "version": "1.6.0", 197 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 198 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 199 | "dev": true 200 | }, 201 | "babel-cli": { 202 | "version": "6.26.0", 203 | "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", 204 | "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", 205 | "dev": true, 206 | "requires": { 207 | "babel-core": "6.26.0", 208 | "babel-polyfill": "6.26.0", 209 | "babel-register": "6.26.0", 210 | "babel-runtime": "6.26.0", 211 | "chokidar": "1.7.0", 212 | "commander": "2.13.0", 213 | "convert-source-map": "1.5.1", 214 | "fs-readdir-recursive": "1.1.0", 215 | "glob": "7.1.2", 216 | "lodash": "4.17.4", 217 | "output-file-sync": "1.1.2", 218 | "path-is-absolute": "1.0.1", 219 | "slash": "1.0.0", 220 | "source-map": "0.5.7", 221 | "v8flags": "2.1.1" 222 | } 223 | }, 224 | "babel-code-frame": { 225 | "version": "6.26.0", 226 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 227 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 228 | "dev": true, 229 | "requires": { 230 | "chalk": "1.1.3", 231 | "esutils": "2.0.2", 232 | "js-tokens": "3.0.2" 233 | } 234 | }, 235 | "babel-core": { 236 | "version": "6.26.0", 237 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", 238 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", 239 | "dev": true, 240 | "requires": { 241 | "babel-code-frame": "6.26.0", 242 | "babel-generator": "6.26.0", 243 | "babel-helpers": "6.24.1", 244 | "babel-messages": "6.23.0", 245 | "babel-register": "6.26.0", 246 | "babel-runtime": "6.26.0", 247 | "babel-template": "6.26.0", 248 | "babel-traverse": "6.26.0", 249 | "babel-types": "6.26.0", 250 | "babylon": "6.18.0", 251 | "convert-source-map": "1.5.1", 252 | "debug": "2.6.9", 253 | "json5": "0.5.1", 254 | "lodash": "4.17.4", 255 | "minimatch": "3.0.4", 256 | "path-is-absolute": "1.0.1", 257 | "private": "0.1.8", 258 | "slash": "1.0.0", 259 | "source-map": "0.5.7" 260 | } 261 | }, 262 | "babel-generator": { 263 | "version": "6.26.0", 264 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", 265 | "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", 266 | "dev": true, 267 | "requires": { 268 | "babel-messages": "6.23.0", 269 | "babel-runtime": "6.26.0", 270 | "babel-types": "6.26.0", 271 | "detect-indent": "4.0.0", 272 | "jsesc": "1.3.0", 273 | "lodash": "4.17.4", 274 | "source-map": "0.5.7", 275 | "trim-right": "1.0.1" 276 | } 277 | }, 278 | "babel-helper-call-delegate": { 279 | "version": "6.24.1", 280 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 281 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 282 | "dev": true, 283 | "requires": { 284 | "babel-helper-hoist-variables": "6.24.1", 285 | "babel-runtime": "6.26.0", 286 | "babel-traverse": "6.26.0", 287 | "babel-types": "6.26.0" 288 | } 289 | }, 290 | "babel-helper-define-map": { 291 | "version": "6.26.0", 292 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", 293 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", 294 | "dev": true, 295 | "requires": { 296 | "babel-helper-function-name": "6.24.1", 297 | "babel-runtime": "6.26.0", 298 | "babel-types": "6.26.0", 299 | "lodash": "4.17.4" 300 | } 301 | }, 302 | "babel-helper-function-name": { 303 | "version": "6.24.1", 304 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 305 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 306 | "dev": true, 307 | "requires": { 308 | "babel-helper-get-function-arity": "6.24.1", 309 | "babel-runtime": "6.26.0", 310 | "babel-template": "6.26.0", 311 | "babel-traverse": "6.26.0", 312 | "babel-types": "6.26.0" 313 | } 314 | }, 315 | "babel-helper-get-function-arity": { 316 | "version": "6.24.1", 317 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 318 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 319 | "dev": true, 320 | "requires": { 321 | "babel-runtime": "6.26.0", 322 | "babel-types": "6.26.0" 323 | } 324 | }, 325 | "babel-helper-hoist-variables": { 326 | "version": "6.24.1", 327 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 328 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 329 | "dev": true, 330 | "requires": { 331 | "babel-runtime": "6.26.0", 332 | "babel-types": "6.26.0" 333 | } 334 | }, 335 | "babel-helper-optimise-call-expression": { 336 | "version": "6.24.1", 337 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 338 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 339 | "dev": true, 340 | "requires": { 341 | "babel-runtime": "6.26.0", 342 | "babel-types": "6.26.0" 343 | } 344 | }, 345 | "babel-helper-regex": { 346 | "version": "6.26.0", 347 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", 348 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", 349 | "dev": true, 350 | "requires": { 351 | "babel-runtime": "6.26.0", 352 | "babel-types": "6.26.0", 353 | "lodash": "4.17.4" 354 | } 355 | }, 356 | "babel-helper-replace-supers": { 357 | "version": "6.24.1", 358 | "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 359 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 360 | "dev": true, 361 | "requires": { 362 | "babel-helper-optimise-call-expression": "6.24.1", 363 | "babel-messages": "6.23.0", 364 | "babel-runtime": "6.26.0", 365 | "babel-template": "6.26.0", 366 | "babel-traverse": "6.26.0", 367 | "babel-types": "6.26.0" 368 | } 369 | }, 370 | "babel-helpers": { 371 | "version": "6.24.1", 372 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 373 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 374 | "dev": true, 375 | "requires": { 376 | "babel-runtime": "6.26.0", 377 | "babel-template": "6.26.0" 378 | } 379 | }, 380 | "babel-messages": { 381 | "version": "6.23.0", 382 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 383 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 384 | "dev": true, 385 | "requires": { 386 | "babel-runtime": "6.26.0" 387 | } 388 | }, 389 | "babel-plugin-check-es2015-constants": { 390 | "version": "6.22.0", 391 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 392 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 393 | "dev": true, 394 | "requires": { 395 | "babel-runtime": "6.26.0" 396 | } 397 | }, 398 | "babel-plugin-transform-es2015-arrow-functions": { 399 | "version": "6.22.0", 400 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 401 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 402 | "dev": true, 403 | "requires": { 404 | "babel-runtime": "6.26.0" 405 | } 406 | }, 407 | "babel-plugin-transform-es2015-block-scoped-functions": { 408 | "version": "6.22.0", 409 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 410 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 411 | "dev": true, 412 | "requires": { 413 | "babel-runtime": "6.26.0" 414 | } 415 | }, 416 | "babel-plugin-transform-es2015-block-scoping": { 417 | "version": "6.26.0", 418 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", 419 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", 420 | "dev": true, 421 | "requires": { 422 | "babel-runtime": "6.26.0", 423 | "babel-template": "6.26.0", 424 | "babel-traverse": "6.26.0", 425 | "babel-types": "6.26.0", 426 | "lodash": "4.17.4" 427 | } 428 | }, 429 | "babel-plugin-transform-es2015-classes": { 430 | "version": "6.24.1", 431 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 432 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 433 | "dev": true, 434 | "requires": { 435 | "babel-helper-define-map": "6.26.0", 436 | "babel-helper-function-name": "6.24.1", 437 | "babel-helper-optimise-call-expression": "6.24.1", 438 | "babel-helper-replace-supers": "6.24.1", 439 | "babel-messages": "6.23.0", 440 | "babel-runtime": "6.26.0", 441 | "babel-template": "6.26.0", 442 | "babel-traverse": "6.26.0", 443 | "babel-types": "6.26.0" 444 | } 445 | }, 446 | "babel-plugin-transform-es2015-computed-properties": { 447 | "version": "6.24.1", 448 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 449 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 450 | "dev": true, 451 | "requires": { 452 | "babel-runtime": "6.26.0", 453 | "babel-template": "6.26.0" 454 | } 455 | }, 456 | "babel-plugin-transform-es2015-destructuring": { 457 | "version": "6.23.0", 458 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 459 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 460 | "dev": true, 461 | "requires": { 462 | "babel-runtime": "6.26.0" 463 | } 464 | }, 465 | "babel-plugin-transform-es2015-duplicate-keys": { 466 | "version": "6.24.1", 467 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 468 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 469 | "dev": true, 470 | "requires": { 471 | "babel-runtime": "6.26.0", 472 | "babel-types": "6.26.0" 473 | } 474 | }, 475 | "babel-plugin-transform-es2015-for-of": { 476 | "version": "6.23.0", 477 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 478 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 479 | "dev": true, 480 | "requires": { 481 | "babel-runtime": "6.26.0" 482 | } 483 | }, 484 | "babel-plugin-transform-es2015-function-name": { 485 | "version": "6.24.1", 486 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 487 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 488 | "dev": true, 489 | "requires": { 490 | "babel-helper-function-name": "6.24.1", 491 | "babel-runtime": "6.26.0", 492 | "babel-types": "6.26.0" 493 | } 494 | }, 495 | "babel-plugin-transform-es2015-literals": { 496 | "version": "6.22.0", 497 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 498 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 499 | "dev": true, 500 | "requires": { 501 | "babel-runtime": "6.26.0" 502 | } 503 | }, 504 | "babel-plugin-transform-es2015-modules-amd": { 505 | "version": "6.24.1", 506 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 507 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 508 | "dev": true, 509 | "requires": { 510 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", 511 | "babel-runtime": "6.26.0", 512 | "babel-template": "6.26.0" 513 | } 514 | }, 515 | "babel-plugin-transform-es2015-modules-commonjs": { 516 | "version": "6.26.0", 517 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", 518 | "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", 519 | "dev": true, 520 | "requires": { 521 | "babel-plugin-transform-strict-mode": "6.24.1", 522 | "babel-runtime": "6.26.0", 523 | "babel-template": "6.26.0", 524 | "babel-types": "6.26.0" 525 | } 526 | }, 527 | "babel-plugin-transform-es2015-modules-systemjs": { 528 | "version": "6.24.1", 529 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 530 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 531 | "dev": true, 532 | "requires": { 533 | "babel-helper-hoist-variables": "6.24.1", 534 | "babel-runtime": "6.26.0", 535 | "babel-template": "6.26.0" 536 | } 537 | }, 538 | "babel-plugin-transform-es2015-modules-umd": { 539 | "version": "6.24.1", 540 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 541 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 542 | "dev": true, 543 | "requires": { 544 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 545 | "babel-runtime": "6.26.0", 546 | "babel-template": "6.26.0" 547 | } 548 | }, 549 | "babel-plugin-transform-es2015-object-super": { 550 | "version": "6.24.1", 551 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 552 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 553 | "dev": true, 554 | "requires": { 555 | "babel-helper-replace-supers": "6.24.1", 556 | "babel-runtime": "6.26.0" 557 | } 558 | }, 559 | "babel-plugin-transform-es2015-parameters": { 560 | "version": "6.24.1", 561 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 562 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 563 | "dev": true, 564 | "requires": { 565 | "babel-helper-call-delegate": "6.24.1", 566 | "babel-helper-get-function-arity": "6.24.1", 567 | "babel-runtime": "6.26.0", 568 | "babel-template": "6.26.0", 569 | "babel-traverse": "6.26.0", 570 | "babel-types": "6.26.0" 571 | } 572 | }, 573 | "babel-plugin-transform-es2015-shorthand-properties": { 574 | "version": "6.24.1", 575 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 576 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 577 | "dev": true, 578 | "requires": { 579 | "babel-runtime": "6.26.0", 580 | "babel-types": "6.26.0" 581 | } 582 | }, 583 | "babel-plugin-transform-es2015-spread": { 584 | "version": "6.22.0", 585 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 586 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 587 | "dev": true, 588 | "requires": { 589 | "babel-runtime": "6.26.0" 590 | } 591 | }, 592 | "babel-plugin-transform-es2015-sticky-regex": { 593 | "version": "6.24.1", 594 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 595 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 596 | "dev": true, 597 | "requires": { 598 | "babel-helper-regex": "6.26.0", 599 | "babel-runtime": "6.26.0", 600 | "babel-types": "6.26.0" 601 | } 602 | }, 603 | "babel-plugin-transform-es2015-template-literals": { 604 | "version": "6.22.0", 605 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 606 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 607 | "dev": true, 608 | "requires": { 609 | "babel-runtime": "6.26.0" 610 | } 611 | }, 612 | "babel-plugin-transform-es2015-typeof-symbol": { 613 | "version": "6.23.0", 614 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 615 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 616 | "dev": true, 617 | "requires": { 618 | "babel-runtime": "6.26.0" 619 | } 620 | }, 621 | "babel-plugin-transform-es2015-unicode-regex": { 622 | "version": "6.24.1", 623 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 624 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 625 | "dev": true, 626 | "requires": { 627 | "babel-helper-regex": "6.26.0", 628 | "babel-runtime": "6.26.0", 629 | "regexpu-core": "2.0.0" 630 | } 631 | }, 632 | "babel-plugin-transform-regenerator": { 633 | "version": "6.26.0", 634 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", 635 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", 636 | "dev": true, 637 | "requires": { 638 | "regenerator-transform": "0.10.1" 639 | } 640 | }, 641 | "babel-plugin-transform-strict-mode": { 642 | "version": "6.24.1", 643 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 644 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 645 | "dev": true, 646 | "requires": { 647 | "babel-runtime": "6.26.0", 648 | "babel-types": "6.26.0" 649 | } 650 | }, 651 | "babel-polyfill": { 652 | "version": "6.26.0", 653 | "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", 654 | "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", 655 | "dev": true, 656 | "requires": { 657 | "babel-runtime": "6.26.0", 658 | "core-js": "2.5.3", 659 | "regenerator-runtime": "0.10.5" 660 | }, 661 | "dependencies": { 662 | "regenerator-runtime": { 663 | "version": "0.10.5", 664 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", 665 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", 666 | "dev": true 667 | } 668 | } 669 | }, 670 | "babel-preset-es2015": { 671 | "version": "6.24.1", 672 | "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", 673 | "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", 674 | "dev": true, 675 | "requires": { 676 | "babel-plugin-check-es2015-constants": "6.22.0", 677 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0", 678 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", 679 | "babel-plugin-transform-es2015-block-scoping": "6.26.0", 680 | "babel-plugin-transform-es2015-classes": "6.24.1", 681 | "babel-plugin-transform-es2015-computed-properties": "6.24.1", 682 | "babel-plugin-transform-es2015-destructuring": "6.23.0", 683 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", 684 | "babel-plugin-transform-es2015-for-of": "6.23.0", 685 | "babel-plugin-transform-es2015-function-name": "6.24.1", 686 | "babel-plugin-transform-es2015-literals": "6.22.0", 687 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 688 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", 689 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", 690 | "babel-plugin-transform-es2015-modules-umd": "6.24.1", 691 | "babel-plugin-transform-es2015-object-super": "6.24.1", 692 | "babel-plugin-transform-es2015-parameters": "6.24.1", 693 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", 694 | "babel-plugin-transform-es2015-spread": "6.22.0", 695 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1", 696 | "babel-plugin-transform-es2015-template-literals": "6.22.0", 697 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", 698 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1", 699 | "babel-plugin-transform-regenerator": "6.26.0" 700 | } 701 | }, 702 | "babel-register": { 703 | "version": "6.26.0", 704 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 705 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 706 | "dev": true, 707 | "requires": { 708 | "babel-core": "6.26.0", 709 | "babel-runtime": "6.26.0", 710 | "core-js": "2.5.3", 711 | "home-or-tmp": "2.0.0", 712 | "lodash": "4.17.4", 713 | "mkdirp": "0.5.1", 714 | "source-map-support": "0.4.18" 715 | } 716 | }, 717 | "babel-runtime": { 718 | "version": "6.26.0", 719 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 720 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 721 | "dev": true, 722 | "requires": { 723 | "core-js": "2.5.3", 724 | "regenerator-runtime": "0.11.1" 725 | } 726 | }, 727 | "babel-template": { 728 | "version": "6.26.0", 729 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 730 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 731 | "dev": true, 732 | "requires": { 733 | "babel-runtime": "6.26.0", 734 | "babel-traverse": "6.26.0", 735 | "babel-types": "6.26.0", 736 | "babylon": "6.18.0", 737 | "lodash": "4.17.4" 738 | } 739 | }, 740 | "babel-traverse": { 741 | "version": "6.26.0", 742 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 743 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 744 | "dev": true, 745 | "requires": { 746 | "babel-code-frame": "6.26.0", 747 | "babel-messages": "6.23.0", 748 | "babel-runtime": "6.26.0", 749 | "babel-types": "6.26.0", 750 | "babylon": "6.18.0", 751 | "debug": "2.6.9", 752 | "globals": "9.18.0", 753 | "invariant": "2.2.2", 754 | "lodash": "4.17.4" 755 | } 756 | }, 757 | "babel-types": { 758 | "version": "6.26.0", 759 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 760 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 761 | "dev": true, 762 | "requires": { 763 | "babel-runtime": "6.26.0", 764 | "esutils": "2.0.2", 765 | "lodash": "4.17.4", 766 | "to-fast-properties": "1.0.3" 767 | } 768 | }, 769 | "babylon": { 770 | "version": "6.18.0", 771 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 772 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 773 | "dev": true 774 | }, 775 | "badges": { 776 | "version": "1.2.4", 777 | "resolved": "https://registry.npmjs.org/badges/-/badges-1.2.4.tgz", 778 | "integrity": "sha1-jHts1k/3GrvAZpcvAtWdxCc/H5A=", 779 | "dev": true, 780 | "requires": { 781 | "editions": "1.3.3" 782 | } 783 | }, 784 | "balanced-match": { 785 | "version": "1.0.0", 786 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 787 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 788 | "dev": true 789 | }, 790 | "bcrypt-pbkdf": { 791 | "version": "1.0.1", 792 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 793 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 794 | "dev": true, 795 | "optional": true, 796 | "requires": { 797 | "tweetnacl": "0.14.5" 798 | } 799 | }, 800 | "binary-extensions": { 801 | "version": "1.11.0", 802 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", 803 | "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", 804 | "dev": true, 805 | "optional": true 806 | }, 807 | "binaryextensions": { 808 | "version": "2.0.0", 809 | "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.0.0.tgz", 810 | "integrity": "sha1-5ZfRp6ajVYotHHJBoWyZll5qpA8=", 811 | "dev": true 812 | }, 813 | "boom": { 814 | "version": "4.3.1", 815 | "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", 816 | "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", 817 | "dev": true, 818 | "requires": { 819 | "hoek": "4.2.0" 820 | } 821 | }, 822 | "brace-expansion": { 823 | "version": "1.1.8", 824 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 825 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 826 | "dev": true, 827 | "requires": { 828 | "balanced-match": "1.0.0", 829 | "concat-map": "0.0.1" 830 | } 831 | }, 832 | "braces": { 833 | "version": "1.8.5", 834 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 835 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 836 | "dev": true, 837 | "optional": true, 838 | "requires": { 839 | "expand-range": "1.8.2", 840 | "preserve": "0.2.0", 841 | "repeat-element": "1.1.2" 842 | } 843 | }, 844 | "caller-path": { 845 | "version": "0.1.0", 846 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 847 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 848 | "dev": true, 849 | "requires": { 850 | "callsites": "0.2.0" 851 | } 852 | }, 853 | "callsites": { 854 | "version": "0.2.0", 855 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 856 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 857 | "dev": true 858 | }, 859 | "caseless": { 860 | "version": "0.12.0", 861 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 862 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 863 | "dev": true 864 | }, 865 | "caterpillar": { 866 | "version": "3.0.1", 867 | "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-3.0.1.tgz", 868 | "integrity": "sha1-RUZagV/tAe8RLGj89Dp+bdO8Gbo=", 869 | "dev": true, 870 | "requires": { 871 | "editions": "1.3.3", 872 | "extendr": "3.2.2" 873 | } 874 | }, 875 | "caterpillar-filter": { 876 | "version": "3.0.0", 877 | "resolved": "https://registry.npmjs.org/caterpillar-filter/-/caterpillar-filter-3.0.0.tgz", 878 | "integrity": "sha1-WDOMJpwhB0AmuAPQUmi0DwL52IE=", 879 | "dev": true, 880 | "requires": { 881 | "editions": "1.3.3" 882 | } 883 | }, 884 | "caterpillar-human": { 885 | "version": "3.0.0", 886 | "resolved": "https://registry.npmjs.org/caterpillar-human/-/caterpillar-human-3.0.0.tgz", 887 | "integrity": "sha1-PcytsXL7fuifjSo1skdc0/FaFXo=", 888 | "dev": true, 889 | "requires": { 890 | "ansicolors": "0.3.2", 891 | "ansistyles": "0.1.3", 892 | "editions": "1.3.3" 893 | } 894 | }, 895 | "chainy-core": { 896 | "version": "1.6.0", 897 | "resolved": "https://registry.npmjs.org/chainy-core/-/chainy-core-1.6.0.tgz", 898 | "integrity": "sha1-9E1KE6QBcfsV6Lz1zb+t9FV2GSk=", 899 | "dev": true, 900 | "requires": { 901 | "csextends": "1.1.1", 902 | "taskgroup": "5.0.1" 903 | } 904 | }, 905 | "chainy-plugin-each": { 906 | "version": "1.1.0", 907 | "resolved": "https://registry.npmjs.org/chainy-plugin-each/-/chainy-plugin-each-1.1.0.tgz", 908 | "integrity": "sha1-glJBg6Ln+sf7pE/opxznSapczcY=", 909 | "dev": true, 910 | "requires": { 911 | "taskgroup": "5.0.1" 912 | } 913 | }, 914 | "chainy-plugin-feed": { 915 | "version": "1.0.0", 916 | "resolved": "https://registry.npmjs.org/chainy-plugin-feed/-/chainy-plugin-feed-1.0.0.tgz", 917 | "integrity": "sha1-GvUyyzgk6HVjnFX9A1Ko38HNA3w=", 918 | "dev": true, 919 | "requires": { 920 | "feedr": "2.13.5" 921 | } 922 | }, 923 | "chainy-plugin-map": { 924 | "version": "1.0.5", 925 | "resolved": "https://registry.npmjs.org/chainy-plugin-map/-/chainy-plugin-map-1.0.5.tgz", 926 | "integrity": "sha1-ltjF9h7nmRTrNXS/7TsWWdERiBM=", 927 | "dev": true 928 | }, 929 | "chainy-plugin-set": { 930 | "version": "1.0.2", 931 | "resolved": "https://registry.npmjs.org/chainy-plugin-set/-/chainy-plugin-set-1.0.2.tgz", 932 | "integrity": "sha1-9EV53Keqk8U+Pd0TCALgjYJA8Ec=", 933 | "dev": true 934 | }, 935 | "chalk": { 936 | "version": "1.1.3", 937 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 938 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 939 | "dev": true, 940 | "requires": { 941 | "ansi-styles": "2.2.1", 942 | "escape-string-regexp": "1.0.5", 943 | "has-ansi": "2.0.0", 944 | "strip-ansi": "3.0.1", 945 | "supports-color": "2.0.0" 946 | } 947 | }, 948 | "chardet": { 949 | "version": "0.4.2", 950 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 951 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 952 | "dev": true 953 | }, 954 | "chokidar": { 955 | "version": "1.7.0", 956 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", 957 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", 958 | "dev": true, 959 | "optional": true, 960 | "requires": { 961 | "anymatch": "1.3.2", 962 | "async-each": "1.0.1", 963 | "fsevents": "1.1.3", 964 | "glob-parent": "2.0.0", 965 | "inherits": "2.0.3", 966 | "is-binary-path": "1.0.1", 967 | "is-glob": "2.0.1", 968 | "path-is-absolute": "1.0.1", 969 | "readdirp": "2.1.0" 970 | } 971 | }, 972 | "circular-json": { 973 | "version": "0.3.3", 974 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 975 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 976 | "dev": true 977 | }, 978 | "cli-color": { 979 | "version": "1.2.0", 980 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz", 981 | "integrity": "sha1-OlrnT9drYmevZm5p4q+70B3vNNE=", 982 | "dev": true, 983 | "optional": true, 984 | "requires": { 985 | "ansi-regex": "2.1.1", 986 | "d": "1.0.0", 987 | "es5-ext": "0.10.38", 988 | "es6-iterator": "2.0.3", 989 | "memoizee": "0.4.11", 990 | "timers-ext": "0.1.2" 991 | } 992 | }, 993 | "cli-cursor": { 994 | "version": "2.1.0", 995 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 996 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 997 | "dev": true, 998 | "requires": { 999 | "restore-cursor": "2.0.0" 1000 | } 1001 | }, 1002 | "cli-width": { 1003 | "version": "2.2.0", 1004 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 1005 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 1006 | "dev": true 1007 | }, 1008 | "co": { 1009 | "version": "4.6.0", 1010 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 1011 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 1012 | "dev": true 1013 | }, 1014 | "coffee-script": { 1015 | "version": "1.12.7", 1016 | "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", 1017 | "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", 1018 | "dev": true 1019 | }, 1020 | "color-convert": { 1021 | "version": "1.9.1", 1022 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 1023 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 1024 | "dev": true, 1025 | "requires": { 1026 | "color-name": "1.1.3" 1027 | } 1028 | }, 1029 | "color-name": { 1030 | "version": "1.1.3", 1031 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1032 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1033 | "dev": true 1034 | }, 1035 | "combined-stream": { 1036 | "version": "1.0.5", 1037 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 1038 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 1039 | "dev": true, 1040 | "requires": { 1041 | "delayed-stream": "1.0.0" 1042 | } 1043 | }, 1044 | "commander": { 1045 | "version": "2.13.0", 1046 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", 1047 | "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", 1048 | "dev": true 1049 | }, 1050 | "concat-map": { 1051 | "version": "0.0.1", 1052 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1053 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1054 | "dev": true 1055 | }, 1056 | "concat-stream": { 1057 | "version": "1.6.0", 1058 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 1059 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 1060 | "dev": true, 1061 | "requires": { 1062 | "inherits": "2.0.3", 1063 | "readable-stream": "2.3.3", 1064 | "typedarray": "0.0.6" 1065 | } 1066 | }, 1067 | "convert-source-map": { 1068 | "version": "1.5.1", 1069 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 1070 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 1071 | "dev": true 1072 | }, 1073 | "core-js": { 1074 | "version": "2.5.3", 1075 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", 1076 | "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", 1077 | "dev": true 1078 | }, 1079 | "core-util-is": { 1080 | "version": "1.0.2", 1081 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1082 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 1083 | "dev": true 1084 | }, 1085 | "cross-spawn": { 1086 | "version": "5.1.0", 1087 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 1088 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 1089 | "dev": true, 1090 | "requires": { 1091 | "lru-cache": "4.1.1", 1092 | "shebang-command": "1.2.0", 1093 | "which": "1.3.0" 1094 | } 1095 | }, 1096 | "cryptiles": { 1097 | "version": "3.1.2", 1098 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", 1099 | "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", 1100 | "dev": true, 1101 | "requires": { 1102 | "boom": "5.2.0" 1103 | }, 1104 | "dependencies": { 1105 | "boom": { 1106 | "version": "5.2.0", 1107 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 1108 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 1109 | "dev": true, 1110 | "requires": { 1111 | "hoek": "4.2.0" 1112 | } 1113 | } 1114 | } 1115 | }, 1116 | "csextends": { 1117 | "version": "1.1.1", 1118 | "resolved": "https://registry.npmjs.org/csextends/-/csextends-1.1.1.tgz", 1119 | "integrity": "sha1-zFPBNJ+vfwrmzfb2xKTZFW08TsE=", 1120 | "dev": true, 1121 | "requires": { 1122 | "coffee-script": "1.12.7" 1123 | } 1124 | }, 1125 | "cson": { 1126 | "version": "4.1.0", 1127 | "resolved": "https://registry.npmjs.org/cson/-/cson-4.1.0.tgz", 1128 | "integrity": "sha1-sQdTRPqdn+XPiNgPIdk2Ypa4Zcc=", 1129 | "dev": true, 1130 | "requires": { 1131 | "coffee-script": "1.12.7", 1132 | "cson-parser": "1.3.5", 1133 | "extract-opts": "3.3.1", 1134 | "requirefresh": "2.1.0", 1135 | "safefs": "4.1.0" 1136 | } 1137 | }, 1138 | "cson-parser": { 1139 | "version": "1.3.5", 1140 | "resolved": "https://registry.npmjs.org/cson-parser/-/cson-parser-1.3.5.tgz", 1141 | "integrity": "sha1-fsZ14DkUVTO/KmqFYHPxWZ2cLSQ=", 1142 | "dev": true, 1143 | "requires": { 1144 | "coffee-script": "1.12.7" 1145 | } 1146 | }, 1147 | "d": { 1148 | "version": "1.0.0", 1149 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", 1150 | "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 1151 | "dev": true, 1152 | "requires": { 1153 | "es5-ext": "0.10.38" 1154 | } 1155 | }, 1156 | "dashdash": { 1157 | "version": "1.14.1", 1158 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 1159 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 1160 | "dev": true, 1161 | "requires": { 1162 | "assert-plus": "1.0.0" 1163 | } 1164 | }, 1165 | "debug": { 1166 | "version": "2.6.9", 1167 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1168 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1169 | "dev": true, 1170 | "requires": { 1171 | "ms": "2.0.0" 1172 | } 1173 | }, 1174 | "deep-is": { 1175 | "version": "0.1.3", 1176 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 1177 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 1178 | "dev": true 1179 | }, 1180 | "del": { 1181 | "version": "2.2.2", 1182 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 1183 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 1184 | "dev": true, 1185 | "requires": { 1186 | "globby": "5.0.0", 1187 | "is-path-cwd": "1.0.0", 1188 | "is-path-in-cwd": "1.0.0", 1189 | "object-assign": "4.1.1", 1190 | "pify": "2.3.0", 1191 | "pinkie-promise": "2.0.1", 1192 | "rimraf": "2.6.2" 1193 | } 1194 | }, 1195 | "delayed-stream": { 1196 | "version": "1.0.0", 1197 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1198 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 1199 | "dev": true 1200 | }, 1201 | "detect-indent": { 1202 | "version": "4.0.0", 1203 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 1204 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 1205 | "dev": true, 1206 | "requires": { 1207 | "repeating": "2.0.1" 1208 | } 1209 | }, 1210 | "diff": { 1211 | "version": "3.4.0", 1212 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", 1213 | "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", 1214 | "dev": true 1215 | }, 1216 | "doctrine": { 1217 | "version": "2.1.0", 1218 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 1219 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 1220 | "dev": true, 1221 | "requires": { 1222 | "esutils": "2.0.2" 1223 | } 1224 | }, 1225 | "eachr": { 1226 | "version": "3.2.0", 1227 | "resolved": "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz", 1228 | "integrity": "sha1-LDXkPqCGUW95l8+At6pk1VpKRIQ=", 1229 | "dev": true, 1230 | "requires": { 1231 | "editions": "1.3.3", 1232 | "typechecker": "4.4.1" 1233 | } 1234 | }, 1235 | "ecc-jsbn": { 1236 | "version": "0.1.1", 1237 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 1238 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 1239 | "dev": true, 1240 | "optional": true, 1241 | "requires": { 1242 | "jsbn": "0.1.1" 1243 | } 1244 | }, 1245 | "editions": { 1246 | "version": "1.3.3", 1247 | "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.3.tgz", 1248 | "integrity": "sha1-CQcQG92iD6w8vjNMJ8vQaI3Jmls=" 1249 | }, 1250 | "es5-ext": { 1251 | "version": "0.10.38", 1252 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", 1253 | "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", 1254 | "dev": true, 1255 | "requires": { 1256 | "es6-iterator": "2.0.3", 1257 | "es6-symbol": "3.1.1" 1258 | } 1259 | }, 1260 | "es6-iterator": { 1261 | "version": "2.0.3", 1262 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 1263 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 1264 | "dev": true, 1265 | "requires": { 1266 | "d": "1.0.0", 1267 | "es5-ext": "0.10.38", 1268 | "es6-symbol": "3.1.1" 1269 | } 1270 | }, 1271 | "es6-symbol": { 1272 | "version": "3.1.1", 1273 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", 1274 | "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 1275 | "dev": true, 1276 | "requires": { 1277 | "d": "1.0.0", 1278 | "es5-ext": "0.10.38" 1279 | } 1280 | }, 1281 | "es6-weak-map": { 1282 | "version": "2.0.2", 1283 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", 1284 | "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", 1285 | "dev": true, 1286 | "optional": true, 1287 | "requires": { 1288 | "d": "1.0.0", 1289 | "es5-ext": "0.10.38", 1290 | "es6-iterator": "2.0.3", 1291 | "es6-symbol": "3.1.1" 1292 | } 1293 | }, 1294 | "escape-string-regexp": { 1295 | "version": "1.0.5", 1296 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1297 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1298 | "dev": true 1299 | }, 1300 | "eslint": { 1301 | "version": "4.16.0", 1302 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.16.0.tgz", 1303 | "integrity": "sha512-YVXV4bDhNoHHcv0qzU4Meof7/P26B4EuaktMi5L1Tnt52Aov85KmYA8c5D+xyZr/BkhvwUqr011jDSD/QTULxg==", 1304 | "dev": true, 1305 | "requires": { 1306 | "ajv": "5.5.2", 1307 | "babel-code-frame": "6.26.0", 1308 | "chalk": "2.3.0", 1309 | "concat-stream": "1.6.0", 1310 | "cross-spawn": "5.1.0", 1311 | "debug": "3.1.0", 1312 | "doctrine": "2.1.0", 1313 | "eslint-scope": "3.7.1", 1314 | "eslint-visitor-keys": "1.0.0", 1315 | "espree": "3.5.2", 1316 | "esquery": "1.0.0", 1317 | "esutils": "2.0.2", 1318 | "file-entry-cache": "2.0.0", 1319 | "functional-red-black-tree": "1.0.1", 1320 | "glob": "7.1.2", 1321 | "globals": "11.1.0", 1322 | "ignore": "3.3.7", 1323 | "imurmurhash": "0.1.4", 1324 | "inquirer": "3.3.0", 1325 | "is-resolvable": "1.1.0", 1326 | "js-yaml": "3.10.0", 1327 | "json-stable-stringify-without-jsonify": "1.0.1", 1328 | "levn": "0.3.0", 1329 | "lodash": "4.17.4", 1330 | "minimatch": "3.0.4", 1331 | "mkdirp": "0.5.1", 1332 | "natural-compare": "1.4.0", 1333 | "optionator": "0.8.2", 1334 | "path-is-inside": "1.0.2", 1335 | "pluralize": "7.0.0", 1336 | "progress": "2.0.0", 1337 | "require-uncached": "1.0.3", 1338 | "semver": "5.5.0", 1339 | "strip-ansi": "4.0.0", 1340 | "strip-json-comments": "2.0.1", 1341 | "table": "4.0.2", 1342 | "text-table": "0.2.0" 1343 | }, 1344 | "dependencies": { 1345 | "ansi-regex": { 1346 | "version": "3.0.0", 1347 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1348 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1349 | "dev": true 1350 | }, 1351 | "ansi-styles": { 1352 | "version": "3.2.0", 1353 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 1354 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 1355 | "dev": true, 1356 | "requires": { 1357 | "color-convert": "1.9.1" 1358 | } 1359 | }, 1360 | "chalk": { 1361 | "version": "2.3.0", 1362 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 1363 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 1364 | "dev": true, 1365 | "requires": { 1366 | "ansi-styles": "3.2.0", 1367 | "escape-string-regexp": "1.0.5", 1368 | "supports-color": "4.5.0" 1369 | } 1370 | }, 1371 | "debug": { 1372 | "version": "3.1.0", 1373 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 1374 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 1375 | "dev": true, 1376 | "requires": { 1377 | "ms": "2.0.0" 1378 | } 1379 | }, 1380 | "globals": { 1381 | "version": "11.1.0", 1382 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", 1383 | "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", 1384 | "dev": true 1385 | }, 1386 | "progress": { 1387 | "version": "2.0.0", 1388 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", 1389 | "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", 1390 | "dev": true 1391 | }, 1392 | "strip-ansi": { 1393 | "version": "4.0.0", 1394 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1395 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1396 | "dev": true, 1397 | "requires": { 1398 | "ansi-regex": "3.0.0" 1399 | } 1400 | }, 1401 | "supports-color": { 1402 | "version": "4.5.0", 1403 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 1404 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 1405 | "dev": true, 1406 | "requires": { 1407 | "has-flag": "2.0.0" 1408 | } 1409 | } 1410 | } 1411 | }, 1412 | "eslint-scope": { 1413 | "version": "3.7.1", 1414 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", 1415 | "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", 1416 | "dev": true, 1417 | "requires": { 1418 | "esrecurse": "4.2.0", 1419 | "estraverse": "4.2.0" 1420 | } 1421 | }, 1422 | "eslint-visitor-keys": { 1423 | "version": "1.0.0", 1424 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 1425 | "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 1426 | "dev": true 1427 | }, 1428 | "espree": { 1429 | "version": "3.5.2", 1430 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", 1431 | "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", 1432 | "dev": true, 1433 | "requires": { 1434 | "acorn": "5.3.0", 1435 | "acorn-jsx": "3.0.1" 1436 | } 1437 | }, 1438 | "esprima": { 1439 | "version": "4.0.0", 1440 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 1441 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 1442 | "dev": true 1443 | }, 1444 | "esquery": { 1445 | "version": "1.0.0", 1446 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", 1447 | "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", 1448 | "dev": true, 1449 | "requires": { 1450 | "estraverse": "4.2.0" 1451 | } 1452 | }, 1453 | "esrecurse": { 1454 | "version": "4.2.0", 1455 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", 1456 | "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", 1457 | "dev": true, 1458 | "requires": { 1459 | "estraverse": "4.2.0", 1460 | "object-assign": "4.1.1" 1461 | } 1462 | }, 1463 | "estraverse": { 1464 | "version": "4.2.0", 1465 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 1466 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 1467 | "dev": true 1468 | }, 1469 | "esutils": { 1470 | "version": "2.0.2", 1471 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1472 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1473 | "dev": true 1474 | }, 1475 | "event-emitter": { 1476 | "version": "0.3.5", 1477 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 1478 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 1479 | "dev": true, 1480 | "optional": true, 1481 | "requires": { 1482 | "d": "1.0.0", 1483 | "es5-ext": "0.10.38" 1484 | } 1485 | }, 1486 | "event-emitter-grouped": { 1487 | "version": "2.5.0", 1488 | "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-2.5.0.tgz", 1489 | "integrity": "sha1-tsWioksdb3HIttuONCvY309ZIvw=", 1490 | "dev": true, 1491 | "requires": { 1492 | "ambi": "2.5.0", 1493 | "editions": "1.3.3", 1494 | "taskgroup": "5.0.1" 1495 | } 1496 | }, 1497 | "expand-brackets": { 1498 | "version": "0.1.5", 1499 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 1500 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 1501 | "dev": true, 1502 | "optional": true, 1503 | "requires": { 1504 | "is-posix-bracket": "0.1.1" 1505 | } 1506 | }, 1507 | "expand-range": { 1508 | "version": "1.8.2", 1509 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 1510 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 1511 | "dev": true, 1512 | "optional": true, 1513 | "requires": { 1514 | "fill-range": "2.2.3" 1515 | } 1516 | }, 1517 | "extend": { 1518 | "version": "3.0.1", 1519 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 1520 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 1521 | "dev": true 1522 | }, 1523 | "extendr": { 1524 | "version": "3.2.2", 1525 | "resolved": "https://registry.npmjs.org/extendr/-/extendr-3.2.2.tgz", 1526 | "integrity": "sha1-xuRv5tkLLj6IEqZlS9YYLL+RzQY=", 1527 | "dev": true, 1528 | "requires": { 1529 | "editions": "1.3.3", 1530 | "typechecker": "4.4.1" 1531 | } 1532 | }, 1533 | "external-editor": { 1534 | "version": "2.1.0", 1535 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", 1536 | "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", 1537 | "dev": true, 1538 | "requires": { 1539 | "chardet": "0.4.2", 1540 | "iconv-lite": "0.4.19", 1541 | "tmp": "0.0.33" 1542 | } 1543 | }, 1544 | "extglob": { 1545 | "version": "0.3.2", 1546 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 1547 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 1548 | "dev": true, 1549 | "optional": true, 1550 | "requires": { 1551 | "is-extglob": "1.0.0" 1552 | } 1553 | }, 1554 | "extract-opts": { 1555 | "version": "3.3.1", 1556 | "resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz", 1557 | "integrity": "sha1-WrvtyYwNUgLjJ4cn+Rktfghsa+E=", 1558 | "dev": true, 1559 | "requires": { 1560 | "eachr": "3.2.0", 1561 | "editions": "1.3.3", 1562 | "typechecker": "4.4.1" 1563 | } 1564 | }, 1565 | "extsprintf": { 1566 | "version": "1.3.0", 1567 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1568 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 1569 | "dev": true 1570 | }, 1571 | "fast-deep-equal": { 1572 | "version": "1.0.0", 1573 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", 1574 | "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", 1575 | "dev": true 1576 | }, 1577 | "fast-json-stable-stringify": { 1578 | "version": "2.0.0", 1579 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1580 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 1581 | "dev": true 1582 | }, 1583 | "fast-levenshtein": { 1584 | "version": "2.0.6", 1585 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1586 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1587 | "dev": true 1588 | }, 1589 | "feedr": { 1590 | "version": "2.13.5", 1591 | "resolved": "https://registry.npmjs.org/feedr/-/feedr-2.13.5.tgz", 1592 | "integrity": "sha1-Wr26NAH2c0JlccT8PiOMFmvsey0=", 1593 | "dev": true, 1594 | "requires": { 1595 | "cson": "4.1.0", 1596 | "eachr": "3.2.0", 1597 | "editions": "1.3.3", 1598 | "extendr": "3.2.2", 1599 | "istextorbinary": "2.1.0", 1600 | "js-yaml": "3.10.0", 1601 | "request": "2.83.0", 1602 | "safefs": "4.1.0", 1603 | "safeps": "6.4.0", 1604 | "taskgroup": "5.0.1", 1605 | "typechecker": "4.4.1", 1606 | "xml2js": "0.4.19" 1607 | } 1608 | }, 1609 | "fellow": { 1610 | "version": "2.3.0", 1611 | "resolved": "https://registry.npmjs.org/fellow/-/fellow-2.3.0.tgz", 1612 | "integrity": "sha1-Gr/9OeKKdF5ClPn9GtbdhSFqY1w=", 1613 | "dev": true, 1614 | "requires": { 1615 | "editions": "1.3.3" 1616 | } 1617 | }, 1618 | "figures": { 1619 | "version": "2.0.0", 1620 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1621 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1622 | "dev": true, 1623 | "requires": { 1624 | "escape-string-regexp": "1.0.5" 1625 | } 1626 | }, 1627 | "file-entry-cache": { 1628 | "version": "2.0.0", 1629 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 1630 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 1631 | "dev": true, 1632 | "requires": { 1633 | "flat-cache": "1.3.0", 1634 | "object-assign": "4.1.1" 1635 | } 1636 | }, 1637 | "filename-regex": { 1638 | "version": "2.0.1", 1639 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 1640 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 1641 | "dev": true, 1642 | "optional": true 1643 | }, 1644 | "fill-range": { 1645 | "version": "2.2.3", 1646 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", 1647 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", 1648 | "dev": true, 1649 | "optional": true, 1650 | "requires": { 1651 | "is-number": "2.1.0", 1652 | "isobject": "2.1.0", 1653 | "randomatic": "1.1.7", 1654 | "repeat-element": "1.1.2", 1655 | "repeat-string": "1.6.1" 1656 | } 1657 | }, 1658 | "flat-cache": { 1659 | "version": "1.3.0", 1660 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", 1661 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 1662 | "dev": true, 1663 | "requires": { 1664 | "circular-json": "0.3.3", 1665 | "del": "2.2.2", 1666 | "graceful-fs": "4.1.11", 1667 | "write": "0.2.1" 1668 | } 1669 | }, 1670 | "for-in": { 1671 | "version": "1.0.2", 1672 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1673 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 1674 | "dev": true, 1675 | "optional": true 1676 | }, 1677 | "for-own": { 1678 | "version": "0.1.5", 1679 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 1680 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 1681 | "dev": true, 1682 | "optional": true, 1683 | "requires": { 1684 | "for-in": "1.0.2" 1685 | } 1686 | }, 1687 | "forever-agent": { 1688 | "version": "0.6.1", 1689 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1690 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1691 | "dev": true 1692 | }, 1693 | "form-data": { 1694 | "version": "2.3.1", 1695 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", 1696 | "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", 1697 | "dev": true, 1698 | "requires": { 1699 | "asynckit": "0.4.0", 1700 | "combined-stream": "1.0.5", 1701 | "mime-types": "2.1.17" 1702 | } 1703 | }, 1704 | "fs-readdir-recursive": { 1705 | "version": "1.1.0", 1706 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", 1707 | "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", 1708 | "dev": true 1709 | }, 1710 | "fs.realpath": { 1711 | "version": "1.0.0", 1712 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1713 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1714 | "dev": true 1715 | }, 1716 | "fsevents": { 1717 | "version": "1.1.3", 1718 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", 1719 | "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", 1720 | "dev": true, 1721 | "optional": true, 1722 | "requires": { 1723 | "nan": "2.8.0", 1724 | "node-pre-gyp": "0.6.39" 1725 | }, 1726 | "dependencies": { 1727 | "abbrev": { 1728 | "version": "1.1.0", 1729 | "bundled": true, 1730 | "dev": true, 1731 | "optional": true 1732 | }, 1733 | "ajv": { 1734 | "version": "4.11.8", 1735 | "bundled": true, 1736 | "dev": true, 1737 | "optional": true, 1738 | "requires": { 1739 | "co": "4.6.0", 1740 | "json-stable-stringify": "1.0.1" 1741 | } 1742 | }, 1743 | "ansi-regex": { 1744 | "version": "2.1.1", 1745 | "bundled": true, 1746 | "dev": true 1747 | }, 1748 | "aproba": { 1749 | "version": "1.1.1", 1750 | "bundled": true, 1751 | "dev": true, 1752 | "optional": true 1753 | }, 1754 | "are-we-there-yet": { 1755 | "version": "1.1.4", 1756 | "bundled": true, 1757 | "dev": true, 1758 | "optional": true, 1759 | "requires": { 1760 | "delegates": "1.0.0", 1761 | "readable-stream": "2.2.9" 1762 | } 1763 | }, 1764 | "asn1": { 1765 | "version": "0.2.3", 1766 | "bundled": true, 1767 | "dev": true, 1768 | "optional": true 1769 | }, 1770 | "assert-plus": { 1771 | "version": "0.2.0", 1772 | "bundled": true, 1773 | "dev": true, 1774 | "optional": true 1775 | }, 1776 | "asynckit": { 1777 | "version": "0.4.0", 1778 | "bundled": true, 1779 | "dev": true, 1780 | "optional": true 1781 | }, 1782 | "aws-sign2": { 1783 | "version": "0.6.0", 1784 | "bundled": true, 1785 | "dev": true, 1786 | "optional": true 1787 | }, 1788 | "aws4": { 1789 | "version": "1.6.0", 1790 | "bundled": true, 1791 | "dev": true, 1792 | "optional": true 1793 | }, 1794 | "balanced-match": { 1795 | "version": "0.4.2", 1796 | "bundled": true, 1797 | "dev": true 1798 | }, 1799 | "bcrypt-pbkdf": { 1800 | "version": "1.0.1", 1801 | "bundled": true, 1802 | "dev": true, 1803 | "optional": true, 1804 | "requires": { 1805 | "tweetnacl": "0.14.5" 1806 | } 1807 | }, 1808 | "block-stream": { 1809 | "version": "0.0.9", 1810 | "bundled": true, 1811 | "dev": true, 1812 | "requires": { 1813 | "inherits": "2.0.3" 1814 | } 1815 | }, 1816 | "boom": { 1817 | "version": "2.10.1", 1818 | "bundled": true, 1819 | "dev": true, 1820 | "requires": { 1821 | "hoek": "2.16.3" 1822 | } 1823 | }, 1824 | "brace-expansion": { 1825 | "version": "1.1.7", 1826 | "bundled": true, 1827 | "dev": true, 1828 | "requires": { 1829 | "balanced-match": "0.4.2", 1830 | "concat-map": "0.0.1" 1831 | } 1832 | }, 1833 | "buffer-shims": { 1834 | "version": "1.0.0", 1835 | "bundled": true, 1836 | "dev": true 1837 | }, 1838 | "caseless": { 1839 | "version": "0.12.0", 1840 | "bundled": true, 1841 | "dev": true, 1842 | "optional": true 1843 | }, 1844 | "co": { 1845 | "version": "4.6.0", 1846 | "bundled": true, 1847 | "dev": true, 1848 | "optional": true 1849 | }, 1850 | "code-point-at": { 1851 | "version": "1.1.0", 1852 | "bundled": true, 1853 | "dev": true 1854 | }, 1855 | "combined-stream": { 1856 | "version": "1.0.5", 1857 | "bundled": true, 1858 | "dev": true, 1859 | "requires": { 1860 | "delayed-stream": "1.0.0" 1861 | } 1862 | }, 1863 | "concat-map": { 1864 | "version": "0.0.1", 1865 | "bundled": true, 1866 | "dev": true 1867 | }, 1868 | "console-control-strings": { 1869 | "version": "1.1.0", 1870 | "bundled": true, 1871 | "dev": true 1872 | }, 1873 | "core-util-is": { 1874 | "version": "1.0.2", 1875 | "bundled": true, 1876 | "dev": true 1877 | }, 1878 | "cryptiles": { 1879 | "version": "2.0.5", 1880 | "bundled": true, 1881 | "dev": true, 1882 | "requires": { 1883 | "boom": "2.10.1" 1884 | } 1885 | }, 1886 | "dashdash": { 1887 | "version": "1.14.1", 1888 | "bundled": true, 1889 | "dev": true, 1890 | "optional": true, 1891 | "requires": { 1892 | "assert-plus": "1.0.0" 1893 | }, 1894 | "dependencies": { 1895 | "assert-plus": { 1896 | "version": "1.0.0", 1897 | "bundled": true, 1898 | "dev": true, 1899 | "optional": true 1900 | } 1901 | } 1902 | }, 1903 | "debug": { 1904 | "version": "2.6.8", 1905 | "bundled": true, 1906 | "dev": true, 1907 | "optional": true, 1908 | "requires": { 1909 | "ms": "2.0.0" 1910 | } 1911 | }, 1912 | "deep-extend": { 1913 | "version": "0.4.2", 1914 | "bundled": true, 1915 | "dev": true, 1916 | "optional": true 1917 | }, 1918 | "delayed-stream": { 1919 | "version": "1.0.0", 1920 | "bundled": true, 1921 | "dev": true 1922 | }, 1923 | "delegates": { 1924 | "version": "1.0.0", 1925 | "bundled": true, 1926 | "dev": true, 1927 | "optional": true 1928 | }, 1929 | "detect-libc": { 1930 | "version": "1.0.2", 1931 | "bundled": true, 1932 | "dev": true, 1933 | "optional": true 1934 | }, 1935 | "ecc-jsbn": { 1936 | "version": "0.1.1", 1937 | "bundled": true, 1938 | "dev": true, 1939 | "optional": true, 1940 | "requires": { 1941 | "jsbn": "0.1.1" 1942 | } 1943 | }, 1944 | "extend": { 1945 | "version": "3.0.1", 1946 | "bundled": true, 1947 | "dev": true, 1948 | "optional": true 1949 | }, 1950 | "extsprintf": { 1951 | "version": "1.0.2", 1952 | "bundled": true, 1953 | "dev": true 1954 | }, 1955 | "forever-agent": { 1956 | "version": "0.6.1", 1957 | "bundled": true, 1958 | "dev": true, 1959 | "optional": true 1960 | }, 1961 | "form-data": { 1962 | "version": "2.1.4", 1963 | "bundled": true, 1964 | "dev": true, 1965 | "optional": true, 1966 | "requires": { 1967 | "asynckit": "0.4.0", 1968 | "combined-stream": "1.0.5", 1969 | "mime-types": "2.1.15" 1970 | } 1971 | }, 1972 | "fs.realpath": { 1973 | "version": "1.0.0", 1974 | "bundled": true, 1975 | "dev": true 1976 | }, 1977 | "fstream": { 1978 | "version": "1.0.11", 1979 | "bundled": true, 1980 | "dev": true, 1981 | "requires": { 1982 | "graceful-fs": "4.1.11", 1983 | "inherits": "2.0.3", 1984 | "mkdirp": "0.5.1", 1985 | "rimraf": "2.6.1" 1986 | } 1987 | }, 1988 | "fstream-ignore": { 1989 | "version": "1.0.5", 1990 | "bundled": true, 1991 | "dev": true, 1992 | "optional": true, 1993 | "requires": { 1994 | "fstream": "1.0.11", 1995 | "inherits": "2.0.3", 1996 | "minimatch": "3.0.4" 1997 | } 1998 | }, 1999 | "gauge": { 2000 | "version": "2.7.4", 2001 | "bundled": true, 2002 | "dev": true, 2003 | "optional": true, 2004 | "requires": { 2005 | "aproba": "1.1.1", 2006 | "console-control-strings": "1.1.0", 2007 | "has-unicode": "2.0.1", 2008 | "object-assign": "4.1.1", 2009 | "signal-exit": "3.0.2", 2010 | "string-width": "1.0.2", 2011 | "strip-ansi": "3.0.1", 2012 | "wide-align": "1.1.2" 2013 | } 2014 | }, 2015 | "getpass": { 2016 | "version": "0.1.7", 2017 | "bundled": true, 2018 | "dev": true, 2019 | "optional": true, 2020 | "requires": { 2021 | "assert-plus": "1.0.0" 2022 | }, 2023 | "dependencies": { 2024 | "assert-plus": { 2025 | "version": "1.0.0", 2026 | "bundled": true, 2027 | "dev": true, 2028 | "optional": true 2029 | } 2030 | } 2031 | }, 2032 | "glob": { 2033 | "version": "7.1.2", 2034 | "bundled": true, 2035 | "dev": true, 2036 | "requires": { 2037 | "fs.realpath": "1.0.0", 2038 | "inflight": "1.0.6", 2039 | "inherits": "2.0.3", 2040 | "minimatch": "3.0.4", 2041 | "once": "1.4.0", 2042 | "path-is-absolute": "1.0.1" 2043 | } 2044 | }, 2045 | "graceful-fs": { 2046 | "version": "4.1.11", 2047 | "bundled": true, 2048 | "dev": true 2049 | }, 2050 | "har-schema": { 2051 | "version": "1.0.5", 2052 | "bundled": true, 2053 | "dev": true, 2054 | "optional": true 2055 | }, 2056 | "har-validator": { 2057 | "version": "4.2.1", 2058 | "bundled": true, 2059 | "dev": true, 2060 | "optional": true, 2061 | "requires": { 2062 | "ajv": "4.11.8", 2063 | "har-schema": "1.0.5" 2064 | } 2065 | }, 2066 | "has-unicode": { 2067 | "version": "2.0.1", 2068 | "bundled": true, 2069 | "dev": true, 2070 | "optional": true 2071 | }, 2072 | "hawk": { 2073 | "version": "3.1.3", 2074 | "bundled": true, 2075 | "dev": true, 2076 | "requires": { 2077 | "boom": "2.10.1", 2078 | "cryptiles": "2.0.5", 2079 | "hoek": "2.16.3", 2080 | "sntp": "1.0.9" 2081 | } 2082 | }, 2083 | "hoek": { 2084 | "version": "2.16.3", 2085 | "bundled": true, 2086 | "dev": true 2087 | }, 2088 | "http-signature": { 2089 | "version": "1.1.1", 2090 | "bundled": true, 2091 | "dev": true, 2092 | "optional": true, 2093 | "requires": { 2094 | "assert-plus": "0.2.0", 2095 | "jsprim": "1.4.0", 2096 | "sshpk": "1.13.0" 2097 | } 2098 | }, 2099 | "inflight": { 2100 | "version": "1.0.6", 2101 | "bundled": true, 2102 | "dev": true, 2103 | "requires": { 2104 | "once": "1.4.0", 2105 | "wrappy": "1.0.2" 2106 | } 2107 | }, 2108 | "inherits": { 2109 | "version": "2.0.3", 2110 | "bundled": true, 2111 | "dev": true 2112 | }, 2113 | "ini": { 2114 | "version": "1.3.4", 2115 | "bundled": true, 2116 | "dev": true, 2117 | "optional": true 2118 | }, 2119 | "is-fullwidth-code-point": { 2120 | "version": "1.0.0", 2121 | "bundled": true, 2122 | "dev": true, 2123 | "requires": { 2124 | "number-is-nan": "1.0.1" 2125 | } 2126 | }, 2127 | "is-typedarray": { 2128 | "version": "1.0.0", 2129 | "bundled": true, 2130 | "dev": true, 2131 | "optional": true 2132 | }, 2133 | "isarray": { 2134 | "version": "1.0.0", 2135 | "bundled": true, 2136 | "dev": true 2137 | }, 2138 | "isstream": { 2139 | "version": "0.1.2", 2140 | "bundled": true, 2141 | "dev": true, 2142 | "optional": true 2143 | }, 2144 | "jodid25519": { 2145 | "version": "1.0.2", 2146 | "bundled": true, 2147 | "dev": true, 2148 | "optional": true, 2149 | "requires": { 2150 | "jsbn": "0.1.1" 2151 | } 2152 | }, 2153 | "jsbn": { 2154 | "version": "0.1.1", 2155 | "bundled": true, 2156 | "dev": true, 2157 | "optional": true 2158 | }, 2159 | "json-schema": { 2160 | "version": "0.2.3", 2161 | "bundled": true, 2162 | "dev": true, 2163 | "optional": true 2164 | }, 2165 | "json-stable-stringify": { 2166 | "version": "1.0.1", 2167 | "bundled": true, 2168 | "dev": true, 2169 | "optional": true, 2170 | "requires": { 2171 | "jsonify": "0.0.0" 2172 | } 2173 | }, 2174 | "json-stringify-safe": { 2175 | "version": "5.0.1", 2176 | "bundled": true, 2177 | "dev": true, 2178 | "optional": true 2179 | }, 2180 | "jsonify": { 2181 | "version": "0.0.0", 2182 | "bundled": true, 2183 | "dev": true, 2184 | "optional": true 2185 | }, 2186 | "jsprim": { 2187 | "version": "1.4.0", 2188 | "bundled": true, 2189 | "dev": true, 2190 | "optional": true, 2191 | "requires": { 2192 | "assert-plus": "1.0.0", 2193 | "extsprintf": "1.0.2", 2194 | "json-schema": "0.2.3", 2195 | "verror": "1.3.6" 2196 | }, 2197 | "dependencies": { 2198 | "assert-plus": { 2199 | "version": "1.0.0", 2200 | "bundled": true, 2201 | "dev": true, 2202 | "optional": true 2203 | } 2204 | } 2205 | }, 2206 | "mime-db": { 2207 | "version": "1.27.0", 2208 | "bundled": true, 2209 | "dev": true 2210 | }, 2211 | "mime-types": { 2212 | "version": "2.1.15", 2213 | "bundled": true, 2214 | "dev": true, 2215 | "requires": { 2216 | "mime-db": "1.27.0" 2217 | } 2218 | }, 2219 | "minimatch": { 2220 | "version": "3.0.4", 2221 | "bundled": true, 2222 | "dev": true, 2223 | "requires": { 2224 | "brace-expansion": "1.1.7" 2225 | } 2226 | }, 2227 | "minimist": { 2228 | "version": "0.0.8", 2229 | "bundled": true, 2230 | "dev": true 2231 | }, 2232 | "mkdirp": { 2233 | "version": "0.5.1", 2234 | "bundled": true, 2235 | "dev": true, 2236 | "requires": { 2237 | "minimist": "0.0.8" 2238 | } 2239 | }, 2240 | "ms": { 2241 | "version": "2.0.0", 2242 | "bundled": true, 2243 | "dev": true, 2244 | "optional": true 2245 | }, 2246 | "node-pre-gyp": { 2247 | "version": "0.6.39", 2248 | "bundled": true, 2249 | "dev": true, 2250 | "optional": true, 2251 | "requires": { 2252 | "detect-libc": "1.0.2", 2253 | "hawk": "3.1.3", 2254 | "mkdirp": "0.5.1", 2255 | "nopt": "4.0.1", 2256 | "npmlog": "4.1.0", 2257 | "rc": "1.2.1", 2258 | "request": "2.81.0", 2259 | "rimraf": "2.6.1", 2260 | "semver": "5.3.0", 2261 | "tar": "2.2.1", 2262 | "tar-pack": "3.4.0" 2263 | } 2264 | }, 2265 | "nopt": { 2266 | "version": "4.0.1", 2267 | "bundled": true, 2268 | "dev": true, 2269 | "optional": true, 2270 | "requires": { 2271 | "abbrev": "1.1.0", 2272 | "osenv": "0.1.4" 2273 | } 2274 | }, 2275 | "npmlog": { 2276 | "version": "4.1.0", 2277 | "bundled": true, 2278 | "dev": true, 2279 | "optional": true, 2280 | "requires": { 2281 | "are-we-there-yet": "1.1.4", 2282 | "console-control-strings": "1.1.0", 2283 | "gauge": "2.7.4", 2284 | "set-blocking": "2.0.0" 2285 | } 2286 | }, 2287 | "number-is-nan": { 2288 | "version": "1.0.1", 2289 | "bundled": true, 2290 | "dev": true 2291 | }, 2292 | "oauth-sign": { 2293 | "version": "0.8.2", 2294 | "bundled": true, 2295 | "dev": true, 2296 | "optional": true 2297 | }, 2298 | "object-assign": { 2299 | "version": "4.1.1", 2300 | "bundled": true, 2301 | "dev": true, 2302 | "optional": true 2303 | }, 2304 | "once": { 2305 | "version": "1.4.0", 2306 | "bundled": true, 2307 | "dev": true, 2308 | "requires": { 2309 | "wrappy": "1.0.2" 2310 | } 2311 | }, 2312 | "os-homedir": { 2313 | "version": "1.0.2", 2314 | "bundled": true, 2315 | "dev": true, 2316 | "optional": true 2317 | }, 2318 | "os-tmpdir": { 2319 | "version": "1.0.2", 2320 | "bundled": true, 2321 | "dev": true, 2322 | "optional": true 2323 | }, 2324 | "osenv": { 2325 | "version": "0.1.4", 2326 | "bundled": true, 2327 | "dev": true, 2328 | "optional": true, 2329 | "requires": { 2330 | "os-homedir": "1.0.2", 2331 | "os-tmpdir": "1.0.2" 2332 | } 2333 | }, 2334 | "path-is-absolute": { 2335 | "version": "1.0.1", 2336 | "bundled": true, 2337 | "dev": true 2338 | }, 2339 | "performance-now": { 2340 | "version": "0.2.0", 2341 | "bundled": true, 2342 | "dev": true, 2343 | "optional": true 2344 | }, 2345 | "process-nextick-args": { 2346 | "version": "1.0.7", 2347 | "bundled": true, 2348 | "dev": true 2349 | }, 2350 | "punycode": { 2351 | "version": "1.4.1", 2352 | "bundled": true, 2353 | "dev": true, 2354 | "optional": true 2355 | }, 2356 | "qs": { 2357 | "version": "6.4.0", 2358 | "bundled": true, 2359 | "dev": true, 2360 | "optional": true 2361 | }, 2362 | "rc": { 2363 | "version": "1.2.1", 2364 | "bundled": true, 2365 | "dev": true, 2366 | "optional": true, 2367 | "requires": { 2368 | "deep-extend": "0.4.2", 2369 | "ini": "1.3.4", 2370 | "minimist": "1.2.0", 2371 | "strip-json-comments": "2.0.1" 2372 | }, 2373 | "dependencies": { 2374 | "minimist": { 2375 | "version": "1.2.0", 2376 | "bundled": true, 2377 | "dev": true, 2378 | "optional": true 2379 | } 2380 | } 2381 | }, 2382 | "readable-stream": { 2383 | "version": "2.2.9", 2384 | "bundled": true, 2385 | "dev": true, 2386 | "requires": { 2387 | "buffer-shims": "1.0.0", 2388 | "core-util-is": "1.0.2", 2389 | "inherits": "2.0.3", 2390 | "isarray": "1.0.0", 2391 | "process-nextick-args": "1.0.7", 2392 | "string_decoder": "1.0.1", 2393 | "util-deprecate": "1.0.2" 2394 | } 2395 | }, 2396 | "request": { 2397 | "version": "2.81.0", 2398 | "bundled": true, 2399 | "dev": true, 2400 | "optional": true, 2401 | "requires": { 2402 | "aws-sign2": "0.6.0", 2403 | "aws4": "1.6.0", 2404 | "caseless": "0.12.0", 2405 | "combined-stream": "1.0.5", 2406 | "extend": "3.0.1", 2407 | "forever-agent": "0.6.1", 2408 | "form-data": "2.1.4", 2409 | "har-validator": "4.2.1", 2410 | "hawk": "3.1.3", 2411 | "http-signature": "1.1.1", 2412 | "is-typedarray": "1.0.0", 2413 | "isstream": "0.1.2", 2414 | "json-stringify-safe": "5.0.1", 2415 | "mime-types": "2.1.15", 2416 | "oauth-sign": "0.8.2", 2417 | "performance-now": "0.2.0", 2418 | "qs": "6.4.0", 2419 | "safe-buffer": "5.0.1", 2420 | "stringstream": "0.0.5", 2421 | "tough-cookie": "2.3.2", 2422 | "tunnel-agent": "0.6.0", 2423 | "uuid": "3.0.1" 2424 | } 2425 | }, 2426 | "rimraf": { 2427 | "version": "2.6.1", 2428 | "bundled": true, 2429 | "dev": true, 2430 | "requires": { 2431 | "glob": "7.1.2" 2432 | } 2433 | }, 2434 | "safe-buffer": { 2435 | "version": "5.0.1", 2436 | "bundled": true, 2437 | "dev": true 2438 | }, 2439 | "semver": { 2440 | "version": "5.3.0", 2441 | "bundled": true, 2442 | "dev": true, 2443 | "optional": true 2444 | }, 2445 | "set-blocking": { 2446 | "version": "2.0.0", 2447 | "bundled": true, 2448 | "dev": true, 2449 | "optional": true 2450 | }, 2451 | "signal-exit": { 2452 | "version": "3.0.2", 2453 | "bundled": true, 2454 | "dev": true, 2455 | "optional": true 2456 | }, 2457 | "sntp": { 2458 | "version": "1.0.9", 2459 | "bundled": true, 2460 | "dev": true, 2461 | "requires": { 2462 | "hoek": "2.16.3" 2463 | } 2464 | }, 2465 | "sshpk": { 2466 | "version": "1.13.0", 2467 | "bundled": true, 2468 | "dev": true, 2469 | "optional": true, 2470 | "requires": { 2471 | "asn1": "0.2.3", 2472 | "assert-plus": "1.0.0", 2473 | "bcrypt-pbkdf": "1.0.1", 2474 | "dashdash": "1.14.1", 2475 | "ecc-jsbn": "0.1.1", 2476 | "getpass": "0.1.7", 2477 | "jodid25519": "1.0.2", 2478 | "jsbn": "0.1.1", 2479 | "tweetnacl": "0.14.5" 2480 | }, 2481 | "dependencies": { 2482 | "assert-plus": { 2483 | "version": "1.0.0", 2484 | "bundled": true, 2485 | "dev": true, 2486 | "optional": true 2487 | } 2488 | } 2489 | }, 2490 | "string-width": { 2491 | "version": "1.0.2", 2492 | "bundled": true, 2493 | "dev": true, 2494 | "requires": { 2495 | "code-point-at": "1.1.0", 2496 | "is-fullwidth-code-point": "1.0.0", 2497 | "strip-ansi": "3.0.1" 2498 | } 2499 | }, 2500 | "string_decoder": { 2501 | "version": "1.0.1", 2502 | "bundled": true, 2503 | "dev": true, 2504 | "requires": { 2505 | "safe-buffer": "5.0.1" 2506 | } 2507 | }, 2508 | "stringstream": { 2509 | "version": "0.0.5", 2510 | "bundled": true, 2511 | "dev": true, 2512 | "optional": true 2513 | }, 2514 | "strip-ansi": { 2515 | "version": "3.0.1", 2516 | "bundled": true, 2517 | "dev": true, 2518 | "requires": { 2519 | "ansi-regex": "2.1.1" 2520 | } 2521 | }, 2522 | "strip-json-comments": { 2523 | "version": "2.0.1", 2524 | "bundled": true, 2525 | "dev": true, 2526 | "optional": true 2527 | }, 2528 | "tar": { 2529 | "version": "2.2.1", 2530 | "bundled": true, 2531 | "dev": true, 2532 | "requires": { 2533 | "block-stream": "0.0.9", 2534 | "fstream": "1.0.11", 2535 | "inherits": "2.0.3" 2536 | } 2537 | }, 2538 | "tar-pack": { 2539 | "version": "3.4.0", 2540 | "bundled": true, 2541 | "dev": true, 2542 | "optional": true, 2543 | "requires": { 2544 | "debug": "2.6.8", 2545 | "fstream": "1.0.11", 2546 | "fstream-ignore": "1.0.5", 2547 | "once": "1.4.0", 2548 | "readable-stream": "2.2.9", 2549 | "rimraf": "2.6.1", 2550 | "tar": "2.2.1", 2551 | "uid-number": "0.0.6" 2552 | } 2553 | }, 2554 | "tough-cookie": { 2555 | "version": "2.3.2", 2556 | "bundled": true, 2557 | "dev": true, 2558 | "optional": true, 2559 | "requires": { 2560 | "punycode": "1.4.1" 2561 | } 2562 | }, 2563 | "tunnel-agent": { 2564 | "version": "0.6.0", 2565 | "bundled": true, 2566 | "dev": true, 2567 | "optional": true, 2568 | "requires": { 2569 | "safe-buffer": "5.0.1" 2570 | } 2571 | }, 2572 | "tweetnacl": { 2573 | "version": "0.14.5", 2574 | "bundled": true, 2575 | "dev": true, 2576 | "optional": true 2577 | }, 2578 | "uid-number": { 2579 | "version": "0.0.6", 2580 | "bundled": true, 2581 | "dev": true, 2582 | "optional": true 2583 | }, 2584 | "util-deprecate": { 2585 | "version": "1.0.2", 2586 | "bundled": true, 2587 | "dev": true 2588 | }, 2589 | "uuid": { 2590 | "version": "3.0.1", 2591 | "bundled": true, 2592 | "dev": true, 2593 | "optional": true 2594 | }, 2595 | "verror": { 2596 | "version": "1.3.6", 2597 | "bundled": true, 2598 | "dev": true, 2599 | "optional": true, 2600 | "requires": { 2601 | "extsprintf": "1.0.2" 2602 | } 2603 | }, 2604 | "wide-align": { 2605 | "version": "1.1.2", 2606 | "bundled": true, 2607 | "dev": true, 2608 | "optional": true, 2609 | "requires": { 2610 | "string-width": "1.0.2" 2611 | } 2612 | }, 2613 | "wrappy": { 2614 | "version": "1.0.2", 2615 | "bundled": true, 2616 | "dev": true 2617 | } 2618 | } 2619 | }, 2620 | "functional-red-black-tree": { 2621 | "version": "1.0.1", 2622 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2623 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2624 | "dev": true 2625 | }, 2626 | "getpass": { 2627 | "version": "0.1.7", 2628 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 2629 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 2630 | "dev": true, 2631 | "requires": { 2632 | "assert-plus": "1.0.0" 2633 | } 2634 | }, 2635 | "glob": { 2636 | "version": "7.1.2", 2637 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 2638 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 2639 | "dev": true, 2640 | "requires": { 2641 | "fs.realpath": "1.0.0", 2642 | "inflight": "1.0.6", 2643 | "inherits": "2.0.3", 2644 | "minimatch": "3.0.4", 2645 | "once": "1.4.0", 2646 | "path-is-absolute": "1.0.1" 2647 | } 2648 | }, 2649 | "glob-base": { 2650 | "version": "0.3.0", 2651 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 2652 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 2653 | "dev": true, 2654 | "optional": true, 2655 | "requires": { 2656 | "glob-parent": "2.0.0", 2657 | "is-glob": "2.0.1" 2658 | } 2659 | }, 2660 | "glob-parent": { 2661 | "version": "2.0.0", 2662 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 2663 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 2664 | "dev": true, 2665 | "requires": { 2666 | "is-glob": "2.0.1" 2667 | } 2668 | }, 2669 | "globals": { 2670 | "version": "9.18.0", 2671 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 2672 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 2673 | "dev": true 2674 | }, 2675 | "globby": { 2676 | "version": "5.0.0", 2677 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 2678 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 2679 | "dev": true, 2680 | "requires": { 2681 | "array-union": "1.0.2", 2682 | "arrify": "1.0.1", 2683 | "glob": "7.1.2", 2684 | "object-assign": "4.1.1", 2685 | "pify": "2.3.0", 2686 | "pinkie-promise": "2.0.1" 2687 | } 2688 | }, 2689 | "graceful-fs": { 2690 | "version": "4.1.11", 2691 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 2692 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 2693 | "dev": true 2694 | }, 2695 | "har-schema": { 2696 | "version": "2.0.0", 2697 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 2698 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 2699 | "dev": true 2700 | }, 2701 | "har-validator": { 2702 | "version": "5.0.3", 2703 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", 2704 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", 2705 | "dev": true, 2706 | "requires": { 2707 | "ajv": "5.5.2", 2708 | "har-schema": "2.0.0" 2709 | } 2710 | }, 2711 | "has-ansi": { 2712 | "version": "2.0.0", 2713 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 2714 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 2715 | "dev": true, 2716 | "requires": { 2717 | "ansi-regex": "2.1.1" 2718 | } 2719 | }, 2720 | "has-flag": { 2721 | "version": "2.0.0", 2722 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 2723 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 2724 | "dev": true 2725 | }, 2726 | "hawk": { 2727 | "version": "6.0.2", 2728 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", 2729 | "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", 2730 | "dev": true, 2731 | "requires": { 2732 | "boom": "4.3.1", 2733 | "cryptiles": "3.1.2", 2734 | "hoek": "4.2.0", 2735 | "sntp": "2.1.0" 2736 | } 2737 | }, 2738 | "hoek": { 2739 | "version": "4.2.0", 2740 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", 2741 | "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", 2742 | "dev": true 2743 | }, 2744 | "home-or-tmp": { 2745 | "version": "2.0.0", 2746 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 2747 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 2748 | "dev": true, 2749 | "requires": { 2750 | "os-homedir": "1.0.2", 2751 | "os-tmpdir": "1.0.2" 2752 | } 2753 | }, 2754 | "http-signature": { 2755 | "version": "1.2.0", 2756 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 2757 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 2758 | "dev": true, 2759 | "requires": { 2760 | "assert-plus": "1.0.0", 2761 | "jsprim": "1.4.1", 2762 | "sshpk": "1.13.1" 2763 | } 2764 | }, 2765 | "iconv-lite": { 2766 | "version": "0.4.19", 2767 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", 2768 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", 2769 | "dev": true 2770 | }, 2771 | "ignore": { 2772 | "version": "3.3.7", 2773 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", 2774 | "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", 2775 | "dev": true 2776 | }, 2777 | "imurmurhash": { 2778 | "version": "0.1.4", 2779 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2780 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2781 | "dev": true 2782 | }, 2783 | "inflight": { 2784 | "version": "1.0.6", 2785 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2786 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2787 | "dev": true, 2788 | "requires": { 2789 | "once": "1.4.0", 2790 | "wrappy": "1.0.2" 2791 | } 2792 | }, 2793 | "inherits": { 2794 | "version": "2.0.3", 2795 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 2796 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 2797 | "dev": true 2798 | }, 2799 | "inquirer": { 2800 | "version": "3.3.0", 2801 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 2802 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 2803 | "dev": true, 2804 | "requires": { 2805 | "ansi-escapes": "3.0.0", 2806 | "chalk": "2.3.0", 2807 | "cli-cursor": "2.1.0", 2808 | "cli-width": "2.2.0", 2809 | "external-editor": "2.1.0", 2810 | "figures": "2.0.0", 2811 | "lodash": "4.17.4", 2812 | "mute-stream": "0.0.7", 2813 | "run-async": "2.3.0", 2814 | "rx-lite": "4.0.8", 2815 | "rx-lite-aggregates": "4.0.8", 2816 | "string-width": "2.1.1", 2817 | "strip-ansi": "4.0.0", 2818 | "through": "2.3.8" 2819 | }, 2820 | "dependencies": { 2821 | "ansi-regex": { 2822 | "version": "3.0.0", 2823 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2824 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 2825 | "dev": true 2826 | }, 2827 | "ansi-styles": { 2828 | "version": "3.2.0", 2829 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 2830 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 2831 | "dev": true, 2832 | "requires": { 2833 | "color-convert": "1.9.1" 2834 | } 2835 | }, 2836 | "chalk": { 2837 | "version": "2.3.0", 2838 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 2839 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 2840 | "dev": true, 2841 | "requires": { 2842 | "ansi-styles": "3.2.0", 2843 | "escape-string-regexp": "1.0.5", 2844 | "supports-color": "4.5.0" 2845 | } 2846 | }, 2847 | "strip-ansi": { 2848 | "version": "4.0.0", 2849 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2850 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2851 | "dev": true, 2852 | "requires": { 2853 | "ansi-regex": "3.0.0" 2854 | } 2855 | }, 2856 | "supports-color": { 2857 | "version": "4.5.0", 2858 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 2859 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 2860 | "dev": true, 2861 | "requires": { 2862 | "has-flag": "2.0.0" 2863 | } 2864 | } 2865 | } 2866 | }, 2867 | "invariant": { 2868 | "version": "2.2.2", 2869 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 2870 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 2871 | "dev": true, 2872 | "requires": { 2873 | "loose-envify": "1.3.1" 2874 | } 2875 | }, 2876 | "is-binary-path": { 2877 | "version": "1.0.1", 2878 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 2879 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 2880 | "dev": true, 2881 | "optional": true, 2882 | "requires": { 2883 | "binary-extensions": "1.11.0" 2884 | } 2885 | }, 2886 | "is-buffer": { 2887 | "version": "1.1.6", 2888 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2889 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 2890 | "dev": true 2891 | }, 2892 | "is-dotfile": { 2893 | "version": "1.0.3", 2894 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 2895 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 2896 | "dev": true, 2897 | "optional": true 2898 | }, 2899 | "is-equal-shallow": { 2900 | "version": "0.1.3", 2901 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 2902 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 2903 | "dev": true, 2904 | "optional": true, 2905 | "requires": { 2906 | "is-primitive": "2.0.0" 2907 | } 2908 | }, 2909 | "is-extendable": { 2910 | "version": "0.1.1", 2911 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 2912 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 2913 | "dev": true, 2914 | "optional": true 2915 | }, 2916 | "is-extglob": { 2917 | "version": "1.0.0", 2918 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 2919 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 2920 | "dev": true 2921 | }, 2922 | "is-finite": { 2923 | "version": "1.0.2", 2924 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 2925 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 2926 | "dev": true, 2927 | "requires": { 2928 | "number-is-nan": "1.0.1" 2929 | } 2930 | }, 2931 | "is-fullwidth-code-point": { 2932 | "version": "2.0.0", 2933 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2934 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2935 | "dev": true 2936 | }, 2937 | "is-glob": { 2938 | "version": "2.0.1", 2939 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 2940 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 2941 | "dev": true, 2942 | "requires": { 2943 | "is-extglob": "1.0.0" 2944 | } 2945 | }, 2946 | "is-number": { 2947 | "version": "2.1.0", 2948 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 2949 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 2950 | "dev": true, 2951 | "optional": true, 2952 | "requires": { 2953 | "kind-of": "3.2.2" 2954 | } 2955 | }, 2956 | "is-path-cwd": { 2957 | "version": "1.0.0", 2958 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 2959 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 2960 | "dev": true 2961 | }, 2962 | "is-path-in-cwd": { 2963 | "version": "1.0.0", 2964 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 2965 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 2966 | "dev": true, 2967 | "requires": { 2968 | "is-path-inside": "1.0.1" 2969 | } 2970 | }, 2971 | "is-path-inside": { 2972 | "version": "1.0.1", 2973 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 2974 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 2975 | "dev": true, 2976 | "requires": { 2977 | "path-is-inside": "1.0.2" 2978 | } 2979 | }, 2980 | "is-posix-bracket": { 2981 | "version": "0.1.1", 2982 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 2983 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 2984 | "dev": true, 2985 | "optional": true 2986 | }, 2987 | "is-primitive": { 2988 | "version": "2.0.0", 2989 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 2990 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 2991 | "dev": true, 2992 | "optional": true 2993 | }, 2994 | "is-promise": { 2995 | "version": "2.1.0", 2996 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2997 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 2998 | "dev": true 2999 | }, 3000 | "is-resolvable": { 3001 | "version": "1.1.0", 3002 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", 3003 | "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", 3004 | "dev": true 3005 | }, 3006 | "is-typedarray": { 3007 | "version": "1.0.0", 3008 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 3009 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 3010 | "dev": true 3011 | }, 3012 | "isarray": { 3013 | "version": "1.0.0", 3014 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3015 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 3016 | "dev": true 3017 | }, 3018 | "isexe": { 3019 | "version": "2.0.0", 3020 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3021 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 3022 | "dev": true 3023 | }, 3024 | "isobject": { 3025 | "version": "2.1.0", 3026 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3027 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3028 | "dev": true, 3029 | "optional": true, 3030 | "requires": { 3031 | "isarray": "1.0.0" 3032 | } 3033 | }, 3034 | "isstream": { 3035 | "version": "0.1.2", 3036 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 3037 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 3038 | "dev": true 3039 | }, 3040 | "istextorbinary": { 3041 | "version": "2.1.0", 3042 | "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz", 3043 | "integrity": "sha1-2+0qb1G+L3R1to+JRlgRFBt1iHQ=", 3044 | "dev": true, 3045 | "requires": { 3046 | "binaryextensions": "2.0.0", 3047 | "editions": "1.3.3", 3048 | "textextensions": "2.1.0" 3049 | } 3050 | }, 3051 | "joe": { 3052 | "version": "2.0.2", 3053 | "resolved": "https://registry.npmjs.org/joe/-/joe-2.0.2.tgz", 3054 | "integrity": "sha1-iHTrV9w+tDFVj37RX9VYBdDvb08=", 3055 | "dev": true, 3056 | "requires": { 3057 | "editions": "1.3.3", 3058 | "event-emitter-grouped": "2.5.0", 3059 | "taskgroup": "5.0.1" 3060 | } 3061 | }, 3062 | "joe-reporter-console": { 3063 | "version": "2.0.1", 3064 | "resolved": "https://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-2.0.1.tgz", 3065 | "integrity": "sha1-4BAbH/wN3s/7o0YE8AqxK6qfzzY=", 3066 | "dev": true, 3067 | "requires": { 3068 | "cli-color": "1.2.0", 3069 | "editions": "1.3.3" 3070 | } 3071 | }, 3072 | "js-tokens": { 3073 | "version": "3.0.2", 3074 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 3075 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 3076 | "dev": true 3077 | }, 3078 | "js-yaml": { 3079 | "version": "3.10.0", 3080 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 3081 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 3082 | "dev": true, 3083 | "requires": { 3084 | "argparse": "1.0.9", 3085 | "esprima": "4.0.0" 3086 | } 3087 | }, 3088 | "jsbn": { 3089 | "version": "0.1.1", 3090 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 3091 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 3092 | "dev": true, 3093 | "optional": true 3094 | }, 3095 | "jsesc": { 3096 | "version": "1.3.0", 3097 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 3098 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 3099 | "dev": true 3100 | }, 3101 | "json-schema": { 3102 | "version": "0.2.3", 3103 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 3104 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 3105 | "dev": true 3106 | }, 3107 | "json-schema-traverse": { 3108 | "version": "0.3.1", 3109 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 3110 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", 3111 | "dev": true 3112 | }, 3113 | "json-stable-stringify-without-jsonify": { 3114 | "version": "1.0.1", 3115 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3116 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 3117 | "dev": true 3118 | }, 3119 | "json-stringify-safe": { 3120 | "version": "5.0.1", 3121 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 3122 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 3123 | "dev": true 3124 | }, 3125 | "json5": { 3126 | "version": "0.5.1", 3127 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 3128 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 3129 | "dev": true 3130 | }, 3131 | "jsprim": { 3132 | "version": "1.4.1", 3133 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 3134 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 3135 | "dev": true, 3136 | "requires": { 3137 | "assert-plus": "1.0.0", 3138 | "extsprintf": "1.3.0", 3139 | "json-schema": "0.2.3", 3140 | "verror": "1.10.0" 3141 | } 3142 | }, 3143 | "kind-of": { 3144 | "version": "3.2.2", 3145 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3146 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3147 | "dev": true, 3148 | "requires": { 3149 | "is-buffer": "1.1.6" 3150 | } 3151 | }, 3152 | "levn": { 3153 | "version": "0.3.0", 3154 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 3155 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 3156 | "dev": true, 3157 | "requires": { 3158 | "prelude-ls": "1.1.2", 3159 | "type-check": "0.3.2" 3160 | } 3161 | }, 3162 | "lodash": { 3163 | "version": "4.17.4", 3164 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 3165 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 3166 | "dev": true 3167 | }, 3168 | "loose-envify": { 3169 | "version": "1.3.1", 3170 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 3171 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 3172 | "dev": true, 3173 | "requires": { 3174 | "js-tokens": "3.0.2" 3175 | } 3176 | }, 3177 | "lru-cache": { 3178 | "version": "4.1.1", 3179 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 3180 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 3181 | "dev": true, 3182 | "requires": { 3183 | "pseudomap": "1.0.2", 3184 | "yallist": "2.1.2" 3185 | } 3186 | }, 3187 | "lru-queue": { 3188 | "version": "0.1.0", 3189 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 3190 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 3191 | "dev": true, 3192 | "optional": true, 3193 | "requires": { 3194 | "es5-ext": "0.10.38" 3195 | } 3196 | }, 3197 | "memoizee": { 3198 | "version": "0.4.11", 3199 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.11.tgz", 3200 | "integrity": "sha1-vemBdmPJ5A/bKk6hw2cpYIeujI8=", 3201 | "dev": true, 3202 | "optional": true, 3203 | "requires": { 3204 | "d": "1.0.0", 3205 | "es5-ext": "0.10.38", 3206 | "es6-weak-map": "2.0.2", 3207 | "event-emitter": "0.3.5", 3208 | "is-promise": "2.1.0", 3209 | "lru-queue": "0.1.0", 3210 | "next-tick": "1.0.0", 3211 | "timers-ext": "0.1.2" 3212 | } 3213 | }, 3214 | "micromatch": { 3215 | "version": "2.3.11", 3216 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 3217 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 3218 | "dev": true, 3219 | "optional": true, 3220 | "requires": { 3221 | "arr-diff": "2.0.0", 3222 | "array-unique": "0.2.1", 3223 | "braces": "1.8.5", 3224 | "expand-brackets": "0.1.5", 3225 | "extglob": "0.3.2", 3226 | "filename-regex": "2.0.1", 3227 | "is-extglob": "1.0.0", 3228 | "is-glob": "2.0.1", 3229 | "kind-of": "3.2.2", 3230 | "normalize-path": "2.1.1", 3231 | "object.omit": "2.0.1", 3232 | "parse-glob": "3.0.4", 3233 | "regex-cache": "0.4.4" 3234 | } 3235 | }, 3236 | "mime-db": { 3237 | "version": "1.30.0", 3238 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", 3239 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", 3240 | "dev": true 3241 | }, 3242 | "mime-types": { 3243 | "version": "2.1.17", 3244 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", 3245 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", 3246 | "dev": true, 3247 | "requires": { 3248 | "mime-db": "1.30.0" 3249 | } 3250 | }, 3251 | "mimic-fn": { 3252 | "version": "1.1.0", 3253 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", 3254 | "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", 3255 | "dev": true 3256 | }, 3257 | "minimatch": { 3258 | "version": "3.0.4", 3259 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 3260 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 3261 | "dev": true, 3262 | "requires": { 3263 | "brace-expansion": "1.1.8" 3264 | } 3265 | }, 3266 | "minimist": { 3267 | "version": "0.0.8", 3268 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 3269 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 3270 | "dev": true 3271 | }, 3272 | "mkdirp": { 3273 | "version": "0.5.1", 3274 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 3275 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 3276 | "dev": true, 3277 | "requires": { 3278 | "minimist": "0.0.8" 3279 | } 3280 | }, 3281 | "ms": { 3282 | "version": "2.0.0", 3283 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3284 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 3285 | "dev": true 3286 | }, 3287 | "mute-stream": { 3288 | "version": "0.0.7", 3289 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 3290 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 3291 | "dev": true 3292 | }, 3293 | "nan": { 3294 | "version": "2.8.0", 3295 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", 3296 | "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", 3297 | "dev": true, 3298 | "optional": true 3299 | }, 3300 | "natural-compare": { 3301 | "version": "1.4.0", 3302 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3303 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 3304 | "dev": true 3305 | }, 3306 | "next-tick": { 3307 | "version": "1.0.0", 3308 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 3309 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", 3310 | "dev": true 3311 | }, 3312 | "normalize-path": { 3313 | "version": "2.1.1", 3314 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 3315 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 3316 | "dev": true, 3317 | "requires": { 3318 | "remove-trailing-separator": "1.1.0" 3319 | } 3320 | }, 3321 | "number-is-nan": { 3322 | "version": "1.0.1", 3323 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 3324 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 3325 | "dev": true 3326 | }, 3327 | "oauth-sign": { 3328 | "version": "0.8.2", 3329 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 3330 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 3331 | "dev": true 3332 | }, 3333 | "object-assign": { 3334 | "version": "4.1.1", 3335 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3336 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 3337 | "dev": true 3338 | }, 3339 | "object.omit": { 3340 | "version": "2.0.1", 3341 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 3342 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 3343 | "dev": true, 3344 | "optional": true, 3345 | "requires": { 3346 | "for-own": "0.1.5", 3347 | "is-extendable": "0.1.1" 3348 | } 3349 | }, 3350 | "once": { 3351 | "version": "1.4.0", 3352 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3353 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3354 | "dev": true, 3355 | "requires": { 3356 | "wrappy": "1.0.2" 3357 | } 3358 | }, 3359 | "onetime": { 3360 | "version": "2.0.1", 3361 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 3362 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 3363 | "dev": true, 3364 | "requires": { 3365 | "mimic-fn": "1.1.0" 3366 | } 3367 | }, 3368 | "optionator": { 3369 | "version": "0.8.2", 3370 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 3371 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 3372 | "dev": true, 3373 | "requires": { 3374 | "deep-is": "0.1.3", 3375 | "fast-levenshtein": "2.0.6", 3376 | "levn": "0.3.0", 3377 | "prelude-ls": "1.1.2", 3378 | "type-check": "0.3.2", 3379 | "wordwrap": "1.0.0" 3380 | } 3381 | }, 3382 | "os-homedir": { 3383 | "version": "1.0.2", 3384 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 3385 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 3386 | "dev": true 3387 | }, 3388 | "os-tmpdir": { 3389 | "version": "1.0.2", 3390 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3391 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3392 | "dev": true 3393 | }, 3394 | "output-file-sync": { 3395 | "version": "1.1.2", 3396 | "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", 3397 | "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", 3398 | "dev": true, 3399 | "requires": { 3400 | "graceful-fs": "4.1.11", 3401 | "mkdirp": "0.5.1", 3402 | "object-assign": "4.1.1" 3403 | } 3404 | }, 3405 | "parse-glob": { 3406 | "version": "3.0.4", 3407 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 3408 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 3409 | "dev": true, 3410 | "optional": true, 3411 | "requires": { 3412 | "glob-base": "0.3.0", 3413 | "is-dotfile": "1.0.3", 3414 | "is-extglob": "1.0.0", 3415 | "is-glob": "2.0.1" 3416 | } 3417 | }, 3418 | "path-is-absolute": { 3419 | "version": "1.0.1", 3420 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3421 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3422 | "dev": true 3423 | }, 3424 | "path-is-inside": { 3425 | "version": "1.0.2", 3426 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 3427 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 3428 | "dev": true 3429 | }, 3430 | "performance-now": { 3431 | "version": "2.1.0", 3432 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 3433 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 3434 | "dev": true 3435 | }, 3436 | "pify": { 3437 | "version": "2.3.0", 3438 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3439 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 3440 | "dev": true 3441 | }, 3442 | "pinkie": { 3443 | "version": "2.0.4", 3444 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 3445 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 3446 | "dev": true 3447 | }, 3448 | "pinkie-promise": { 3449 | "version": "2.0.1", 3450 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 3451 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 3452 | "dev": true, 3453 | "requires": { 3454 | "pinkie": "2.0.4" 3455 | } 3456 | }, 3457 | "pluralize": { 3458 | "version": "7.0.0", 3459 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 3460 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 3461 | "dev": true 3462 | }, 3463 | "prelude-ls": { 3464 | "version": "1.1.2", 3465 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3466 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3467 | "dev": true 3468 | }, 3469 | "preserve": { 3470 | "version": "0.2.0", 3471 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 3472 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 3473 | "dev": true, 3474 | "optional": true 3475 | }, 3476 | "private": { 3477 | "version": "0.1.8", 3478 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 3479 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 3480 | "dev": true 3481 | }, 3482 | "process-nextick-args": { 3483 | "version": "1.0.7", 3484 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 3485 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 3486 | "dev": true 3487 | }, 3488 | "progress": { 3489 | "version": "1.1.8", 3490 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 3491 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" 3492 | }, 3493 | "projectz": { 3494 | "version": "1.4.0", 3495 | "resolved": "https://registry.npmjs.org/projectz/-/projectz-1.4.0.tgz", 3496 | "integrity": "sha1-Iq3X40bb+3BMjsHrK0PTbts2AlA=", 3497 | "dev": true, 3498 | "requires": { 3499 | "badges": "1.2.4", 3500 | "caterpillar": "3.0.1", 3501 | "caterpillar-filter": "3.0.0", 3502 | "caterpillar-human": "3.0.0", 3503 | "chainy-core": "1.6.0", 3504 | "chainy-plugin-each": "1.1.0", 3505 | "chainy-plugin-feed": "1.0.0", 3506 | "chainy-plugin-map": "1.0.5", 3507 | "chainy-plugin-set": "1.0.2", 3508 | "commander": "2.13.0", 3509 | "cson": "4.1.0", 3510 | "eachr": "3.2.0", 3511 | "editions": "1.3.3", 3512 | "extendr": "3.2.2", 3513 | "fellow": "2.3.0", 3514 | "safefs": "4.1.0", 3515 | "spdx": "0.5.1", 3516 | "spdx-license-list": "3.0.1", 3517 | "taskgroup": "5.0.1", 3518 | "typechecker": "4.4.1" 3519 | } 3520 | }, 3521 | "pseudomap": { 3522 | "version": "1.0.2", 3523 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3524 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 3525 | "dev": true 3526 | }, 3527 | "punycode": { 3528 | "version": "1.4.1", 3529 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3530 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 3531 | "dev": true 3532 | }, 3533 | "qs": { 3534 | "version": "6.5.1", 3535 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", 3536 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", 3537 | "dev": true 3538 | }, 3539 | "randomatic": { 3540 | "version": "1.1.7", 3541 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", 3542 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", 3543 | "dev": true, 3544 | "optional": true, 3545 | "requires": { 3546 | "is-number": "3.0.0", 3547 | "kind-of": "4.0.0" 3548 | }, 3549 | "dependencies": { 3550 | "is-number": { 3551 | "version": "3.0.0", 3552 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3553 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3554 | "dev": true, 3555 | "optional": true, 3556 | "requires": { 3557 | "kind-of": "3.2.2" 3558 | }, 3559 | "dependencies": { 3560 | "kind-of": { 3561 | "version": "3.2.2", 3562 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3563 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3564 | "dev": true, 3565 | "optional": true, 3566 | "requires": { 3567 | "is-buffer": "1.1.6" 3568 | } 3569 | } 3570 | } 3571 | }, 3572 | "kind-of": { 3573 | "version": "4.0.0", 3574 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 3575 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 3576 | "dev": true, 3577 | "optional": true, 3578 | "requires": { 3579 | "is-buffer": "1.1.6" 3580 | } 3581 | } 3582 | } 3583 | }, 3584 | "readable-stream": { 3585 | "version": "2.3.3", 3586 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 3587 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 3588 | "dev": true, 3589 | "requires": { 3590 | "core-util-is": "1.0.2", 3591 | "inherits": "2.0.3", 3592 | "isarray": "1.0.0", 3593 | "process-nextick-args": "1.0.7", 3594 | "safe-buffer": "5.1.1", 3595 | "string_decoder": "1.0.3", 3596 | "util-deprecate": "1.0.2" 3597 | } 3598 | }, 3599 | "readdirp": { 3600 | "version": "2.1.0", 3601 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", 3602 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", 3603 | "dev": true, 3604 | "optional": true, 3605 | "requires": { 3606 | "graceful-fs": "4.1.11", 3607 | "minimatch": "3.0.4", 3608 | "readable-stream": "2.3.3", 3609 | "set-immediate-shim": "1.0.1" 3610 | } 3611 | }, 3612 | "regenerate": { 3613 | "version": "1.3.3", 3614 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", 3615 | "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", 3616 | "dev": true 3617 | }, 3618 | "regenerator-runtime": { 3619 | "version": "0.11.1", 3620 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 3621 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", 3622 | "dev": true 3623 | }, 3624 | "regenerator-transform": { 3625 | "version": "0.10.1", 3626 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", 3627 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", 3628 | "dev": true, 3629 | "requires": { 3630 | "babel-runtime": "6.26.0", 3631 | "babel-types": "6.26.0", 3632 | "private": "0.1.8" 3633 | } 3634 | }, 3635 | "regex-cache": { 3636 | "version": "0.4.4", 3637 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 3638 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 3639 | "dev": true, 3640 | "optional": true, 3641 | "requires": { 3642 | "is-equal-shallow": "0.1.3" 3643 | } 3644 | }, 3645 | "regexpu-core": { 3646 | "version": "2.0.0", 3647 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 3648 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 3649 | "dev": true, 3650 | "requires": { 3651 | "regenerate": "1.3.3", 3652 | "regjsgen": "0.2.0", 3653 | "regjsparser": "0.1.5" 3654 | } 3655 | }, 3656 | "regjsgen": { 3657 | "version": "0.2.0", 3658 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 3659 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 3660 | "dev": true 3661 | }, 3662 | "regjsparser": { 3663 | "version": "0.1.5", 3664 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 3665 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 3666 | "dev": true, 3667 | "requires": { 3668 | "jsesc": "0.5.0" 3669 | }, 3670 | "dependencies": { 3671 | "jsesc": { 3672 | "version": "0.5.0", 3673 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 3674 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 3675 | "dev": true 3676 | } 3677 | } 3678 | }, 3679 | "remove-trailing-separator": { 3680 | "version": "1.1.0", 3681 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 3682 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 3683 | "dev": true 3684 | }, 3685 | "repeat-element": { 3686 | "version": "1.1.2", 3687 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 3688 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 3689 | "dev": true 3690 | }, 3691 | "repeat-string": { 3692 | "version": "1.6.1", 3693 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3694 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 3695 | "dev": true, 3696 | "optional": true 3697 | }, 3698 | "repeating": { 3699 | "version": "2.0.1", 3700 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 3701 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 3702 | "dev": true, 3703 | "requires": { 3704 | "is-finite": "1.0.2" 3705 | } 3706 | }, 3707 | "request": { 3708 | "version": "2.83.0", 3709 | "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", 3710 | "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", 3711 | "dev": true, 3712 | "requires": { 3713 | "aws-sign2": "0.7.0", 3714 | "aws4": "1.6.0", 3715 | "caseless": "0.12.0", 3716 | "combined-stream": "1.0.5", 3717 | "extend": "3.0.1", 3718 | "forever-agent": "0.6.1", 3719 | "form-data": "2.3.1", 3720 | "har-validator": "5.0.3", 3721 | "hawk": "6.0.2", 3722 | "http-signature": "1.2.0", 3723 | "is-typedarray": "1.0.0", 3724 | "isstream": "0.1.2", 3725 | "json-stringify-safe": "5.0.1", 3726 | "mime-types": "2.1.17", 3727 | "oauth-sign": "0.8.2", 3728 | "performance-now": "2.1.0", 3729 | "qs": "6.5.1", 3730 | "safe-buffer": "5.1.1", 3731 | "stringstream": "0.0.5", 3732 | "tough-cookie": "2.3.3", 3733 | "tunnel-agent": "0.6.0", 3734 | "uuid": "3.2.1" 3735 | } 3736 | }, 3737 | "require-uncached": { 3738 | "version": "1.0.3", 3739 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 3740 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 3741 | "dev": true, 3742 | "requires": { 3743 | "caller-path": "0.1.0", 3744 | "resolve-from": "1.0.1" 3745 | } 3746 | }, 3747 | "requirefresh": { 3748 | "version": "2.1.0", 3749 | "resolved": "https://registry.npmjs.org/requirefresh/-/requirefresh-2.1.0.tgz", 3750 | "integrity": "sha1-dC3Mwg86lpGNZsbxWX3I/+vE9vU=", 3751 | "dev": true, 3752 | "requires": { 3753 | "editions": "1.3.3" 3754 | } 3755 | }, 3756 | "resolve-from": { 3757 | "version": "1.0.1", 3758 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 3759 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 3760 | "dev": true 3761 | }, 3762 | "restore-cursor": { 3763 | "version": "2.0.0", 3764 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3765 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3766 | "dev": true, 3767 | "requires": { 3768 | "onetime": "2.0.1", 3769 | "signal-exit": "3.0.2" 3770 | } 3771 | }, 3772 | "rimraf": { 3773 | "version": "2.6.2", 3774 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3775 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3776 | "dev": true, 3777 | "requires": { 3778 | "glob": "7.1.2" 3779 | } 3780 | }, 3781 | "run-async": { 3782 | "version": "2.3.0", 3783 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3784 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3785 | "dev": true, 3786 | "requires": { 3787 | "is-promise": "2.1.0" 3788 | } 3789 | }, 3790 | "rx-lite": { 3791 | "version": "4.0.8", 3792 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 3793 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", 3794 | "dev": true 3795 | }, 3796 | "rx-lite-aggregates": { 3797 | "version": "4.0.8", 3798 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 3799 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 3800 | "dev": true, 3801 | "requires": { 3802 | "rx-lite": "4.0.8" 3803 | } 3804 | }, 3805 | "safe-buffer": { 3806 | "version": "5.1.1", 3807 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 3808 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 3809 | "dev": true 3810 | }, 3811 | "safefs": { 3812 | "version": "4.1.0", 3813 | "resolved": "https://registry.npmjs.org/safefs/-/safefs-4.1.0.tgz", 3814 | "integrity": "sha1-+CrrS9165R9lPrIPZyizBYyNZEU=", 3815 | "dev": true, 3816 | "requires": { 3817 | "editions": "1.3.3", 3818 | "graceful-fs": "4.1.11" 3819 | } 3820 | }, 3821 | "safeps": { 3822 | "version": "6.4.0", 3823 | "resolved": "https://registry.npmjs.org/safeps/-/safeps-6.4.0.tgz", 3824 | "integrity": "sha1-s2Kxfd5GVS9xtn1nW1GQKHz3tjw=", 3825 | "dev": true, 3826 | "requires": { 3827 | "editions": "1.3.3", 3828 | "extract-opts": "3.3.1", 3829 | "safefs": "4.1.0", 3830 | "taskgroup": "5.0.1", 3831 | "typechecker": "4.4.1" 3832 | } 3833 | }, 3834 | "sax": { 3835 | "version": "1.2.4", 3836 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 3837 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 3838 | "dev": true 3839 | }, 3840 | "semver": { 3841 | "version": "5.5.0", 3842 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 3843 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", 3844 | "dev": true 3845 | }, 3846 | "set-immediate-shim": { 3847 | "version": "1.0.1", 3848 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 3849 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", 3850 | "dev": true, 3851 | "optional": true 3852 | }, 3853 | "shebang-command": { 3854 | "version": "1.2.0", 3855 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3856 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3857 | "dev": true, 3858 | "requires": { 3859 | "shebang-regex": "1.0.0" 3860 | } 3861 | }, 3862 | "shebang-regex": { 3863 | "version": "1.0.0", 3864 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3865 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 3866 | "dev": true 3867 | }, 3868 | "signal-exit": { 3869 | "version": "3.0.2", 3870 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3871 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 3872 | "dev": true 3873 | }, 3874 | "slash": { 3875 | "version": "1.0.0", 3876 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3877 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 3878 | "dev": true 3879 | }, 3880 | "slice-ansi": { 3881 | "version": "1.0.0", 3882 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", 3883 | "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", 3884 | "dev": true, 3885 | "requires": { 3886 | "is-fullwidth-code-point": "2.0.0" 3887 | } 3888 | }, 3889 | "sntp": { 3890 | "version": "2.1.0", 3891 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", 3892 | "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", 3893 | "dev": true, 3894 | "requires": { 3895 | "hoek": "4.2.0" 3896 | } 3897 | }, 3898 | "source-map": { 3899 | "version": "0.5.7", 3900 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3901 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3902 | "dev": true 3903 | }, 3904 | "source-map-support": { 3905 | "version": "0.4.18", 3906 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 3907 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 3908 | "dev": true, 3909 | "requires": { 3910 | "source-map": "0.5.7" 3911 | } 3912 | }, 3913 | "spdx": { 3914 | "version": "0.5.1", 3915 | "resolved": "https://registry.npmjs.org/spdx/-/spdx-0.5.1.tgz", 3916 | "integrity": "sha1-02wnUIi0jXWpBGzUSoOM5LUzmZg=", 3917 | "dev": true, 3918 | "requires": { 3919 | "spdx-exceptions": "1.0.5", 3920 | "spdx-license-ids": "1.2.2" 3921 | } 3922 | }, 3923 | "spdx-exceptions": { 3924 | "version": "1.0.5", 3925 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz", 3926 | "integrity": "sha1-nSGsTaS9tx0GD7dOWmdTHQMsu6Y=", 3927 | "dev": true 3928 | }, 3929 | "spdx-license-ids": { 3930 | "version": "1.2.2", 3931 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 3932 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 3933 | "dev": true 3934 | }, 3935 | "spdx-license-list": { 3936 | "version": "3.0.1", 3937 | "resolved": "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-3.0.1.tgz", 3938 | "integrity": "sha1-Fj1yEj4A9Pi9bhgSVpawCfEkj/U=", 3939 | "dev": true 3940 | }, 3941 | "sprintf-js": { 3942 | "version": "1.0.3", 3943 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3944 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3945 | "dev": true 3946 | }, 3947 | "sshpk": { 3948 | "version": "1.13.1", 3949 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 3950 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 3951 | "dev": true, 3952 | "requires": { 3953 | "asn1": "0.2.3", 3954 | "assert-plus": "1.0.0", 3955 | "bcrypt-pbkdf": "1.0.1", 3956 | "dashdash": "1.14.1", 3957 | "ecc-jsbn": "0.1.1", 3958 | "getpass": "0.1.7", 3959 | "jsbn": "0.1.1", 3960 | "tweetnacl": "0.14.5" 3961 | } 3962 | }, 3963 | "string-width": { 3964 | "version": "2.1.1", 3965 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3966 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3967 | "dev": true, 3968 | "requires": { 3969 | "is-fullwidth-code-point": "2.0.0", 3970 | "strip-ansi": "4.0.0" 3971 | }, 3972 | "dependencies": { 3973 | "ansi-regex": { 3974 | "version": "3.0.0", 3975 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3976 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 3977 | "dev": true 3978 | }, 3979 | "strip-ansi": { 3980 | "version": "4.0.0", 3981 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3982 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3983 | "dev": true, 3984 | "requires": { 3985 | "ansi-regex": "3.0.0" 3986 | } 3987 | } 3988 | } 3989 | }, 3990 | "string_decoder": { 3991 | "version": "1.0.3", 3992 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 3993 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 3994 | "dev": true, 3995 | "requires": { 3996 | "safe-buffer": "5.1.1" 3997 | } 3998 | }, 3999 | "stringstream": { 4000 | "version": "0.0.5", 4001 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 4002 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 4003 | "dev": true 4004 | }, 4005 | "strip-ansi": { 4006 | "version": "3.0.1", 4007 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4008 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4009 | "dev": true, 4010 | "requires": { 4011 | "ansi-regex": "2.1.1" 4012 | } 4013 | }, 4014 | "strip-json-comments": { 4015 | "version": "2.0.1", 4016 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 4017 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 4018 | "dev": true 4019 | }, 4020 | "supports-color": { 4021 | "version": "2.0.0", 4022 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 4023 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 4024 | "dev": true 4025 | }, 4026 | "table": { 4027 | "version": "4.0.2", 4028 | "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", 4029 | "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", 4030 | "dev": true, 4031 | "requires": { 4032 | "ajv": "5.5.2", 4033 | "ajv-keywords": "2.1.1", 4034 | "chalk": "2.3.0", 4035 | "lodash": "4.17.4", 4036 | "slice-ansi": "1.0.0", 4037 | "string-width": "2.1.1" 4038 | }, 4039 | "dependencies": { 4040 | "ansi-styles": { 4041 | "version": "3.2.0", 4042 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 4043 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 4044 | "dev": true, 4045 | "requires": { 4046 | "color-convert": "1.9.1" 4047 | } 4048 | }, 4049 | "chalk": { 4050 | "version": "2.3.0", 4051 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 4052 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 4053 | "dev": true, 4054 | "requires": { 4055 | "ansi-styles": "3.2.0", 4056 | "escape-string-regexp": "1.0.5", 4057 | "supports-color": "4.5.0" 4058 | } 4059 | }, 4060 | "supports-color": { 4061 | "version": "4.5.0", 4062 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 4063 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 4064 | "dev": true, 4065 | "requires": { 4066 | "has-flag": "2.0.0" 4067 | } 4068 | } 4069 | } 4070 | }, 4071 | "taskgroup": { 4072 | "version": "5.0.1", 4073 | "resolved": "https://registry.npmjs.org/taskgroup/-/taskgroup-5.0.1.tgz", 4074 | "integrity": "sha1-CHNsmyRoOxQ0d0Ix60tzqnw/ebU=", 4075 | "dev": true, 4076 | "requires": { 4077 | "ambi": "2.5.0", 4078 | "eachr": "3.2.0", 4079 | "editions": "1.3.3", 4080 | "extendr": "3.2.2" 4081 | } 4082 | }, 4083 | "text-table": { 4084 | "version": "0.2.0", 4085 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 4086 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 4087 | "dev": true 4088 | }, 4089 | "textextensions": { 4090 | "version": "2.1.0", 4091 | "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.1.0.tgz", 4092 | "integrity": "sha1-G+DcKg3CRNRL6KCa9qha+5PE28M=", 4093 | "dev": true 4094 | }, 4095 | "through": { 4096 | "version": "2.3.8", 4097 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4098 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 4099 | "dev": true 4100 | }, 4101 | "timers-ext": { 4102 | "version": "0.1.2", 4103 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz", 4104 | "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=", 4105 | "dev": true, 4106 | "requires": { 4107 | "es5-ext": "0.10.38", 4108 | "next-tick": "1.0.0" 4109 | } 4110 | }, 4111 | "tmp": { 4112 | "version": "0.0.33", 4113 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 4114 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 4115 | "dev": true, 4116 | "requires": { 4117 | "os-tmpdir": "1.0.2" 4118 | } 4119 | }, 4120 | "to-fast-properties": { 4121 | "version": "1.0.3", 4122 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 4123 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 4124 | "dev": true 4125 | }, 4126 | "tough-cookie": { 4127 | "version": "2.3.3", 4128 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", 4129 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", 4130 | "dev": true, 4131 | "requires": { 4132 | "punycode": "1.4.1" 4133 | } 4134 | }, 4135 | "trim-right": { 4136 | "version": "1.0.1", 4137 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 4138 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 4139 | "dev": true 4140 | }, 4141 | "tunnel-agent": { 4142 | "version": "0.6.0", 4143 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 4144 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 4145 | "dev": true, 4146 | "requires": { 4147 | "safe-buffer": "5.1.1" 4148 | } 4149 | }, 4150 | "tweetnacl": { 4151 | "version": "0.14.5", 4152 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 4153 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 4154 | "dev": true, 4155 | "optional": true 4156 | }, 4157 | "type-check": { 4158 | "version": "0.3.2", 4159 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 4160 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 4161 | "dev": true, 4162 | "requires": { 4163 | "prelude-ls": "1.1.2" 4164 | } 4165 | }, 4166 | "typechecker": { 4167 | "version": "4.4.1", 4168 | "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.4.1.tgz", 4169 | "integrity": "sha1-+XuV9RsDhBchLWd9RaNz7nvO1+Y=", 4170 | "dev": true, 4171 | "requires": { 4172 | "editions": "1.3.3" 4173 | } 4174 | }, 4175 | "typedarray": { 4176 | "version": "0.0.6", 4177 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 4178 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 4179 | "dev": true 4180 | }, 4181 | "user-home": { 4182 | "version": "1.1.1", 4183 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", 4184 | "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", 4185 | "dev": true 4186 | }, 4187 | "util-deprecate": { 4188 | "version": "1.0.2", 4189 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4190 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4191 | "dev": true 4192 | }, 4193 | "uuid": { 4194 | "version": "3.2.1", 4195 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", 4196 | "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", 4197 | "dev": true 4198 | }, 4199 | "v8flags": { 4200 | "version": "2.1.1", 4201 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", 4202 | "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", 4203 | "dev": true, 4204 | "requires": { 4205 | "user-home": "1.1.1" 4206 | } 4207 | }, 4208 | "verror": { 4209 | "version": "1.10.0", 4210 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 4211 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 4212 | "dev": true, 4213 | "requires": { 4214 | "assert-plus": "1.0.0", 4215 | "core-util-is": "1.0.2", 4216 | "extsprintf": "1.3.0" 4217 | } 4218 | }, 4219 | "which": { 4220 | "version": "1.3.0", 4221 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 4222 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 4223 | "dev": true, 4224 | "requires": { 4225 | "isexe": "2.0.0" 4226 | } 4227 | }, 4228 | "wordwrap": { 4229 | "version": "1.0.0", 4230 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 4231 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 4232 | "dev": true 4233 | }, 4234 | "wrappy": { 4235 | "version": "1.0.2", 4236 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4237 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4238 | "dev": true 4239 | }, 4240 | "write": { 4241 | "version": "0.2.1", 4242 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 4243 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 4244 | "dev": true, 4245 | "requires": { 4246 | "mkdirp": "0.5.1" 4247 | } 4248 | }, 4249 | "xml2js": { 4250 | "version": "0.4.19", 4251 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", 4252 | "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", 4253 | "dev": true, 4254 | "requires": { 4255 | "sax": "1.2.4", 4256 | "xmlbuilder": "9.0.4" 4257 | } 4258 | }, 4259 | "xmlbuilder": { 4260 | "version": "9.0.4", 4261 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", 4262 | "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=", 4263 | "dev": true 4264 | }, 4265 | "yallist": { 4266 | "version": "2.1.2", 4267 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4268 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4269 | "dev": true 4270 | } 4271 | } 4272 | } 4273 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Progress Bar", 3 | "name": "progressbar", 4 | "version": "1.3.0", 5 | "description": "A nice wrapper around [TJ Holowaychuck's](https://github.com/visionmedia) [node-progress](https://github.com/visionmedia/node-progress) with chaining, domains, and steps", 6 | "homepage": "https://github.com/bevry/progressbar", 7 | "license": "MIT", 8 | "keywords": [ 9 | "progress", 10 | "progressbar", 11 | "bar", 12 | "progress-bar", 13 | "ticks", 14 | "tick", 15 | "status" 16 | ], 17 | "badges": { 18 | "list": [ 19 | "travisci", 20 | "npmversion", 21 | "npmdownloads", 22 | "daviddm", 23 | "daviddmdev", 24 | "---", 25 | "patreon", 26 | "opencollective", 27 | "gratipay", 28 | "flattr", 29 | "paypal", 30 | "bitcoin", 31 | "wishlist", 32 | "---", 33 | "slackin" 34 | ], 35 | "config": { 36 | "patreonUsername": "bevry", 37 | "opencollectiveUsername": "bevry", 38 | "gratipayUsername": "bevry", 39 | "flattrUsername": "balupton", 40 | "paypalURL": "https://bevry.me/paypal", 41 | "bitcoinURL": "https://bevry.me/bitcoin", 42 | "wishlistURL": "https://bevry.me/wishlist", 43 | "slackinURL": "https://slack.bevry.me" 44 | } 45 | }, 46 | "author": "2013+ Bevry Pty Ltd (http://bevry.me)", 47 | "maintainers": [ 48 | "Benjamin Lupton (http://balupton.com)" 49 | ], 50 | "contributors": [ 51 | "Benjamin Lupton (http://balupton.com)", 52 | "Tim Oxley (http://campjs.com/)", 53 | "Zearin (https://github.com/Zearin)" 54 | ], 55 | "bugs": { 56 | "url": "https://github.com/bevry/progressbar/issues" 57 | }, 58 | "repository": { 59 | "type": "git", 60 | "url": "https://github.com/bevry/progressbar.git" 61 | }, 62 | "engines": { 63 | "node": ">=0.12" 64 | }, 65 | "editions": [ 66 | { 67 | "description": "Source + ESNext + Require", 68 | "entry": "index.js", 69 | "directory": "source", 70 | "syntaxes": [ 71 | "javascript", 72 | "esnext", 73 | "require", 74 | "classes", 75 | "const", 76 | "let", 77 | "spread", 78 | "defaults" 79 | ] 80 | }, 81 | { 82 | "description": "Babel Compiled + ES2015 + Require", 83 | "entry": "index.js", 84 | "directory": "es2015", 85 | "syntaxes": [ 86 | "javascript", 87 | "es2015", 88 | "require" 89 | ] 90 | } 91 | ], 92 | "main": "index.js", 93 | "dependencies": { 94 | "editions": "^1.3.3", 95 | "progress": "2.0.0" 96 | }, 97 | "devDependencies": { 98 | "assert-helpers": "^4.5.0", 99 | "babel-cli": "^6.26.0", 100 | "babel-preset-es2015": "^6.24.1", 101 | "eslint": "^4.16.0", 102 | "joe": "^2.0.2", 103 | "joe-reporter-console": "^2.0.1", 104 | "projectz": "^1.4.0" 105 | }, 106 | "scripts": { 107 | "our:setup": "npm run our:setup:npm", 108 | "our:setup:npm": "npm install", 109 | "our:clean": "rm -Rf ./docs ./es2015 ./es5 ./out", 110 | "our:compile": "npm run our:compile:es2015", 111 | "our:compile:es2015": "babel ./source --out-dir ./es2015 --presets es2015", 112 | "our:meta": "npm run our:meta:projectz", 113 | "our:meta:projectz": "projectz compile", 114 | "our:verify": "npm run our:verify:eslint", 115 | "our:verify:eslint": "eslint --fix ./source", 116 | "our:test": "npm run our:verify && npm test", 117 | "our:release": "npm run our:release:prepare && npm run our:release:check && npm run our:release:tag && npm run our:release:push", 118 | "our:release:prepare": "npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta", 119 | "our:release:check": "npm run our:release:check:changelog && npm run our:release:check:dirty", 120 | "our:release:check:changelog": "cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)", 121 | "our:release:check:dirty": "git diff --exit-code", 122 | "our:release:tag": "export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"", 123 | "our:release:push": "git push origin master && git push origin --tags", 124 | "test": "node --harmony ./test.js --joe-reporter=console" 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /source/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const Progress = require('progress') 4 | 5 | class ProgressBar extends require('events').EventEmitter { 6 | 7 | static create (...args) { 8 | return new this(...args) 9 | } 10 | 11 | constructor (...args) { 12 | super(...args) 13 | 14 | this._tick = null 15 | this._total = null 16 | this._bar = null 17 | this._step = null 18 | this._domain = null 19 | 20 | this.start() 21 | } 22 | 23 | start () { 24 | const me = this 25 | this._tick = 0 26 | this._total = 1 27 | try { 28 | this._domain = require('domain').create() 29 | } 30 | catch (err) { } 31 | 32 | // bubble domain errors 33 | if (this._domain) { 34 | this._domain.on('error', function (err) { 35 | me.emit('error', err) 36 | }) 37 | } 38 | 39 | // destroy the old progressbar and create our new one 40 | this.on('step', function () { 41 | me.destroy() 42 | const message = `Performing ${me._step} at :current/:total :percent :bar` 43 | if (me._domain) { 44 | me._domain.run(me.onStep.bind(me, message)) 45 | } 46 | else { 47 | me.onStep() 48 | } 49 | }) 50 | 51 | // update our bar's total 52 | this.on('total', function () { 53 | if (me._bar) me._bar.total = me._total 54 | }) 55 | 56 | // update our bar's progress 57 | this.on('tick', function () { 58 | if (me._bar) me._bar.tick(me._tick - me._bar.curr) 59 | }) 60 | 61 | // chain 62 | return this 63 | } 64 | 65 | onStep (message) { 66 | try { 67 | this._bar = new Progress(message, { 68 | width: 50, 69 | total: this._total, 70 | clear: true 71 | }) 72 | } 73 | catch (err) { 74 | if (this._domain) { 75 | this._domain.emit('error', err) 76 | } 77 | else { 78 | this.emit('error', err) 79 | } 80 | } 81 | } 82 | 83 | step (s) { 84 | if (s != null) { 85 | this.setStep(s) 86 | } 87 | else { 88 | throw new Error('step is now just an alias for setStep to ensure consistent return value') 89 | } 90 | return this 91 | } 92 | getStep () { 93 | return this._step 94 | } 95 | setStep (s) { 96 | if (!s) throw new Error('no step param defined') 97 | this._step = s 98 | this.emit('step', this._step) 99 | this.setTick(0) 100 | this.setTotal(1) 101 | return this 102 | } 103 | 104 | total (t) { 105 | if (t != null) { 106 | this.setTotal(t) 107 | } 108 | else { 109 | this.addTotal() 110 | } 111 | return this 112 | } 113 | getTotal () { 114 | return this._total 115 | } 116 | addTotal (t = 1) { 117 | this._total += t 118 | this.emit('total', this._total) 119 | return this 120 | } 121 | setTotal (t) { 122 | this._total = t || 1 // must be truthy rather than null, otherwise: RangeError: Invalid array length 123 | this.emit('total', this._total) 124 | return this 125 | } 126 | 127 | tick (t) { 128 | if (t != null) { 129 | this.setTick(t) 130 | } 131 | else { 132 | this.addTick() 133 | } 134 | return this 135 | } 136 | getTick () { 137 | return this._tick 138 | } 139 | addTick (t = 1) { 140 | this._tick += t 141 | this.emit('tick', this._tick) 142 | return this 143 | } 144 | setTick (t) { 145 | this._tick = t 146 | this.emit('tick', this._tick) 147 | return this 148 | } 149 | 150 | destroy (next) { 151 | if (this._bar != null) { 152 | const me = this 153 | if (this._domain) { 154 | this._domain.run(function () { 155 | me._bar.terminate() 156 | }) 157 | this._domain.run(function () { 158 | me._bar = null 159 | }) 160 | } 161 | else { 162 | me._bar.terminate() 163 | me._bar = null 164 | } 165 | } 166 | if (next) next() 167 | return this 168 | } 169 | finish (next) { 170 | const me = this 171 | this.destroy(function () { 172 | me.emit('finish') 173 | if (me._domain) me._domain.exit() 174 | me.removeAllListeners() 175 | if (next) next() 176 | }) 177 | return this 178 | } 179 | } 180 | 181 | // Export 182 | module.exports = ProgressBar 183 | 184 | // Backwards API Compat 185 | module.exports.ProgressBar = ProgressBar 186 | -------------------------------------------------------------------------------- /source/test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const progress = require('../').create().step('the task you are currently performing') 4 | 5 | // use an array of steps that execute one second after each other 6 | // as if we do them all instantly 7 | // you won't see the progress bar as it will be instant 8 | const steps = [ 9 | () => progress.setTotal(5), 10 | () => progress.setTick(1), 11 | () => progress.setTick(2), 12 | () => progress.setTick(3), 13 | () => progress.addTick(), 14 | () => progress.addTick(), 15 | () => progress.finish() // remove and destroy the progress bar 16 | ] 17 | 18 | steps.forEach(function (step, index) { 19 | setTimeout(step, index * 1000) 20 | }) 21 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | // 2016 December 29 2 | // https://github.com/bevry/editions 3 | 'use strict' 4 | 5 | module.exports = require('editions').requirePackage(__dirname, require, 'test.js') 6 | --------------------------------------------------------------------------------