├── .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 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
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
41 | - Install:
npm install --save progressbar
42 | - Module:
require('progressbar')
43 |
44 |
45 |
46 | This package is published with the following editions:
47 |
48 | progressbar
aliases progressbar/index.js
which uses Editions to automatically select the correct edition for the consumers environment
49 | progressbar/source/index.js
is Source + ESNext + Require
50 | progressbar/es2015/index.js
is Babel Compiled + ES2015 + Require
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 |
124 |
125 |
126 |
127 |
128 |
129 |
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 |
--------------------------------------------------------------------------------