├── .gitignore ├── .npmignore ├── .travis.yml ├── README.md ├── dist └── strclass.min.js ├── docs ├── lcov-report │ ├── base.css │ ├── index.html │ ├── index.js.html │ ├── prettify.css │ ├── prettify.js │ ├── sort-arrow-sprite.png │ └── sorter.js └── lcov.info ├── package.json ├── src └── index.js ├── test.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .nyc_output 4 | coverage 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | docs 2 | test.js 3 | .travis.yml 4 | .nyc_output 5 | yarn.lock 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "7.6" 4 | 5 | addons: 6 | coveralls: 7 | repo_token: YAK9nniKwGQRQhJ0Aru7aAtkraD0WLdQD 8 | 9 | after_script: 10 | - "yarn coverage" 11 | - "cat ./docs/lcov.info | ./node_modules/coveralls/bin/coveralls.js" 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # strclass 2 | 3 | > A tiny library to apply CSS classes as strings from objects 4 | 5 | [![Build Status][travis-image]][travis-url] 6 | [![Coveralls Coverage Status][coverage-image]][coverage-url] 7 | 8 | ## Installation 9 | 10 | ``` 11 | yarn add strclass 12 | ``` 13 | 14 | ## Usage 15 | 16 | `strclass` is an _Universal Module_, and can be used as a global, 17 | with AMD, CommonJS or ES Module. 18 | 19 | **Signature:** 20 | 21 | ``` 22 | strclass({ className: booleanConditionToShowThisClass }, [defaultClass1, defaultclass2, ..., defaultclassN]) 23 | ``` 24 | 25 | **Usage:** 26 | 27 | ```js 28 | import strclass from 'strclass' 29 | 30 | console.log(strclass({ highlighted: true })) 31 | // 'highlighted' 32 | 33 | console.log(strclass({ '-active': true }, 'button')) 34 | // 'button -active' 35 | 36 | console.log(strclass({ '-active': true }, 'button', 'button-default')) 37 | // 'button button-default -active' 38 | 39 | console.log(strclass({ active: false })) 40 | // '' 41 | ``` 42 | 43 | You can use with React, VanillaJS or any other lib/framework: 44 | 45 | ```js 46 | const Button = ({ active, children }) => ( 47 | 50 | ) 51 | 52 | 53 | // will render: 54 | 55 | 56 | // will render: 57 | ``` 58 | 59 | If you are using _CSS Modules_, or need to pass the class as a dynamic value, just do: 60 | 61 | ```js 62 | const ac = 'active' 63 | console.log(strclass({ [ac]: true })) // 'active' 64 | ``` 65 | 66 | ## Differences from [`classnames module`](https://github.com/JedWatson/classnames) 67 | 68 | **Size** 69 | 70 | `strclass` has ~200bytes gzipped. 71 | 72 | **Signature** 73 | 74 | With `classnames`, you can pass any argument as `String`, `Object` or `Array`. 75 | Otherwise, `strclass` has a signature that should be respected: `Object` as a first argument, with the conditionals, 76 | and any other argument should be a `String`. 77 | 78 | If you don't need conditionals, you don't need `strclass`. Just use `strings`. 79 | 80 | That's it =) 81 | 82 | ## License 83 | 84 | [MIT](license-url) © Fernando Daciuk 85 | 86 | [travis-image]: https://img.shields.io/travis/fdaciuk/strclass.svg?style=flat-square 87 | [travis-url]: https://travis-ci.org/fdaciuk/strclass 88 | [coverage-image]: https://img.shields.io/coveralls/fdaciuk/strclass/master.svg?style=flat-square 89 | [coverage-url]: https://coveralls.io/r/fdaciuk/strclass?branch=master 90 | [license-url]: https://github.com/fdaciuk/licenses/blob/master/MIT-LICENSE.md 91 | -------------------------------------------------------------------------------- /dist/strclass.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t,r){"use strict" 2 | "function"==typeof define&&define.amd?define(t,r):"object"==typeof exports?exports=module.exports=r():e[t]=r()}(this,"strclass",function(){"use strict" 3 | function e(e){function t(t,r){return t+(e[r]?" "+r:"")}var r=Array.prototype.slice.call(arguments,1) 4 | return Object.keys(e).reduce(t,r.filter(Boolean).join(" ")).replace(/^\s+|\s+$/g,"")}return e}) 5 | -------------------------------------------------------------------------------- /docs/lcov-report/base.css: -------------------------------------------------------------------------------- 1 | body, html { 2 | margin:0; padding: 0; 3 | height: 100%; 4 | } 5 | body { 6 | font-family: Helvetica Neue, Helvetica, Arial; 7 | font-size: 14px; 8 | color:#333; 9 | } 10 | .small { font-size: 12px; } 11 | *, *:after, *:before { 12 | -webkit-box-sizing:border-box; 13 | -moz-box-sizing:border-box; 14 | box-sizing:border-box; 15 | } 16 | h1 { font-size: 20px; margin: 0;} 17 | h2 { font-size: 14px; } 18 | pre { 19 | font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; 20 | margin: 0; 21 | padding: 0; 22 | -moz-tab-size: 2; 23 | -o-tab-size: 2; 24 | tab-size: 2; 25 | } 26 | a { color:#0074D9; text-decoration:none; } 27 | a:hover { text-decoration:underline; } 28 | .strong { font-weight: bold; } 29 | .space-top1 { padding: 10px 0 0 0; } 30 | .pad2y { padding: 20px 0; } 31 | .pad1y { padding: 10px 0; } 32 | .pad2x { padding: 0 20px; } 33 | .pad2 { padding: 20px; } 34 | .pad1 { padding: 10px; } 35 | .space-left2 { padding-left:55px; } 36 | .space-right2 { padding-right:20px; } 37 | .center { text-align:center; } 38 | .clearfix { display:block; } 39 | .clearfix:after { 40 | content:''; 41 | display:block; 42 | height:0; 43 | clear:both; 44 | visibility:hidden; 45 | } 46 | .fl { float: left; } 47 | @media only screen and (max-width:640px) { 48 | .col3 { width:100%; max-width:100%; } 49 | .hide-mobile { display:none!important; } 50 | } 51 | 52 | .quiet { 53 | color: #7f7f7f; 54 | color: rgba(0,0,0,0.5); 55 | } 56 | .quiet a { opacity: 0.7; } 57 | 58 | .fraction { 59 | font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; 60 | font-size: 10px; 61 | color: #555; 62 | background: #E8E8E8; 63 | padding: 4px 5px; 64 | border-radius: 3px; 65 | vertical-align: middle; 66 | } 67 | 68 | div.path a:link, div.path a:visited { color: #333; } 69 | table.coverage { 70 | border-collapse: collapse; 71 | margin: 10px 0 0 0; 72 | padding: 0; 73 | } 74 | 75 | table.coverage td { 76 | margin: 0; 77 | padding: 0; 78 | vertical-align: top; 79 | } 80 | table.coverage td.line-count { 81 | text-align: right; 82 | padding: 0 5px 0 20px; 83 | } 84 | table.coverage td.line-coverage { 85 | text-align: right; 86 | padding-right: 10px; 87 | min-width:20px; 88 | } 89 | 90 | table.coverage td span.cline-any { 91 | display: inline-block; 92 | padding: 0 5px; 93 | width: 100%; 94 | } 95 | .missing-if-branch { 96 | display: inline-block; 97 | margin-right: 5px; 98 | border-radius: 3px; 99 | position: relative; 100 | padding: 0 4px; 101 | background: #333; 102 | color: yellow; 103 | } 104 | 105 | .skip-if-branch { 106 | display: none; 107 | margin-right: 10px; 108 | position: relative; 109 | padding: 0 4px; 110 | background: #ccc; 111 | color: white; 112 | } 113 | .missing-if-branch .typ, .skip-if-branch .typ { 114 | color: inherit !important; 115 | } 116 | .coverage-summary { 117 | border-collapse: collapse; 118 | width: 100%; 119 | } 120 | .coverage-summary tr { border-bottom: 1px solid #bbb; } 121 | .keyline-all { border: 1px solid #ddd; } 122 | .coverage-summary td, .coverage-summary th { padding: 10px; } 123 | .coverage-summary tbody { border: 1px solid #bbb; } 124 | .coverage-summary td { border-right: 1px solid #bbb; } 125 | .coverage-summary td:last-child { border-right: none; } 126 | .coverage-summary th { 127 | text-align: left; 128 | font-weight: normal; 129 | white-space: nowrap; 130 | } 131 | .coverage-summary th.file { border-right: none !important; } 132 | .coverage-summary th.pct { } 133 | .coverage-summary th.pic, 134 | .coverage-summary th.abs, 135 | .coverage-summary td.pct, 136 | .coverage-summary td.abs { text-align: right; } 137 | .coverage-summary td.file { white-space: nowrap; } 138 | .coverage-summary td.pic { min-width: 120px !important; } 139 | .coverage-summary tfoot td { } 140 | 141 | .coverage-summary .sorter { 142 | height: 10px; 143 | width: 7px; 144 | display: inline-block; 145 | margin-left: 0.5em; 146 | background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; 147 | } 148 | .coverage-summary .sorted .sorter { 149 | background-position: 0 -20px; 150 | } 151 | .coverage-summary .sorted-desc .sorter { 152 | background-position: 0 -10px; 153 | } 154 | .status-line { height: 10px; } 155 | /* dark red */ 156 | .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } 157 | .low .chart { border:1px solid #C21F39 } 158 | /* medium red */ 159 | .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } 160 | /* light red */ 161 | .low, .cline-no { background:#FCE1E5 } 162 | /* light green */ 163 | .high, .cline-yes { background:rgb(230,245,208) } 164 | /* medium green */ 165 | .cstat-yes { background:rgb(161,215,106) } 166 | /* dark green */ 167 | .status-line.high, .high .cover-fill { background:rgb(77,146,33) } 168 | .high .chart { border:1px solid rgb(77,146,33) } 169 | 170 | 171 | .medium .chart { border:1px solid #666; } 172 | .medium .cover-fill { background: #666; } 173 | 174 | .cbranch-no { background: yellow !important; color: #111; } 175 | 176 | .cstat-skip { background: #ddd; color: #111; } 177 | .fstat-skip { background: #ddd; color: #111 !important; } 178 | .cbranch-skip { background: #ddd !important; color: #111; } 179 | 180 | span.cline-neutral { background: #eaeaea; } 181 | .medium { background: #eaeaea; } 182 | 183 | .cover-fill, .cover-empty { 184 | display:inline-block; 185 | height: 12px; 186 | } 187 | .chart { 188 | line-height: 0; 189 | } 190 | .cover-empty { 191 | background: white; 192 | } 193 | .cover-full { 194 | border-right: none !important; 195 | } 196 | pre.prettyprint { 197 | border: none !important; 198 | padding: 0 !important; 199 | margin: 0 !important; 200 | } 201 | .com { color: #999 !important; } 202 | .ignore-none { color: #999; font-weight: normal; } 203 | 204 | .wrapper { 205 | min-height: 100%; 206 | height: auto !important; 207 | height: 100%; 208 | margin: 0 auto -48px; 209 | } 210 | .footer, .push { 211 | height: 48px; 212 | } 213 | -------------------------------------------------------------------------------- /docs/lcov-report/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for All files 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |

19 | All files 20 |

21 |
22 |
23 | 100% 24 | Statements 25 | 6/6 26 |
27 |
28 | 100% 29 | Branches 30 | 2/2 31 |
32 |
33 | 100% 34 | Functions 35 | 4/4 36 |
37 |
38 | 100% 39 | Lines 40 | 6/6 41 |
42 |
43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
FileStatementsBranchesFunctionsLines
index.js
100%6/6100%2/2100%4/4100%6/6
76 |
77 |
78 | 82 | 83 | 84 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /docs/lcov-report/index.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for index.js 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |

19 | All files index.js 20 |

21 |
22 |
23 | 100% 24 | Statements 25 | 6/6 26 |
27 |
28 | 100% 29 | Branches 30 | 2/2 31 |
32 |
33 | 100% 34 | Functions 35 | 4/4 36 |
37 |
38 | 100% 39 | Lines 40 | 6/6 41 |
42 |
43 |
44 |
45 |

 46 | 
119 | 
1 47 | 2 48 | 3 49 | 4 50 | 5 51 | 6 52 | 7 53 | 8 54 | 9 55 | 10 56 | 11 57 | 12 58 | 13 59 | 14 60 | 15 61 | 16 62 | 17 63 | 18 64 | 19 65 | 20 66 | 21 67 | 22 68 | 23 69 | 24 70 | 251x 71 |   72 |   73 |   74 |   75 |   76 |   77 |   78 |   79 |   80 | 5x 81 | 5x 82 |   83 |   84 | 5x 85 |   86 |   87 | 5x 88 |   89 |   90 |   91 |   92 | 1x 93 |   94 |  
;(function (root, moduleName, factory) {
 95 |   'use strict'
 96 |   /* istanbul ignore next */
 97 |   if (typeof define === 'function' && define.amd) define(moduleName, factory)
 98 |   else if (typeof exports === 'object') exports = module.exports = factory()
 99 |   else root[moduleName] = factory()
100 | })(this, 'strclass', function () {
101 |   'use strict'
102 |  
103 |   function strclass () {
104 |     var rules = arguments[0]
105 |     var classes = Array.prototype.slice.call(arguments, 1)
106 |  
107 |     function objectToString (acc, rule) {
108 |       return acc + (rules[rule] ? ' ' + rule : '')
109 |     }
110 |  
111 |     return Object.keys(rules)
112 |       .reduce(objectToString, classes.filter(Boolean).join(' '))
113 |       .replace(/^\s+|\s+$/g, '')
114 |   }
115 |  
116 |   return strclass
117 | })
118 |  
120 |
121 |
122 | 126 | 127 | 128 | 135 | 136 | 137 | 138 | -------------------------------------------------------------------------------- /docs/lcov-report/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | -------------------------------------------------------------------------------- /docs/lcov-report/prettify.js: -------------------------------------------------------------------------------- 1 | window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); 2 | -------------------------------------------------------------------------------- /docs/lcov-report/sort-arrow-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fdaciuk/strclass/dcd8c8cd378a55f0e1453e578baa4455c7dce59a/docs/lcov-report/sort-arrow-sprite.png -------------------------------------------------------------------------------- /docs/lcov-report/sorter.js: -------------------------------------------------------------------------------- 1 | var addSorting = (function () { 2 | "use strict"; 3 | var cols, 4 | currentSort = { 5 | index: 0, 6 | desc: false 7 | }; 8 | 9 | // returns the summary table element 10 | function getTable() { return document.querySelector('.coverage-summary'); } 11 | // returns the thead element of the summary table 12 | function getTableHeader() { return getTable().querySelector('thead tr'); } 13 | // returns the tbody element of the summary table 14 | function getTableBody() { return getTable().querySelector('tbody'); } 15 | // returns the th element for nth column 16 | function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } 17 | 18 | // loads all columns 19 | function loadColumns() { 20 | var colNodes = getTableHeader().querySelectorAll('th'), 21 | colNode, 22 | cols = [], 23 | col, 24 | i; 25 | 26 | for (i = 0; i < colNodes.length; i += 1) { 27 | colNode = colNodes[i]; 28 | col = { 29 | key: colNode.getAttribute('data-col'), 30 | sortable: !colNode.getAttribute('data-nosort'), 31 | type: colNode.getAttribute('data-type') || 'string' 32 | }; 33 | cols.push(col); 34 | if (col.sortable) { 35 | col.defaultDescSort = col.type === 'number'; 36 | colNode.innerHTML = colNode.innerHTML + ''; 37 | } 38 | } 39 | return cols; 40 | } 41 | // attaches a data attribute to every tr element with an object 42 | // of data values keyed by column name 43 | function loadRowData(tableRow) { 44 | var tableCols = tableRow.querySelectorAll('td'), 45 | colNode, 46 | col, 47 | data = {}, 48 | i, 49 | val; 50 | for (i = 0; i < tableCols.length; i += 1) { 51 | colNode = tableCols[i]; 52 | col = cols[i]; 53 | val = colNode.getAttribute('data-value'); 54 | if (col.type === 'number') { 55 | val = Number(val); 56 | } 57 | data[col.key] = val; 58 | } 59 | return data; 60 | } 61 | // loads all row data 62 | function loadData() { 63 | var rows = getTableBody().querySelectorAll('tr'), 64 | i; 65 | 66 | for (i = 0; i < rows.length; i += 1) { 67 | rows[i].data = loadRowData(rows[i]); 68 | } 69 | } 70 | // sorts the table using the data for the ith column 71 | function sortByIndex(index, desc) { 72 | var key = cols[index].key, 73 | sorter = function (a, b) { 74 | a = a.data[key]; 75 | b = b.data[key]; 76 | return a < b ? -1 : a > b ? 1 : 0; 77 | }, 78 | finalSorter = sorter, 79 | tableBody = document.querySelector('.coverage-summary tbody'), 80 | rowNodes = tableBody.querySelectorAll('tr'), 81 | rows = [], 82 | i; 83 | 84 | if (desc) { 85 | finalSorter = function (a, b) { 86 | return -1 * sorter(a, b); 87 | }; 88 | } 89 | 90 | for (i = 0; i < rowNodes.length; i += 1) { 91 | rows.push(rowNodes[i]); 92 | tableBody.removeChild(rowNodes[i]); 93 | } 94 | 95 | rows.sort(finalSorter); 96 | 97 | for (i = 0; i < rows.length; i += 1) { 98 | tableBody.appendChild(rows[i]); 99 | } 100 | } 101 | // removes sort indicators for current column being sorted 102 | function removeSortIndicators() { 103 | var col = getNthColumn(currentSort.index), 104 | cls = col.className; 105 | 106 | cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); 107 | col.className = cls; 108 | } 109 | // adds sort indicators for current column being sorted 110 | function addSortIndicators() { 111 | getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; 112 | } 113 | // adds event listeners for all sorter widgets 114 | function enableUI() { 115 | var i, 116 | el, 117 | ithSorter = function ithSorter(i) { 118 | var col = cols[i]; 119 | 120 | return function () { 121 | var desc = col.defaultDescSort; 122 | 123 | if (currentSort.index === i) { 124 | desc = !currentSort.desc; 125 | } 126 | sortByIndex(i, desc); 127 | removeSortIndicators(); 128 | currentSort.index = i; 129 | currentSort.desc = desc; 130 | addSortIndicators(); 131 | }; 132 | }; 133 | for (i =0 ; i < cols.length; i += 1) { 134 | if (cols[i].sortable) { 135 | // add the click event handler on the th so users 136 | // dont have to click on those tiny arrows 137 | el = getNthColumn(i).querySelector('.sorter').parentElement; 138 | if (el.addEventListener) { 139 | el.addEventListener('click', ithSorter(i)); 140 | } else { 141 | el.attachEvent('onclick', ithSorter(i)); 142 | } 143 | } 144 | } 145 | } 146 | // adds sorting functionality to the UI 147 | return function () { 148 | if (!getTable()) { 149 | return; 150 | } 151 | cols = loadColumns(); 152 | loadData(cols); 153 | addSortIndicators(); 154 | enableUI(); 155 | }; 156 | })(); 157 | 158 | window.addEventListener('load', addSorting); 159 | -------------------------------------------------------------------------------- /docs/lcov.info: -------------------------------------------------------------------------------- 1 | TN: 2 | SF:/media/storage/code/00-opensource/strclass/src/index.js 3 | FN:1,(anonymous_0) 4 | FN:7,(anonymous_1) 5 | FN:10,strclass 6 | FN:14,objectToString 7 | FNF:4 8 | FNH:4 9 | FNDA:1,(anonymous_0) 10 | FNDA:1,(anonymous_1) 11 | FNDA:5,strclass 12 | FNDA:5,objectToString 13 | DA:1,1 14 | DA:11,5 15 | DA:12,5 16 | DA:15,5 17 | DA:18,5 18 | DA:23,1 19 | LF:6 20 | LH:6 21 | BRDA:15,0,0,3 22 | BRDA:15,0,1,2 23 | BRF:2 24 | BRH:2 25 | end_of_record 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "strclass", 3 | "version": "2.0.9", 4 | "description": "A tiny library to apply CSS classes as strings from objects", 5 | "main": "dist/strclass.min.js", 6 | "scripts": { 7 | "test": "nyc --report-dir docs node test.js", 8 | "coverage": "nyc --report-dir docs --reporter=lcov node test.js", 9 | "build": "minify --output dist/strclass.min.js src/index.js", 10 | "push": "git push origin master --tags", 11 | "size": "node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/strclass.min.js", 12 | "commit:build": "git add . && git commit --allow-empty -S -m 'Minifying'", 13 | "preversion": "yarn test && yarn build && yarn commit:build", 14 | "postversion": "npm publish && yarn push" 15 | }, 16 | "devDependencies": { 17 | "coveralls": "^2.11.16", 18 | "gzip-size-cli": "^2.0.0", 19 | "minifier": "^0.8.1", 20 | "nyc": "^10.1.2" 21 | }, 22 | "repository": "git@github.com:fdaciuk/strclass.git", 23 | "author": "Fernando Daciuk (@fdaciuk)", 24 | "license": "MIT", 25 | "keywords": [ 26 | "react", 27 | "css", 28 | "classnames", 29 | "classname", 30 | "strclass" 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | ;(function (root, moduleName, factory) { 2 | 'use strict' 3 | /* istanbul ignore next */ 4 | if (typeof define === 'function' && define.amd) define(moduleName, factory) 5 | else if (typeof exports === 'object') exports = module.exports = factory() 6 | else root[moduleName] = factory() 7 | })(this, 'strclass', function () { 8 | 'use strict' 9 | 10 | function strclass (rules) { 11 | var classes = Array.prototype.slice.call(arguments, 1) 12 | 13 | function objectToString (acc, rule) { 14 | return acc + (rules[rule] ? ' ' + rule : '') 15 | } 16 | 17 | return Object.keys(rules) 18 | .reduce(objectToString, classes.filter(Boolean).join(' ')) 19 | .replace(/^\s+|\s+$/g, '') 20 | } 21 | 22 | return strclass 23 | }) 24 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const strclass = require('./src') 4 | 5 | console.assert(typeof strclass === 'function', 'strclass should be a function') 6 | 7 | console.assert( 8 | strclass({ active: true }) === 'active', 9 | 'strclass({ active: true }) should return "active"' 10 | ) 11 | 12 | console.assert( 13 | strclass({ active: false }) === '', 14 | 'strclass({ active: false }) should return a blank string ""' 15 | ) 16 | 17 | console.assert( 18 | strclass({ active: false }, 'container') === 'container', 19 | 'strclass({ active: false }, "container") should return "container"' 20 | ) 21 | 22 | console.assert( 23 | strclass({ active: true }, 'button', null) === 'button active', 24 | 'strclass({ active: true }, "button", null) should return "button active"' 25 | ) 26 | 27 | const ac = 'active' 28 | console.assert( 29 | strclass({ [ac]: true }) === 'active', 30 | 'const ac = "active"\nstrclass({ [ac]: true }) should return "active"' 31 | ) 32 | 33 | console.log('All tests passed!') 34 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1: 6 | version "1.1.0" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 8 | 9 | align-text@^0.1.1, align-text@^0.1.3: 10 | version "0.1.4" 11 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 12 | dependencies: 13 | kind-of "^3.0.2" 14 | longest "^1.0.1" 15 | repeat-string "^1.5.2" 16 | 17 | amdefine@>=0.0.4: 18 | version "1.0.1" 19 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 20 | 21 | ansi-regex@^2.0.0: 22 | version "2.1.1" 23 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 24 | 25 | ansi-styles@^2.2.1: 26 | version "2.2.1" 27 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 28 | 29 | append-transform@^0.4.0: 30 | version "0.4.0" 31 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" 32 | dependencies: 33 | default-require-extensions "^1.0.0" 34 | 35 | archy@^1.0.0: 36 | version "1.0.0" 37 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 38 | 39 | argparse@^1.0.7: 40 | version "1.0.9" 41 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 42 | dependencies: 43 | sprintf-js "~1.0.2" 44 | 45 | arr-diff@^2.0.0: 46 | version "2.0.0" 47 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 48 | dependencies: 49 | arr-flatten "^1.0.1" 50 | 51 | arr-flatten@^1.0.1: 52 | version "1.0.1" 53 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 54 | 55 | array-find-index@^1.0.1: 56 | version "1.0.2" 57 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 58 | 59 | array-unique@^0.2.1: 60 | version "0.2.1" 61 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 62 | 63 | arrify@^1.0.1: 64 | version "1.0.1" 65 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 66 | 67 | asn1@~0.2.3: 68 | version "0.2.3" 69 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 70 | 71 | assert-plus@^0.2.0: 72 | version "0.2.0" 73 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 74 | 75 | assert-plus@^1.0.0: 76 | version "1.0.0" 77 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 78 | 79 | async@^1.4.0, async@^1.4.2: 80 | version "1.5.2" 81 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 82 | 83 | async@~0.2.6: 84 | version "0.2.10" 85 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 86 | 87 | asynckit@^0.4.0: 88 | version "0.4.0" 89 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 90 | 91 | aws-sign2@~0.6.0: 92 | version "0.6.0" 93 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 94 | 95 | aws4@^1.2.1: 96 | version "1.6.0" 97 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 98 | 99 | babel-code-frame@^6.22.0: 100 | version "6.22.0" 101 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" 102 | dependencies: 103 | chalk "^1.1.0" 104 | esutils "^2.0.2" 105 | js-tokens "^3.0.0" 106 | 107 | babel-generator@^6.18.0: 108 | version "6.23.0" 109 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5" 110 | dependencies: 111 | babel-messages "^6.23.0" 112 | babel-runtime "^6.22.0" 113 | babel-types "^6.23.0" 114 | detect-indent "^4.0.0" 115 | jsesc "^1.3.0" 116 | lodash "^4.2.0" 117 | source-map "^0.5.0" 118 | trim-right "^1.0.1" 119 | 120 | babel-messages@^6.23.0: 121 | version "6.23.0" 122 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 123 | dependencies: 124 | babel-runtime "^6.22.0" 125 | 126 | babel-runtime@^6.22.0: 127 | version "6.23.0" 128 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 129 | dependencies: 130 | core-js "^2.4.0" 131 | regenerator-runtime "^0.10.0" 132 | 133 | babel-template@^6.16.0: 134 | version "6.23.0" 135 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" 136 | dependencies: 137 | babel-runtime "^6.22.0" 138 | babel-traverse "^6.23.0" 139 | babel-types "^6.23.0" 140 | babylon "^6.11.0" 141 | lodash "^4.2.0" 142 | 143 | babel-traverse@^6.18.0, babel-traverse@^6.23.0: 144 | version "6.23.1" 145 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" 146 | dependencies: 147 | babel-code-frame "^6.22.0" 148 | babel-messages "^6.23.0" 149 | babel-runtime "^6.22.0" 150 | babel-types "^6.23.0" 151 | babylon "^6.15.0" 152 | debug "^2.2.0" 153 | globals "^9.0.0" 154 | invariant "^2.2.0" 155 | lodash "^4.2.0" 156 | 157 | babel-types@^6.18.0, babel-types@^6.23.0: 158 | version "6.23.0" 159 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" 160 | dependencies: 161 | babel-runtime "^6.22.0" 162 | esutils "^2.0.2" 163 | lodash "^4.2.0" 164 | to-fast-properties "^1.0.1" 165 | 166 | babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: 167 | version "6.16.1" 168 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" 169 | 170 | balanced-match@^0.4.1: 171 | version "0.4.2" 172 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 173 | 174 | bcrypt-pbkdf@^1.0.0: 175 | version "1.0.1" 176 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 177 | dependencies: 178 | tweetnacl "^0.14.3" 179 | 180 | boom@2.x.x: 181 | version "2.10.1" 182 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 183 | dependencies: 184 | hoek "2.x.x" 185 | 186 | brace-expansion@^1.0.0: 187 | version "1.1.6" 188 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 189 | dependencies: 190 | balanced-match "^0.4.1" 191 | concat-map "0.0.1" 192 | 193 | braces@^1.8.2: 194 | version "1.8.5" 195 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 196 | dependencies: 197 | expand-range "^1.8.1" 198 | preserve "^0.2.0" 199 | repeat-element "^1.1.2" 200 | 201 | builtin-modules@^1.0.0: 202 | version "1.1.1" 203 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 204 | 205 | caching-transform@^1.0.0: 206 | version "1.0.1" 207 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" 208 | dependencies: 209 | md5-hex "^1.2.0" 210 | mkdirp "^0.5.1" 211 | write-file-atomic "^1.1.4" 212 | 213 | camelcase-keys@^2.0.0: 214 | version "2.1.0" 215 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 216 | dependencies: 217 | camelcase "^2.0.0" 218 | map-obj "^1.0.0" 219 | 220 | camelcase@^1.0.2: 221 | version "1.2.1" 222 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 223 | 224 | camelcase@^2.0.0: 225 | version "2.1.1" 226 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 227 | 228 | camelcase@^3.0.0: 229 | version "3.0.0" 230 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 231 | 232 | caseless@~0.11.0: 233 | version "0.11.0" 234 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 235 | 236 | center-align@^0.1.1: 237 | version "0.1.3" 238 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 239 | dependencies: 240 | align-text "^0.1.3" 241 | lazy-cache "^1.0.3" 242 | 243 | chalk@^1.1.0, chalk@^1.1.1: 244 | version "1.1.3" 245 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 246 | dependencies: 247 | ansi-styles "^2.2.1" 248 | escape-string-regexp "^1.0.2" 249 | has-ansi "^2.0.0" 250 | strip-ansi "^3.0.0" 251 | supports-color "^2.0.0" 252 | 253 | cliui@^2.1.0: 254 | version "2.1.0" 255 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 256 | dependencies: 257 | center-align "^0.1.1" 258 | right-align "^0.1.1" 259 | wordwrap "0.0.2" 260 | 261 | cliui@^3.2.0: 262 | version "3.2.0" 263 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 264 | dependencies: 265 | string-width "^1.0.1" 266 | strip-ansi "^3.0.1" 267 | wrap-ansi "^2.0.0" 268 | 269 | code-point-at@^1.0.0: 270 | version "1.1.0" 271 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 272 | 273 | combined-stream@^1.0.5, combined-stream@~1.0.5: 274 | version "1.0.5" 275 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 276 | dependencies: 277 | delayed-stream "~1.0.0" 278 | 279 | commander@^2.8.1, commander@^2.9.0: 280 | version "2.9.0" 281 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 282 | dependencies: 283 | graceful-readlink ">= 1.0.0" 284 | 285 | commondir@^1.0.1: 286 | version "1.0.1" 287 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 288 | 289 | concat-map@0.0.1: 290 | version "0.0.1" 291 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 292 | 293 | convert-source-map@^1.3.0: 294 | version "1.4.0" 295 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" 296 | 297 | core-js@^2.4.0: 298 | version "2.4.1" 299 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 300 | 301 | coveralls@^2.11.16: 302 | version "2.11.16" 303 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.16.tgz#da9061265142ddee954f68379122be97be8ab4b1" 304 | dependencies: 305 | js-yaml "3.6.1" 306 | lcov-parse "0.0.10" 307 | log-driver "1.2.5" 308 | minimist "1.2.0" 309 | request "2.79.0" 310 | 311 | cross-spawn@^4: 312 | version "4.0.2" 313 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 314 | dependencies: 315 | lru-cache "^4.0.1" 316 | which "^1.2.9" 317 | 318 | cryptiles@2.x.x: 319 | version "2.0.5" 320 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 321 | dependencies: 322 | boom "2.x.x" 323 | 324 | css-resolve-import@^0.1.1: 325 | version "0.1.2" 326 | resolved "https://registry.yarnpkg.com/css-resolve-import/-/css-resolve-import-0.1.2.tgz#ff6d28ac4a175c9d57adb9d2ce6da6f916a1d535" 327 | 328 | currently-unhandled@^0.4.1: 329 | version "0.4.1" 330 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 331 | dependencies: 332 | array-find-index "^1.0.1" 333 | 334 | dashdash@^1.12.0: 335 | version "1.14.1" 336 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 337 | dependencies: 338 | assert-plus "^1.0.0" 339 | 340 | debug-log@^1.0.1: 341 | version "1.0.1" 342 | resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" 343 | 344 | debug@^2.2.0: 345 | version "2.6.1" 346 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" 347 | dependencies: 348 | ms "0.7.2" 349 | 350 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 351 | version "1.2.0" 352 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 353 | 354 | default-require-extensions@^1.0.0: 355 | version "1.0.0" 356 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" 357 | dependencies: 358 | strip-bom "^2.0.0" 359 | 360 | delayed-stream@~1.0.0: 361 | version "1.0.0" 362 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 363 | 364 | detect-indent@^4.0.0: 365 | version "4.0.0" 366 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 367 | dependencies: 368 | repeating "^2.0.0" 369 | 370 | duplexer@^0.1.1: 371 | version "0.1.1" 372 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 373 | 374 | ecc-jsbn@~0.1.1: 375 | version "0.1.1" 376 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 377 | dependencies: 378 | jsbn "~0.1.0" 379 | 380 | error-ex@^1.2.0: 381 | version "1.3.0" 382 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 383 | dependencies: 384 | is-arrayish "^0.2.1" 385 | 386 | escape-string-regexp@^1.0.2: 387 | version "1.0.5" 388 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 389 | 390 | esprima@^2.6.0: 391 | version "2.7.3" 392 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 393 | 394 | esutils@^2.0.2: 395 | version "2.0.2" 396 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 397 | 398 | expand-brackets@^0.1.4: 399 | version "0.1.5" 400 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 401 | dependencies: 402 | is-posix-bracket "^0.1.0" 403 | 404 | expand-range@^1.8.1: 405 | version "1.8.2" 406 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 407 | dependencies: 408 | fill-range "^2.1.0" 409 | 410 | extend@~3.0.0: 411 | version "3.0.0" 412 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 413 | 414 | extglob@^0.3.1: 415 | version "0.3.2" 416 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 417 | dependencies: 418 | is-extglob "^1.0.0" 419 | 420 | extsprintf@1.0.2: 421 | version "1.0.2" 422 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 423 | 424 | filename-regex@^2.0.0: 425 | version "2.0.0" 426 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 427 | 428 | fill-range@^2.1.0: 429 | version "2.2.3" 430 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 431 | dependencies: 432 | is-number "^2.1.0" 433 | isobject "^2.0.0" 434 | randomatic "^1.1.3" 435 | repeat-element "^1.1.2" 436 | repeat-string "^1.5.2" 437 | 438 | find-cache-dir@^0.1.1: 439 | version "0.1.1" 440 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" 441 | dependencies: 442 | commondir "^1.0.1" 443 | mkdirp "^0.5.1" 444 | pkg-dir "^1.0.0" 445 | 446 | find-up@^1.0.0, find-up@^1.1.2: 447 | version "1.1.2" 448 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 449 | dependencies: 450 | path-exists "^2.0.0" 451 | pinkie-promise "^2.0.0" 452 | 453 | fmerge@^1.2.0: 454 | version "1.2.0" 455 | resolved "https://registry.yarnpkg.com/fmerge/-/fmerge-1.2.0.tgz#36e99d2ae255e3ee1af666b4df780553671cf692" 456 | 457 | for-in@^1.0.1: 458 | version "1.0.2" 459 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 460 | 461 | for-own@^0.1.4: 462 | version "0.1.5" 463 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 464 | dependencies: 465 | for-in "^1.0.1" 466 | 467 | foreground-child@^1.3.3, foreground-child@^1.5.3: 468 | version "1.5.6" 469 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" 470 | dependencies: 471 | cross-spawn "^4" 472 | signal-exit "^3.0.0" 473 | 474 | forever-agent@~0.6.1: 475 | version "0.6.1" 476 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 477 | 478 | form-data@~2.1.1: 479 | version "2.1.2" 480 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" 481 | dependencies: 482 | asynckit "^0.4.0" 483 | combined-stream "^1.0.5" 484 | mime-types "^2.1.12" 485 | 486 | fs.realpath@^1.0.0: 487 | version "1.0.0" 488 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 489 | 490 | generate-function@^2.0.0: 491 | version "2.0.0" 492 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 493 | 494 | generate-object-property@^1.1.0: 495 | version "1.2.0" 496 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 497 | dependencies: 498 | is-property "^1.0.0" 499 | 500 | get-caller-file@^1.0.1: 501 | version "1.0.2" 502 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 503 | 504 | get-stdin@^4.0.1: 505 | version "4.0.1" 506 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 507 | 508 | getpass@^0.1.1: 509 | version "0.1.6" 510 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 511 | dependencies: 512 | assert-plus "^1.0.0" 513 | 514 | glob-base@^0.3.0: 515 | version "0.3.0" 516 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 517 | dependencies: 518 | glob-parent "^2.0.0" 519 | is-glob "^2.0.0" 520 | 521 | glob-parent@^2.0.0: 522 | version "2.0.0" 523 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 524 | dependencies: 525 | is-glob "^2.0.0" 526 | 527 | glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: 528 | version "7.1.1" 529 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 530 | dependencies: 531 | fs.realpath "^1.0.0" 532 | inflight "^1.0.4" 533 | inherits "2" 534 | minimatch "^3.0.2" 535 | once "^1.3.0" 536 | path-is-absolute "^1.0.0" 537 | 538 | globals@^9.0.0: 539 | version "9.16.0" 540 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" 541 | 542 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 543 | version "4.1.11" 544 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 545 | 546 | "graceful-readlink@>= 1.0.0": 547 | version "1.0.1" 548 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 549 | 550 | gzip-size-cli@^2.0.0: 551 | version "2.0.0" 552 | resolved "https://registry.yarnpkg.com/gzip-size-cli/-/gzip-size-cli-2.0.0.tgz#d0d3dae1b9c6265b7fe99a01c0688eceda28d2f0" 553 | dependencies: 554 | gzip-size "^3.0.0" 555 | meow "^3.7.0" 556 | pretty-bytes "^4.0.2" 557 | 558 | gzip-size@^3.0.0: 559 | version "3.0.0" 560 | resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" 561 | dependencies: 562 | duplexer "^0.1.1" 563 | 564 | handlebars@^4.0.3: 565 | version "4.0.6" 566 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" 567 | dependencies: 568 | async "^1.4.0" 569 | optimist "^0.6.1" 570 | source-map "^0.4.4" 571 | optionalDependencies: 572 | uglify-js "^2.6" 573 | 574 | har-validator@~2.0.6: 575 | version "2.0.6" 576 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 577 | dependencies: 578 | chalk "^1.1.1" 579 | commander "^2.9.0" 580 | is-my-json-valid "^2.12.4" 581 | pinkie-promise "^2.0.0" 582 | 583 | has-ansi@^2.0.0: 584 | version "2.0.0" 585 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 586 | dependencies: 587 | ansi-regex "^2.0.0" 588 | 589 | has-flag@^1.0.0: 590 | version "1.0.0" 591 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 592 | 593 | hawk@~3.1.3: 594 | version "3.1.3" 595 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 596 | dependencies: 597 | boom "2.x.x" 598 | cryptiles "2.x.x" 599 | hoek "2.x.x" 600 | sntp "1.x.x" 601 | 602 | hoek@2.x.x: 603 | version "2.16.3" 604 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 605 | 606 | hogan.js@^3.0.2: 607 | version "3.0.2" 608 | resolved "https://registry.yarnpkg.com/hogan.js/-/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd" 609 | dependencies: 610 | mkdirp "0.3.0" 611 | nopt "1.0.10" 612 | 613 | hosted-git-info@^2.1.4: 614 | version "2.2.0" 615 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" 616 | 617 | http-signature@~1.1.0: 618 | version "1.1.1" 619 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 620 | dependencies: 621 | assert-plus "^0.2.0" 622 | jsprim "^1.2.2" 623 | sshpk "^1.7.0" 624 | 625 | imurmurhash@^0.1.4: 626 | version "0.1.4" 627 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 628 | 629 | indent-string@^2.1.0: 630 | version "2.1.0" 631 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 632 | dependencies: 633 | repeating "^2.0.0" 634 | 635 | inflight@^1.0.4: 636 | version "1.0.6" 637 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 638 | dependencies: 639 | once "^1.3.0" 640 | wrappy "1" 641 | 642 | inherits@2: 643 | version "2.0.3" 644 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 645 | 646 | invariant@^2.2.0: 647 | version "2.2.2" 648 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 649 | dependencies: 650 | loose-envify "^1.0.0" 651 | 652 | invert-kv@^1.0.0: 653 | version "1.0.0" 654 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 655 | 656 | is-arrayish@^0.2.1: 657 | version "0.2.1" 658 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 659 | 660 | is-buffer@^1.0.2: 661 | version "1.1.4" 662 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 663 | 664 | is-builtin-module@^1.0.0: 665 | version "1.0.0" 666 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 667 | dependencies: 668 | builtin-modules "^1.0.0" 669 | 670 | is-dotfile@^1.0.0: 671 | version "1.0.2" 672 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 673 | 674 | is-equal-shallow@^0.1.3: 675 | version "0.1.3" 676 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 677 | dependencies: 678 | is-primitive "^2.0.0" 679 | 680 | is-extendable@^0.1.1: 681 | version "0.1.1" 682 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 683 | 684 | is-extglob@^1.0.0: 685 | version "1.0.0" 686 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 687 | 688 | is-finite@^1.0.0: 689 | version "1.0.2" 690 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 691 | dependencies: 692 | number-is-nan "^1.0.0" 693 | 694 | is-fullwidth-code-point@^1.0.0: 695 | version "1.0.0" 696 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 697 | dependencies: 698 | number-is-nan "^1.0.0" 699 | 700 | is-glob@^2.0.0, is-glob@^2.0.1: 701 | version "2.0.1" 702 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 703 | dependencies: 704 | is-extglob "^1.0.0" 705 | 706 | is-my-json-valid@^2.12.4: 707 | version "2.16.0" 708 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" 709 | dependencies: 710 | generate-function "^2.0.0" 711 | generate-object-property "^1.1.0" 712 | jsonpointer "^4.0.0" 713 | xtend "^4.0.0" 714 | 715 | is-number@^2.0.2, is-number@^2.1.0: 716 | version "2.1.0" 717 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 718 | dependencies: 719 | kind-of "^3.0.2" 720 | 721 | is-posix-bracket@^0.1.0: 722 | version "0.1.1" 723 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 724 | 725 | is-primitive@^2.0.0: 726 | version "2.0.0" 727 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 728 | 729 | is-property@^1.0.0: 730 | version "1.0.2" 731 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 732 | 733 | is-typedarray@~1.0.0: 734 | version "1.0.0" 735 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 736 | 737 | is-utf8@^0.2.0: 738 | version "0.2.1" 739 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 740 | 741 | isarray@1.0.0: 742 | version "1.0.0" 743 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 744 | 745 | isexe@^1.1.1: 746 | version "1.1.2" 747 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 748 | 749 | isobject@^2.0.0: 750 | version "2.1.0" 751 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 752 | dependencies: 753 | isarray "1.0.0" 754 | 755 | isstream@~0.1.2: 756 | version "0.1.2" 757 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 758 | 759 | istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0, istanbul-lib-coverage@^1.0.1: 760 | version "1.0.1" 761 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz#f263efb519c051c5f1f3343034fc40e7b43ff212" 762 | 763 | istanbul-lib-hook@^1.0.0: 764 | version "1.0.0" 765 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz#fc5367ee27f59268e8f060b0c7aaf051d9c425c5" 766 | dependencies: 767 | append-transform "^0.4.0" 768 | 769 | istanbul-lib-instrument@^1.4.2: 770 | version "1.4.2" 771 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" 772 | dependencies: 773 | babel-generator "^6.18.0" 774 | babel-template "^6.16.0" 775 | babel-traverse "^6.18.0" 776 | babel-types "^6.18.0" 777 | babylon "^6.13.0" 778 | istanbul-lib-coverage "^1.0.0" 779 | semver "^5.3.0" 780 | 781 | istanbul-lib-report@^1.0.0-alpha.3: 782 | version "1.0.0-alpha.3" 783 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" 784 | dependencies: 785 | async "^1.4.2" 786 | istanbul-lib-coverage "^1.0.0-alpha" 787 | mkdirp "^0.5.1" 788 | path-parse "^1.0.5" 789 | rimraf "^2.4.3" 790 | supports-color "^3.1.2" 791 | 792 | istanbul-lib-source-maps@^1.1.0: 793 | version "1.1.0" 794 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" 795 | dependencies: 796 | istanbul-lib-coverage "^1.0.0-alpha.0" 797 | mkdirp "^0.5.1" 798 | rimraf "^2.4.4" 799 | source-map "^0.5.3" 800 | 801 | istanbul-reports@^1.0.0: 802 | version "1.0.1" 803 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc" 804 | dependencies: 805 | handlebars "^4.0.3" 806 | 807 | jodid25519@^1.0.0: 808 | version "1.0.2" 809 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 810 | dependencies: 811 | jsbn "~0.1.0" 812 | 813 | js-tokens@^3.0.0: 814 | version "3.0.1" 815 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" 816 | 817 | js-yaml@3.6.1: 818 | version "3.6.1" 819 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" 820 | dependencies: 821 | argparse "^1.0.7" 822 | esprima "^2.6.0" 823 | 824 | jsbn@~0.1.0: 825 | version "0.1.1" 826 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 827 | 828 | jsesc@^1.3.0: 829 | version "1.3.0" 830 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 831 | 832 | json-schema@0.2.3: 833 | version "0.2.3" 834 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 835 | 836 | json-stringify-safe@~5.0.1: 837 | version "5.0.1" 838 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 839 | 840 | jsonpointer@^4.0.0: 841 | version "4.0.1" 842 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 843 | 844 | jsprim@^1.2.2: 845 | version "1.3.1" 846 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 847 | dependencies: 848 | extsprintf "1.0.2" 849 | json-schema "0.2.3" 850 | verror "1.3.6" 851 | 852 | kind-of@^3.0.2: 853 | version "3.1.0" 854 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" 855 | dependencies: 856 | is-buffer "^1.0.2" 857 | 858 | lazy-cache@^1.0.3: 859 | version "1.0.4" 860 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 861 | 862 | lcid@^1.0.0: 863 | version "1.0.0" 864 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 865 | dependencies: 866 | invert-kv "^1.0.0" 867 | 868 | lcov-parse@0.0.10: 869 | version "0.0.10" 870 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" 871 | 872 | load-json-file@^1.0.0: 873 | version "1.1.0" 874 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 875 | dependencies: 876 | graceful-fs "^4.1.2" 877 | parse-json "^2.2.0" 878 | pify "^2.0.0" 879 | pinkie-promise "^2.0.0" 880 | strip-bom "^2.0.0" 881 | 882 | lodash@^4.2.0: 883 | version "4.17.4" 884 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 885 | 886 | log-driver@1.2.5: 887 | version "1.2.5" 888 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" 889 | 890 | longest@^1.0.1: 891 | version "1.0.1" 892 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 893 | 894 | loose-envify@^1.0.0: 895 | version "1.3.1" 896 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 897 | dependencies: 898 | js-tokens "^3.0.0" 899 | 900 | loud-rejection@^1.0.0: 901 | version "1.6.0" 902 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 903 | dependencies: 904 | currently-unhandled "^0.4.1" 905 | signal-exit "^3.0.0" 906 | 907 | lru-cache@^4.0.1: 908 | version "4.0.2" 909 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" 910 | dependencies: 911 | pseudomap "^1.0.1" 912 | yallist "^2.0.0" 913 | 914 | map-obj@^1.0.0, map-obj@^1.0.1: 915 | version "1.0.1" 916 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 917 | 918 | md5-hex@^1.2.0: 919 | version "1.3.0" 920 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" 921 | dependencies: 922 | md5-o-matic "^0.1.1" 923 | 924 | md5-o-matic@^0.1.1: 925 | version "0.1.1" 926 | resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" 927 | 928 | meow@^3.7.0: 929 | version "3.7.0" 930 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 931 | dependencies: 932 | camelcase-keys "^2.0.0" 933 | decamelize "^1.1.2" 934 | loud-rejection "^1.0.0" 935 | map-obj "^1.0.1" 936 | minimist "^1.1.3" 937 | normalize-package-data "^2.3.4" 938 | object-assign "^4.0.1" 939 | read-pkg-up "^1.0.1" 940 | redent "^1.0.0" 941 | trim-newlines "^1.0.0" 942 | 943 | merge-source-map@^1.0.2: 944 | version "1.0.3" 945 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" 946 | dependencies: 947 | source-map "^0.5.3" 948 | 949 | micromatch@^2.3.11: 950 | version "2.3.11" 951 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 952 | dependencies: 953 | arr-diff "^2.0.0" 954 | array-unique "^0.2.1" 955 | braces "^1.8.2" 956 | expand-brackets "^0.1.4" 957 | extglob "^0.3.1" 958 | filename-regex "^2.0.0" 959 | is-extglob "^1.0.0" 960 | is-glob "^2.0.1" 961 | kind-of "^3.0.2" 962 | normalize-path "^2.0.1" 963 | object.omit "^2.0.0" 964 | parse-glob "^3.0.4" 965 | regex-cache "^0.4.2" 966 | 967 | mime-db@~1.26.0: 968 | version "1.26.0" 969 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" 970 | 971 | mime-types@^2.1.12, mime-types@~2.1.7: 972 | version "2.1.14" 973 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" 974 | dependencies: 975 | mime-db "~1.26.0" 976 | 977 | minifier@^0.8.1: 978 | version "0.8.1" 979 | resolved "https://registry.yarnpkg.com/minifier/-/minifier-0.8.1.tgz#67e9333f9e25d27643bc7963e66b2dd61cf6c5b0" 980 | dependencies: 981 | commander "^2.8.1" 982 | css-resolve-import "^0.1.1" 983 | fmerge "^1.2.0" 984 | glob "^7.1.1" 985 | hogan.js "^3.0.2" 986 | sqwish "~0.2.2" 987 | uglify-js "^2.4.24" 988 | 989 | minimatch@^3.0.2: 990 | version "3.0.3" 991 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 992 | dependencies: 993 | brace-expansion "^1.0.0" 994 | 995 | minimist@0.0.8, minimist@~0.0.1: 996 | version "0.0.8" 997 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 998 | 999 | minimist@1.2.0, minimist@^1.1.3: 1000 | version "1.2.0" 1001 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1002 | 1003 | mkdirp@0.3.0: 1004 | version "0.3.0" 1005 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" 1006 | 1007 | mkdirp@^0.5.0, mkdirp@^0.5.1: 1008 | version "0.5.1" 1009 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1010 | dependencies: 1011 | minimist "0.0.8" 1012 | 1013 | ms@0.7.2: 1014 | version "0.7.2" 1015 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" 1016 | 1017 | nopt@1.0.10: 1018 | version "1.0.10" 1019 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" 1020 | dependencies: 1021 | abbrev "1" 1022 | 1023 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 1024 | version "2.3.5" 1025 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 1026 | dependencies: 1027 | hosted-git-info "^2.1.4" 1028 | is-builtin-module "^1.0.0" 1029 | semver "2 || 3 || 4 || 5" 1030 | validate-npm-package-license "^3.0.1" 1031 | 1032 | normalize-path@^2.0.1: 1033 | version "2.0.1" 1034 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 1035 | 1036 | number-is-nan@^1.0.0: 1037 | version "1.0.1" 1038 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1039 | 1040 | nyc@^10.1.2: 1041 | version "10.1.2" 1042 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.1.2.tgz#ea7acaa20a235210101604f4e7d56d28453b0274" 1043 | dependencies: 1044 | archy "^1.0.0" 1045 | arrify "^1.0.1" 1046 | caching-transform "^1.0.0" 1047 | convert-source-map "^1.3.0" 1048 | debug-log "^1.0.1" 1049 | default-require-extensions "^1.0.0" 1050 | find-cache-dir "^0.1.1" 1051 | find-up "^1.1.2" 1052 | foreground-child "^1.5.3" 1053 | glob "^7.0.6" 1054 | istanbul-lib-coverage "^1.0.1" 1055 | istanbul-lib-hook "^1.0.0" 1056 | istanbul-lib-instrument "^1.4.2" 1057 | istanbul-lib-report "^1.0.0-alpha.3" 1058 | istanbul-lib-source-maps "^1.1.0" 1059 | istanbul-reports "^1.0.0" 1060 | md5-hex "^1.2.0" 1061 | merge-source-map "^1.0.2" 1062 | micromatch "^2.3.11" 1063 | mkdirp "^0.5.0" 1064 | resolve-from "^2.0.0" 1065 | rimraf "^2.5.4" 1066 | signal-exit "^3.0.1" 1067 | spawn-wrap "1.2.4" 1068 | test-exclude "^3.3.0" 1069 | yargs "^6.6.0" 1070 | yargs-parser "^4.0.2" 1071 | 1072 | oauth-sign@~0.8.1: 1073 | version "0.8.2" 1074 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1075 | 1076 | object-assign@^4.0.1, object-assign@^4.1.0: 1077 | version "4.1.1" 1078 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1079 | 1080 | object.omit@^2.0.0: 1081 | version "2.0.1" 1082 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1083 | dependencies: 1084 | for-own "^0.1.4" 1085 | is-extendable "^0.1.1" 1086 | 1087 | once@^1.3.0: 1088 | version "1.4.0" 1089 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1090 | dependencies: 1091 | wrappy "1" 1092 | 1093 | optimist@^0.6.1: 1094 | version "0.6.1" 1095 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1096 | dependencies: 1097 | minimist "~0.0.1" 1098 | wordwrap "~0.0.2" 1099 | 1100 | os-homedir@^1.0.1: 1101 | version "1.0.2" 1102 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1103 | 1104 | os-locale@^1.4.0: 1105 | version "1.4.0" 1106 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 1107 | dependencies: 1108 | lcid "^1.0.0" 1109 | 1110 | parse-glob@^3.0.4: 1111 | version "3.0.4" 1112 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1113 | dependencies: 1114 | glob-base "^0.3.0" 1115 | is-dotfile "^1.0.0" 1116 | is-extglob "^1.0.0" 1117 | is-glob "^2.0.0" 1118 | 1119 | parse-json@^2.2.0: 1120 | version "2.2.0" 1121 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1122 | dependencies: 1123 | error-ex "^1.2.0" 1124 | 1125 | path-exists@^2.0.0: 1126 | version "2.1.0" 1127 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1128 | dependencies: 1129 | pinkie-promise "^2.0.0" 1130 | 1131 | path-is-absolute@^1.0.0: 1132 | version "1.0.1" 1133 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1134 | 1135 | path-parse@^1.0.5: 1136 | version "1.0.5" 1137 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1138 | 1139 | path-type@^1.0.0: 1140 | version "1.1.0" 1141 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 1142 | dependencies: 1143 | graceful-fs "^4.1.2" 1144 | pify "^2.0.0" 1145 | pinkie-promise "^2.0.0" 1146 | 1147 | pify@^2.0.0: 1148 | version "2.3.0" 1149 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1150 | 1151 | pinkie-promise@^2.0.0: 1152 | version "2.0.1" 1153 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1154 | dependencies: 1155 | pinkie "^2.0.0" 1156 | 1157 | pinkie@^2.0.0: 1158 | version "2.0.4" 1159 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1160 | 1161 | pkg-dir@^1.0.0: 1162 | version "1.0.0" 1163 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 1164 | dependencies: 1165 | find-up "^1.0.0" 1166 | 1167 | preserve@^0.2.0: 1168 | version "0.2.0" 1169 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1170 | 1171 | pretty-bytes@^4.0.2: 1172 | version "4.0.2" 1173 | resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" 1174 | 1175 | pseudomap@^1.0.1: 1176 | version "1.0.2" 1177 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1178 | 1179 | punycode@^1.4.1: 1180 | version "1.4.1" 1181 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1182 | 1183 | qs@~6.3.0: 1184 | version "6.3.1" 1185 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d" 1186 | 1187 | randomatic@^1.1.3: 1188 | version "1.1.6" 1189 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" 1190 | dependencies: 1191 | is-number "^2.0.2" 1192 | kind-of "^3.0.2" 1193 | 1194 | read-pkg-up@^1.0.1: 1195 | version "1.0.1" 1196 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 1197 | dependencies: 1198 | find-up "^1.0.0" 1199 | read-pkg "^1.0.0" 1200 | 1201 | read-pkg@^1.0.0: 1202 | version "1.1.0" 1203 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 1204 | dependencies: 1205 | load-json-file "^1.0.0" 1206 | normalize-package-data "^2.3.2" 1207 | path-type "^1.0.0" 1208 | 1209 | redent@^1.0.0: 1210 | version "1.0.0" 1211 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 1212 | dependencies: 1213 | indent-string "^2.1.0" 1214 | strip-indent "^1.0.1" 1215 | 1216 | regenerator-runtime@^0.10.0: 1217 | version "0.10.3" 1218 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" 1219 | 1220 | regex-cache@^0.4.2: 1221 | version "0.4.3" 1222 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 1223 | dependencies: 1224 | is-equal-shallow "^0.1.3" 1225 | is-primitive "^2.0.0" 1226 | 1227 | repeat-element@^1.1.2: 1228 | version "1.1.2" 1229 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1230 | 1231 | repeat-string@^1.5.2: 1232 | version "1.6.1" 1233 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1234 | 1235 | repeating@^2.0.0: 1236 | version "2.0.1" 1237 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1238 | dependencies: 1239 | is-finite "^1.0.0" 1240 | 1241 | request@2.79.0: 1242 | version "2.79.0" 1243 | resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" 1244 | dependencies: 1245 | aws-sign2 "~0.6.0" 1246 | aws4 "^1.2.1" 1247 | caseless "~0.11.0" 1248 | combined-stream "~1.0.5" 1249 | extend "~3.0.0" 1250 | forever-agent "~0.6.1" 1251 | form-data "~2.1.1" 1252 | har-validator "~2.0.6" 1253 | hawk "~3.1.3" 1254 | http-signature "~1.1.0" 1255 | is-typedarray "~1.0.0" 1256 | isstream "~0.1.2" 1257 | json-stringify-safe "~5.0.1" 1258 | mime-types "~2.1.7" 1259 | oauth-sign "~0.8.1" 1260 | qs "~6.3.0" 1261 | stringstream "~0.0.4" 1262 | tough-cookie "~2.3.0" 1263 | tunnel-agent "~0.4.1" 1264 | uuid "^3.0.0" 1265 | 1266 | require-directory@^2.1.1: 1267 | version "2.1.1" 1268 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1269 | 1270 | require-main-filename@^1.0.1: 1271 | version "1.0.1" 1272 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 1273 | 1274 | resolve-from@^2.0.0: 1275 | version "2.0.0" 1276 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 1277 | 1278 | right-align@^0.1.1: 1279 | version "0.1.3" 1280 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 1281 | dependencies: 1282 | align-text "^0.1.1" 1283 | 1284 | rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: 1285 | version "2.6.1" 1286 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" 1287 | dependencies: 1288 | glob "^7.0.5" 1289 | 1290 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 1291 | version "5.3.0" 1292 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1293 | 1294 | set-blocking@^2.0.0: 1295 | version "2.0.0" 1296 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1297 | 1298 | signal-exit@^2.0.0: 1299 | version "2.1.2" 1300 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" 1301 | 1302 | signal-exit@^3.0.0, signal-exit@^3.0.1: 1303 | version "3.0.2" 1304 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1305 | 1306 | slide@^1.1.5: 1307 | version "1.1.6" 1308 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 1309 | 1310 | sntp@1.x.x: 1311 | version "1.0.9" 1312 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1313 | dependencies: 1314 | hoek "2.x.x" 1315 | 1316 | source-map@^0.4.4: 1317 | version "0.4.4" 1318 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 1319 | dependencies: 1320 | amdefine ">=0.0.4" 1321 | 1322 | source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: 1323 | version "0.5.6" 1324 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 1325 | 1326 | spawn-wrap@1.2.4: 1327 | version "1.2.4" 1328 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" 1329 | dependencies: 1330 | foreground-child "^1.3.3" 1331 | mkdirp "^0.5.0" 1332 | os-homedir "^1.0.1" 1333 | rimraf "^2.3.3" 1334 | signal-exit "^2.0.0" 1335 | which "^1.2.4" 1336 | 1337 | spdx-correct@~1.0.0: 1338 | version "1.0.2" 1339 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 1340 | dependencies: 1341 | spdx-license-ids "^1.0.2" 1342 | 1343 | spdx-expression-parse@~1.0.0: 1344 | version "1.0.4" 1345 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 1346 | 1347 | spdx-license-ids@^1.0.2: 1348 | version "1.2.2" 1349 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 1350 | 1351 | sprintf-js@~1.0.2: 1352 | version "1.0.3" 1353 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1354 | 1355 | sqwish@~0.2.2: 1356 | version "0.2.2" 1357 | resolved "http://registry.npmjs.org/sqwish/-/sqwish-0.2.2.tgz#00fe2668104f1228b5bb7ee739ef60121bbcb057" 1358 | 1359 | sshpk@^1.7.0: 1360 | version "1.11.0" 1361 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77" 1362 | dependencies: 1363 | asn1 "~0.2.3" 1364 | assert-plus "^1.0.0" 1365 | dashdash "^1.12.0" 1366 | getpass "^0.1.1" 1367 | optionalDependencies: 1368 | bcrypt-pbkdf "^1.0.0" 1369 | ecc-jsbn "~0.1.1" 1370 | jodid25519 "^1.0.0" 1371 | jsbn "~0.1.0" 1372 | tweetnacl "~0.14.0" 1373 | 1374 | string-width@^1.0.1, string-width@^1.0.2: 1375 | version "1.0.2" 1376 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1377 | dependencies: 1378 | code-point-at "^1.0.0" 1379 | is-fullwidth-code-point "^1.0.0" 1380 | strip-ansi "^3.0.0" 1381 | 1382 | stringstream@~0.0.4: 1383 | version "0.0.5" 1384 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 1385 | 1386 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1387 | version "3.0.1" 1388 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1389 | dependencies: 1390 | ansi-regex "^2.0.0" 1391 | 1392 | strip-bom@^2.0.0: 1393 | version "2.0.0" 1394 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 1395 | dependencies: 1396 | is-utf8 "^0.2.0" 1397 | 1398 | strip-indent@^1.0.1: 1399 | version "1.0.1" 1400 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 1401 | dependencies: 1402 | get-stdin "^4.0.1" 1403 | 1404 | supports-color@^2.0.0: 1405 | version "2.0.0" 1406 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1407 | 1408 | supports-color@^3.1.2: 1409 | version "3.2.3" 1410 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 1411 | dependencies: 1412 | has-flag "^1.0.0" 1413 | 1414 | test-exclude@^3.3.0: 1415 | version "3.3.0" 1416 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" 1417 | dependencies: 1418 | arrify "^1.0.1" 1419 | micromatch "^2.3.11" 1420 | object-assign "^4.1.0" 1421 | read-pkg-up "^1.0.1" 1422 | require-main-filename "^1.0.1" 1423 | 1424 | to-fast-properties@^1.0.1: 1425 | version "1.0.2" 1426 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 1427 | 1428 | tough-cookie@~2.3.0: 1429 | version "2.3.2" 1430 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 1431 | dependencies: 1432 | punycode "^1.4.1" 1433 | 1434 | trim-newlines@^1.0.0: 1435 | version "1.0.0" 1436 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 1437 | 1438 | trim-right@^1.0.1: 1439 | version "1.0.1" 1440 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1441 | 1442 | tunnel-agent@~0.4.1: 1443 | version "0.4.3" 1444 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 1445 | 1446 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1447 | version "0.14.5" 1448 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1449 | 1450 | uglify-js@^2.4.24, uglify-js@^2.6: 1451 | version "2.7.5" 1452 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" 1453 | dependencies: 1454 | async "~0.2.6" 1455 | source-map "~0.5.1" 1456 | uglify-to-browserify "~1.0.0" 1457 | yargs "~3.10.0" 1458 | 1459 | uglify-to-browserify@~1.0.0: 1460 | version "1.0.2" 1461 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 1462 | 1463 | uuid@^3.0.0: 1464 | version "3.0.1" 1465 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 1466 | 1467 | validate-npm-package-license@^3.0.1: 1468 | version "3.0.1" 1469 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 1470 | dependencies: 1471 | spdx-correct "~1.0.0" 1472 | spdx-expression-parse "~1.0.0" 1473 | 1474 | verror@1.3.6: 1475 | version "1.3.6" 1476 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 1477 | dependencies: 1478 | extsprintf "1.0.2" 1479 | 1480 | which-module@^1.0.0: 1481 | version "1.0.0" 1482 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 1483 | 1484 | which@^1.2.4, which@^1.2.9: 1485 | version "1.2.12" 1486 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" 1487 | dependencies: 1488 | isexe "^1.1.1" 1489 | 1490 | window-size@0.1.0: 1491 | version "0.1.0" 1492 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 1493 | 1494 | wordwrap@0.0.2, wordwrap@~0.0.2: 1495 | version "0.0.2" 1496 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 1497 | 1498 | wrap-ansi@^2.0.0: 1499 | version "2.1.0" 1500 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 1501 | dependencies: 1502 | string-width "^1.0.1" 1503 | strip-ansi "^3.0.1" 1504 | 1505 | wrappy@1: 1506 | version "1.0.2" 1507 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1508 | 1509 | write-file-atomic@^1.1.4: 1510 | version "1.3.1" 1511 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" 1512 | dependencies: 1513 | graceful-fs "^4.1.11" 1514 | imurmurhash "^0.1.4" 1515 | slide "^1.1.5" 1516 | 1517 | xtend@^4.0.0: 1518 | version "4.0.1" 1519 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1520 | 1521 | y18n@^3.2.1: 1522 | version "3.2.1" 1523 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 1524 | 1525 | yallist@^2.0.0: 1526 | version "2.0.0" 1527 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" 1528 | 1529 | yargs-parser@^4.0.2, yargs-parser@^4.2.0: 1530 | version "4.2.1" 1531 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 1532 | dependencies: 1533 | camelcase "^3.0.0" 1534 | 1535 | yargs@^6.6.0: 1536 | version "6.6.0" 1537 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 1538 | dependencies: 1539 | camelcase "^3.0.0" 1540 | cliui "^3.2.0" 1541 | decamelize "^1.1.1" 1542 | get-caller-file "^1.0.1" 1543 | os-locale "^1.4.0" 1544 | read-pkg-up "^1.0.1" 1545 | require-directory "^2.1.1" 1546 | require-main-filename "^1.0.1" 1547 | set-blocking "^2.0.0" 1548 | string-width "^1.0.2" 1549 | which-module "^1.0.0" 1550 | y18n "^3.2.1" 1551 | yargs-parser "^4.2.0" 1552 | 1553 | yargs@~3.10.0: 1554 | version "3.10.0" 1555 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 1556 | dependencies: 1557 | camelcase "^1.0.2" 1558 | cliui "^2.1.0" 1559 | decamelize "^1.0.0" 1560 | window-size "0.1.0" 1561 | --------------------------------------------------------------------------------