├── .gitignore ├── README.md ├── index.js ├── package-lock.json ├── package.json └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | npm-debug.log 4 | dist 5 | .vscode 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # redux-persist-middleware 2 | 3 | ![](https://img.shields.io/npm/dm/redux-persist-middleware.svg)![](https://img.shields.io/npm/v/redux-persist-middleware.svg)![](https://img.shields.io/npm/l/redux-persist-middleware.svg) 4 | 5 | Generates Redux middleware that will trigger an asynchronous write to cache on a `requestIdleCallback`. 6 | 7 | * You supply a map of action types to reducers that should be persisted as a result of a given action. 8 | * You supply the function to be called for persisting (must return a Promise). 9 | 10 | That's it! 11 | 12 | Works really well with the tiny cache library [money-clip](https://github.com/HenrikJoreteg/money-clip) for versioned, async, IndexedDB backed caching for Redux apps. 13 | 14 | ## Why? 15 | 16 | * I think caching should to be a seamless asynchronous side effect in Redux, done when the browser is not busy with other things (hence the use of `requestIdleCallback`). 17 | * Lets you bring your own persistance library. I use [money-clip](https://github.com/HenrikJoreteg/money-clip) because it's tiny, async, IndexedDB-powered (not sync and blocking like `localStorage`), and supports versioning and max age. 18 | * I don't like the idea of dispatching special persistance related actions. Such actions are likely to trigger unnecessary renders. The work of persisting data has no direct impact on the UI and in my opinion and should be done lazily to keep app performing smoothly. 19 | * I don't want to write on every action, I want to pick what reducers get persisted on what actions in an opt-in sort of way. 20 | * It should be inert if running in node where IndexedDB is irrelevant. 21 | 22 | ## install 23 | 24 | ``` 25 | npm install redux-persist-middleware 26 | ``` 27 | 28 | ## Example 29 | 30 | ```js 31 | import { h, render } from 'preact' 32 | import { Provider } from 'preact-redux' 33 | import ms from 'milliseconds' 34 | import { createStore, applyMiddleware } from 'redux' 35 | import rootReducer from './state/root' 36 | import RootComponent from './components/root' 37 | import config from './config' 38 | 39 | // The relevant stuff 40 | import getPersistMiddleware from 'redux-persist-middleware' 41 | import { getConfiguredCache } from 'money-clip' 42 | 43 | // Here we use the money-clip library to 44 | // creates an object of cache functions with 45 | // these options pre-applied 46 | const cache = getConfiguredCache({ 47 | version: config.cacheVersion, 48 | maxAge: ms.days(30) 49 | }) 50 | 51 | // A mapping of actions to reducers we should 52 | // persist after those actions occur 53 | const actionMap = { 54 | FETCH_USERS_SUCCESS: ['users'], 55 | FETCH_TOKEN_SUCCESS: ['auth'] 56 | } 57 | 58 | // Configure our middleware 59 | const persistMiddleware = getPersistMiddleware({ 60 | // a function to call to persist stuff. 61 | // This *must* return a Promise and 62 | // *must take two arguments: (key, value)* 63 | cacheFn: cache.set, 64 | // optionally logs out which action triggered 65 | // something to be cached and what reducers 66 | // were persisted as a result. 67 | logger: console.info, 68 | // We pass in the mapping of action types to 69 | // reducers that should be persisted 70 | actionMap 71 | }) 72 | 73 | // Load everything from cache when the app 74 | // boots up. 75 | cache.getAll().then(data => { 76 | // You can manually do any sort of data merging 77 | // you'd like to do here. Say you have some 78 | // bootstrapped data from the server or whatnot 79 | // that part is up to you. 80 | 81 | // Then set up store 82 | const store = createStore( 83 | rootReducer, 84 | data, 85 | // apply our middleware 86 | applyMiddleware(persistMiddleware) 87 | ) 88 | 89 | // Carry on as usual 90 | render( 91 | 92 | 93 | , 94 | document.getElementById('app') 95 | ) 96 | }) 97 | ``` 98 | 99 | ## Tests 100 | 101 | ``` 102 | $ npm i && npm test 103 | ``` 104 | 105 | ## Change log 106 | 107 | * `1.0.1`: bugfix to make it work in a web worker 108 | * `1.0.0`: initial release 109 | 110 | ## credits 111 | 112 | If you like this follow [@HenrikJoreteg](http://twitter.com/henrikjoreteg) on twitter. 113 | 114 | ## license 115 | 116 | [MIT](http://mit.joreteg.com/) 117 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const IS_BROWSER = !!( 2 | typeof window !== 'undefined' || typeof self !== 'undefined' 3 | ) 4 | const fallback = cb => setTimeout(cb, 0) 5 | const ric = 6 | typeof requestIdleCallback === 'undefined' ? fallback : requestIdleCallback 7 | 8 | export default ({ cacheFn, actionMap, logger }) => ({ 9 | getState 10 | }) => next => action => { 11 | const reducersToPersist = actionMap[action.type] 12 | const res = next(action) 13 | const state = getState() 14 | if (IS_BROWSER && reducersToPersist) { 15 | ric( 16 | () => { 17 | Promise.all( 18 | reducersToPersist.map(key => cacheFn(key, state[key])) 19 | ).then(() => { 20 | if (logger) { 21 | logger( 22 | `cached ${reducersToPersist.join(', ')} due to ${action.type}` 23 | ) 24 | } 25 | }) 26 | }, 27 | { timeout: 500 } 28 | ) 29 | } 30 | return res 31 | } 32 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-persist-middleware", 3 | "version": "1.0.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.5.3", 9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", 10 | "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", 11 | "dev": true 12 | }, 13 | "acorn-dynamic-import": { 14 | "version": "3.0.0", 15 | "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", 16 | "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", 17 | "dev": true, 18 | "requires": { 19 | "acorn": "5.5.3" 20 | } 21 | }, 22 | "acorn-es7-plugin": { 23 | "version": "1.1.7", 24 | "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", 25 | "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=", 26 | "dev": true 27 | }, 28 | "acorn-jsx": { 29 | "version": "4.1.1", 30 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", 31 | "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", 32 | "dev": true, 33 | "requires": { 34 | "acorn": "5.5.3" 35 | } 36 | }, 37 | "acorn5-object-spread": { 38 | "version": "4.0.0", 39 | "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz", 40 | "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=", 41 | "dev": true, 42 | "requires": { 43 | "acorn": "5.5.3" 44 | } 45 | }, 46 | "alphanum-sort": { 47 | "version": "1.0.2", 48 | "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", 49 | "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", 50 | "dev": true 51 | }, 52 | "ansi-regex": { 53 | "version": "2.1.1", 54 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 55 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 56 | "dev": true 57 | }, 58 | "ansi-styles": { 59 | "version": "3.2.1", 60 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 61 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 62 | "dev": true, 63 | "requires": { 64 | "color-convert": "1.9.1" 65 | } 66 | }, 67 | "argparse": { 68 | "version": "1.0.10", 69 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 70 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 71 | "dev": true, 72 | "requires": { 73 | "sprintf-js": "1.0.3" 74 | } 75 | }, 76 | "arr-diff": { 77 | "version": "2.0.0", 78 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 79 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 80 | "dev": true, 81 | "requires": { 82 | "arr-flatten": "1.1.0" 83 | } 84 | }, 85 | "arr-flatten": { 86 | "version": "1.1.0", 87 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 88 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 89 | "dev": true 90 | }, 91 | "array-unique": { 92 | "version": "0.2.1", 93 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 94 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 95 | "dev": true 96 | }, 97 | "asyncro": { 98 | "version": "3.0.0", 99 | "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", 100 | "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", 101 | "dev": true 102 | }, 103 | "autoprefixer": { 104 | "version": "7.2.6", 105 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", 106 | "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", 107 | "dev": true, 108 | "requires": { 109 | "browserslist": "2.11.3", 110 | "caniuse-lite": "1.0.30000813", 111 | "normalize-range": "0.1.2", 112 | "num2fraction": "1.2.2", 113 | "postcss": "6.0.19", 114 | "postcss-value-parser": "3.3.0" 115 | } 116 | }, 117 | "babel-polyfill": { 118 | "version": "6.26.0", 119 | "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", 120 | "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", 121 | "dev": true, 122 | "requires": { 123 | "babel-runtime": "6.26.0", 124 | "core-js": "2.5.3", 125 | "regenerator-runtime": "0.10.5" 126 | }, 127 | "dependencies": { 128 | "regenerator-runtime": { 129 | "version": "0.10.5", 130 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", 131 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", 132 | "dev": true 133 | } 134 | } 135 | }, 136 | "babel-runtime": { 137 | "version": "6.26.0", 138 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 139 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 140 | "dev": true, 141 | "requires": { 142 | "core-js": "2.5.3", 143 | "regenerator-runtime": "0.11.1" 144 | } 145 | }, 146 | "babylon": { 147 | "version": "6.18.0", 148 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 149 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 150 | "dev": true 151 | }, 152 | "balanced-match": { 153 | "version": "1.0.0", 154 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 155 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 156 | "dev": true 157 | }, 158 | "big.js": { 159 | "version": "3.2.0", 160 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", 161 | "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", 162 | "dev": true 163 | }, 164 | "brace-expansion": { 165 | "version": "1.1.11", 166 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 167 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 168 | "dev": true, 169 | "requires": { 170 | "balanced-match": "1.0.0", 171 | "concat-map": "0.0.1" 172 | } 173 | }, 174 | "braces": { 175 | "version": "1.8.5", 176 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 177 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 178 | "dev": true, 179 | "requires": { 180 | "expand-range": "1.8.2", 181 | "preserve": "0.2.0", 182 | "repeat-element": "1.1.2" 183 | } 184 | }, 185 | "browserslist": { 186 | "version": "2.11.3", 187 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", 188 | "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", 189 | "dev": true, 190 | "requires": { 191 | "caniuse-lite": "1.0.30000813", 192 | "electron-to-chromium": "1.3.37" 193 | } 194 | }, 195 | "buble": { 196 | "version": "0.18.0", 197 | "resolved": "https://registry.npmjs.org/buble/-/buble-0.18.0.tgz", 198 | "integrity": "sha512-U3NJxUiSz0H1EB54PEHAuBTxdXgQH4DaQkvkINFXf9kEKCDWSn67EgQfFKbkTzsok4xRrIPsoxWDl2czCHR65g==", 199 | "dev": true, 200 | "requires": { 201 | "acorn": "5.5.3", 202 | "acorn-jsx": "3.0.1", 203 | "acorn5-object-spread": "4.0.0", 204 | "chalk": "2.3.2", 205 | "magic-string": "0.22.4", 206 | "minimist": "1.2.0", 207 | "os-homedir": "1.0.2", 208 | "vlq": "0.2.3" 209 | }, 210 | "dependencies": { 211 | "acorn-jsx": { 212 | "version": "3.0.1", 213 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 214 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 215 | "dev": true, 216 | "requires": { 217 | "acorn": "3.3.0" 218 | }, 219 | "dependencies": { 220 | "acorn": { 221 | "version": "3.3.0", 222 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 223 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 224 | "dev": true 225 | } 226 | } 227 | } 228 | } 229 | }, 230 | "builtin-modules": { 231 | "version": "2.0.0", 232 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", 233 | "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", 234 | "dev": true 235 | }, 236 | "camelcase": { 237 | "version": "4.1.0", 238 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 239 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", 240 | "dev": true 241 | }, 242 | "caniuse-api": { 243 | "version": "1.6.1", 244 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", 245 | "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", 246 | "dev": true, 247 | "requires": { 248 | "browserslist": "1.7.7", 249 | "caniuse-db": "1.0.30000813", 250 | "lodash.memoize": "4.1.2", 251 | "lodash.uniq": "4.5.0" 252 | }, 253 | "dependencies": { 254 | "browserslist": { 255 | "version": "1.7.7", 256 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", 257 | "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", 258 | "dev": true, 259 | "requires": { 260 | "caniuse-db": "1.0.30000813", 261 | "electron-to-chromium": "1.3.37" 262 | } 263 | } 264 | } 265 | }, 266 | "caniuse-db": { 267 | "version": "1.0.30000813", 268 | "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000813.tgz", 269 | "integrity": "sha1-4KHGA/iICteHsqNWUrJzPzKl4po=", 270 | "dev": true 271 | }, 272 | "caniuse-lite": { 273 | "version": "1.0.30000813", 274 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000813.tgz", 275 | "integrity": "sha512-A8ITSmH5SFdMFdC704ggjg+x2z5PzQmVlG8tavwnfvbC33Q1UYrj0+G+Xm0SNAnd4He36fwUE/KEWytOEchw+A==", 276 | "dev": true 277 | }, 278 | "chalk": { 279 | "version": "2.3.2", 280 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", 281 | "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", 282 | "dev": true, 283 | "requires": { 284 | "ansi-styles": "3.2.1", 285 | "escape-string-regexp": "1.0.5", 286 | "supports-color": "5.3.0" 287 | } 288 | }, 289 | "clap": { 290 | "version": "1.2.3", 291 | "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", 292 | "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", 293 | "dev": true, 294 | "requires": { 295 | "chalk": "1.1.3" 296 | }, 297 | "dependencies": { 298 | "ansi-styles": { 299 | "version": "2.2.1", 300 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 301 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 302 | "dev": true 303 | }, 304 | "chalk": { 305 | "version": "1.1.3", 306 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 307 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 308 | "dev": true, 309 | "requires": { 310 | "ansi-styles": "2.2.1", 311 | "escape-string-regexp": "1.0.5", 312 | "has-ansi": "2.0.0", 313 | "strip-ansi": "3.0.1", 314 | "supports-color": "2.0.0" 315 | } 316 | }, 317 | "supports-color": { 318 | "version": "2.0.0", 319 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 320 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 321 | "dev": true 322 | } 323 | } 324 | }, 325 | "clone": { 326 | "version": "1.0.3", 327 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", 328 | "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", 329 | "dev": true 330 | }, 331 | "coa": { 332 | "version": "1.0.4", 333 | "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", 334 | "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", 335 | "dev": true, 336 | "requires": { 337 | "q": "1.5.1" 338 | } 339 | }, 340 | "color": { 341 | "version": "0.11.4", 342 | "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", 343 | "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", 344 | "dev": true, 345 | "requires": { 346 | "clone": "1.0.3", 347 | "color-convert": "1.9.1", 348 | "color-string": "0.3.0" 349 | } 350 | }, 351 | "color-convert": { 352 | "version": "1.9.1", 353 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 354 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 355 | "dev": true, 356 | "requires": { 357 | "color-name": "1.1.3" 358 | } 359 | }, 360 | "color-name": { 361 | "version": "1.1.3", 362 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 363 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 364 | "dev": true 365 | }, 366 | "color-string": { 367 | "version": "0.3.0", 368 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", 369 | "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", 370 | "dev": true, 371 | "requires": { 372 | "color-name": "1.1.3" 373 | } 374 | }, 375 | "colormin": { 376 | "version": "1.1.2", 377 | "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", 378 | "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", 379 | "dev": true, 380 | "requires": { 381 | "color": "0.11.4", 382 | "css-color-names": "0.0.4", 383 | "has": "1.0.1" 384 | } 385 | }, 386 | "colors": { 387 | "version": "1.1.2", 388 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", 389 | "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", 390 | "dev": true 391 | }, 392 | "commander": { 393 | "version": "2.13.0", 394 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", 395 | "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", 396 | "dev": true 397 | }, 398 | "concat-map": { 399 | "version": "0.0.1", 400 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 401 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 402 | "dev": true 403 | }, 404 | "concat-with-sourcemaps": { 405 | "version": "1.0.5", 406 | "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz", 407 | "integrity": "sha512-YtnS0VEY+e2Khzsey/6mra9EoM6h/5gxaC0e3mcHpA5yfDxafhygytNmcJWodvUgyXzSiL5MSkPO6bQGgfliHw==", 408 | "dev": true, 409 | "requires": { 410 | "source-map": "0.6.1" 411 | } 412 | }, 413 | "core-js": { 414 | "version": "2.5.3", 415 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", 416 | "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", 417 | "dev": true 418 | }, 419 | "cosmiconfig": { 420 | "version": "2.2.2", 421 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", 422 | "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", 423 | "dev": true, 424 | "requires": { 425 | "is-directory": "0.3.1", 426 | "js-yaml": "3.7.0", 427 | "minimist": "1.2.0", 428 | "object-assign": "4.1.1", 429 | "os-homedir": "1.0.2", 430 | "parse-json": "2.2.0", 431 | "require-from-string": "1.2.1" 432 | } 433 | }, 434 | "css-color-names": { 435 | "version": "0.0.4", 436 | "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", 437 | "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", 438 | "dev": true 439 | }, 440 | "css-modules-loader-core": { 441 | "version": "1.1.0", 442 | "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", 443 | "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", 444 | "dev": true, 445 | "requires": { 446 | "icss-replace-symbols": "1.1.0", 447 | "postcss": "6.0.1", 448 | "postcss-modules-extract-imports": "1.1.0", 449 | "postcss-modules-local-by-default": "1.2.0", 450 | "postcss-modules-scope": "1.1.0", 451 | "postcss-modules-values": "1.3.0" 452 | }, 453 | "dependencies": { 454 | "ansi-styles": { 455 | "version": "2.2.1", 456 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 457 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 458 | "dev": true 459 | }, 460 | "chalk": { 461 | "version": "1.1.3", 462 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 463 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 464 | "dev": true, 465 | "requires": { 466 | "ansi-styles": "2.2.1", 467 | "escape-string-regexp": "1.0.5", 468 | "has-ansi": "2.0.0", 469 | "strip-ansi": "3.0.1", 470 | "supports-color": "2.0.0" 471 | }, 472 | "dependencies": { 473 | "supports-color": { 474 | "version": "2.0.0", 475 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 476 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 477 | "dev": true 478 | } 479 | } 480 | }, 481 | "has-flag": { 482 | "version": "1.0.0", 483 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 484 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 485 | "dev": true 486 | }, 487 | "postcss": { 488 | "version": "6.0.1", 489 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", 490 | "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", 491 | "dev": true, 492 | "requires": { 493 | "chalk": "1.1.3", 494 | "source-map": "0.5.7", 495 | "supports-color": "3.2.3" 496 | } 497 | }, 498 | "source-map": { 499 | "version": "0.5.7", 500 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 501 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 502 | "dev": true 503 | }, 504 | "supports-color": { 505 | "version": "3.2.3", 506 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 507 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 508 | "dev": true, 509 | "requires": { 510 | "has-flag": "1.0.0" 511 | } 512 | } 513 | } 514 | }, 515 | "css-selector-tokenizer": { 516 | "version": "0.7.0", 517 | "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", 518 | "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", 519 | "dev": true, 520 | "requires": { 521 | "cssesc": "0.1.0", 522 | "fastparse": "1.1.1", 523 | "regexpu-core": "1.0.0" 524 | } 525 | }, 526 | "cssesc": { 527 | "version": "0.1.0", 528 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", 529 | "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", 530 | "dev": true 531 | }, 532 | "cssnano": { 533 | "version": "3.10.0", 534 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", 535 | "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", 536 | "dev": true, 537 | "requires": { 538 | "autoprefixer": "6.7.7", 539 | "decamelize": "1.2.0", 540 | "defined": "1.0.0", 541 | "has": "1.0.1", 542 | "object-assign": "4.1.1", 543 | "postcss": "5.2.18", 544 | "postcss-calc": "5.3.1", 545 | "postcss-colormin": "2.2.2", 546 | "postcss-convert-values": "2.6.1", 547 | "postcss-discard-comments": "2.0.4", 548 | "postcss-discard-duplicates": "2.1.0", 549 | "postcss-discard-empty": "2.1.0", 550 | "postcss-discard-overridden": "0.1.1", 551 | "postcss-discard-unused": "2.2.3", 552 | "postcss-filter-plugins": "2.0.2", 553 | "postcss-merge-idents": "2.1.7", 554 | "postcss-merge-longhand": "2.0.2", 555 | "postcss-merge-rules": "2.1.2", 556 | "postcss-minify-font-values": "1.0.5", 557 | "postcss-minify-gradients": "1.0.5", 558 | "postcss-minify-params": "1.2.2", 559 | "postcss-minify-selectors": "2.1.1", 560 | "postcss-normalize-charset": "1.1.1", 561 | "postcss-normalize-url": "3.0.8", 562 | "postcss-ordered-values": "2.2.3", 563 | "postcss-reduce-idents": "2.4.0", 564 | "postcss-reduce-initial": "1.0.1", 565 | "postcss-reduce-transforms": "1.0.4", 566 | "postcss-svgo": "2.1.6", 567 | "postcss-unique-selectors": "2.0.2", 568 | "postcss-value-parser": "3.3.0", 569 | "postcss-zindex": "2.2.0" 570 | }, 571 | "dependencies": { 572 | "ansi-styles": { 573 | "version": "2.2.1", 574 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 575 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 576 | "dev": true 577 | }, 578 | "autoprefixer": { 579 | "version": "6.7.7", 580 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", 581 | "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", 582 | "dev": true, 583 | "requires": { 584 | "browserslist": "1.7.7", 585 | "caniuse-db": "1.0.30000813", 586 | "normalize-range": "0.1.2", 587 | "num2fraction": "1.2.2", 588 | "postcss": "5.2.18", 589 | "postcss-value-parser": "3.3.0" 590 | } 591 | }, 592 | "browserslist": { 593 | "version": "1.7.7", 594 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", 595 | "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", 596 | "dev": true, 597 | "requires": { 598 | "caniuse-db": "1.0.30000813", 599 | "electron-to-chromium": "1.3.37" 600 | } 601 | }, 602 | "chalk": { 603 | "version": "1.1.3", 604 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 605 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 606 | "dev": true, 607 | "requires": { 608 | "ansi-styles": "2.2.1", 609 | "escape-string-regexp": "1.0.5", 610 | "has-ansi": "2.0.0", 611 | "strip-ansi": "3.0.1", 612 | "supports-color": "2.0.0" 613 | }, 614 | "dependencies": { 615 | "supports-color": { 616 | "version": "2.0.0", 617 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 618 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 619 | "dev": true 620 | } 621 | } 622 | }, 623 | "has-flag": { 624 | "version": "1.0.0", 625 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 626 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 627 | "dev": true 628 | }, 629 | "postcss": { 630 | "version": "5.2.18", 631 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 632 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 633 | "dev": true, 634 | "requires": { 635 | "chalk": "1.1.3", 636 | "js-base64": "2.4.3", 637 | "source-map": "0.5.7", 638 | "supports-color": "3.2.3" 639 | } 640 | }, 641 | "source-map": { 642 | "version": "0.5.7", 643 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 644 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 645 | "dev": true 646 | }, 647 | "supports-color": { 648 | "version": "3.2.3", 649 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 650 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 651 | "dev": true, 652 | "requires": { 653 | "has-flag": "1.0.0" 654 | } 655 | } 656 | } 657 | }, 658 | "csso": { 659 | "version": "2.3.2", 660 | "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", 661 | "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", 662 | "dev": true, 663 | "requires": { 664 | "clap": "1.2.3", 665 | "source-map": "0.5.7" 666 | }, 667 | "dependencies": { 668 | "source-map": { 669 | "version": "0.5.7", 670 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 671 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 672 | "dev": true 673 | } 674 | } 675 | }, 676 | "decamelize": { 677 | "version": "1.2.0", 678 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 679 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 680 | "dev": true 681 | }, 682 | "deep-equal": { 683 | "version": "1.0.1", 684 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 685 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", 686 | "dev": true 687 | }, 688 | "define-properties": { 689 | "version": "1.1.2", 690 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", 691 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", 692 | "dev": true, 693 | "requires": { 694 | "foreach": "2.0.5", 695 | "object-keys": "1.0.11" 696 | } 697 | }, 698 | "defined": { 699 | "version": "1.0.0", 700 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 701 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 702 | "dev": true 703 | }, 704 | "duplexer": { 705 | "version": "0.1.1", 706 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", 707 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", 708 | "dev": true 709 | }, 710 | "electron-to-chromium": { 711 | "version": "1.3.37", 712 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.37.tgz", 713 | "integrity": "sha1-SpJzTgBEyM8LFVO+V+riGkxuX6s=", 714 | "dev": true 715 | }, 716 | "emojis-list": { 717 | "version": "2.1.0", 718 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", 719 | "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", 720 | "dev": true 721 | }, 722 | "error-ex": { 723 | "version": "1.3.1", 724 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 725 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 726 | "dev": true, 727 | "requires": { 728 | "is-arrayish": "0.2.1" 729 | } 730 | }, 731 | "es-abstract": { 732 | "version": "1.10.0", 733 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", 734 | "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", 735 | "dev": true, 736 | "requires": { 737 | "es-to-primitive": "1.1.1", 738 | "function-bind": "1.1.1", 739 | "has": "1.0.1", 740 | "is-callable": "1.1.3", 741 | "is-regex": "1.0.4" 742 | } 743 | }, 744 | "es-to-primitive": { 745 | "version": "1.1.1", 746 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", 747 | "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", 748 | "dev": true, 749 | "requires": { 750 | "is-callable": "1.1.3", 751 | "is-date-object": "1.0.1", 752 | "is-symbol": "1.0.1" 753 | } 754 | }, 755 | "es6-promise": { 756 | "version": "4.2.4", 757 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", 758 | "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", 759 | "dev": true 760 | }, 761 | "es6-promisify": { 762 | "version": "5.0.0", 763 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", 764 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", 765 | "dev": true, 766 | "requires": { 767 | "es6-promise": "4.2.4" 768 | } 769 | }, 770 | "escape-string-regexp": { 771 | "version": "1.0.5", 772 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 773 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 774 | "dev": true 775 | }, 776 | "esprima": { 777 | "version": "2.7.3", 778 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 779 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 780 | "dev": true 781 | }, 782 | "estree-walker": { 783 | "version": "0.3.1", 784 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", 785 | "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", 786 | "dev": true 787 | }, 788 | "expand-brackets": { 789 | "version": "0.1.5", 790 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 791 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 792 | "dev": true, 793 | "requires": { 794 | "is-posix-bracket": "0.1.1" 795 | } 796 | }, 797 | "expand-range": { 798 | "version": "1.8.2", 799 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 800 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 801 | "dev": true, 802 | "requires": { 803 | "fill-range": "2.2.3" 804 | } 805 | }, 806 | "extglob": { 807 | "version": "0.3.2", 808 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 809 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 810 | "dev": true, 811 | "requires": { 812 | "is-extglob": "1.0.0" 813 | } 814 | }, 815 | "fastparse": { 816 | "version": "1.1.1", 817 | "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", 818 | "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", 819 | "dev": true 820 | }, 821 | "figures": { 822 | "version": "1.7.0", 823 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 824 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 825 | "dev": true, 826 | "requires": { 827 | "escape-string-regexp": "1.0.5", 828 | "object-assign": "4.1.1" 829 | } 830 | }, 831 | "filename-regex": { 832 | "version": "2.0.1", 833 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 834 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 835 | "dev": true 836 | }, 837 | "filesize": { 838 | "version": "3.6.0", 839 | "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz", 840 | "integrity": "sha512-g5OWtoZWcPI56js1DFhIEqyG9tnu/7sG3foHwgS9KGYFMfsYguI3E+PRVCmtmE96VajQIEMRU2OhN+ME589Gdw==", 841 | "dev": true 842 | }, 843 | "fill-range": { 844 | "version": "2.2.3", 845 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", 846 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", 847 | "dev": true, 848 | "requires": { 849 | "is-number": "2.1.0", 850 | "isobject": "2.1.0", 851 | "randomatic": "1.1.7", 852 | "repeat-element": "1.1.2", 853 | "repeat-string": "1.6.1" 854 | } 855 | }, 856 | "flatten": { 857 | "version": "1.0.2", 858 | "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", 859 | "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", 860 | "dev": true 861 | }, 862 | "flow-remove-types": { 863 | "version": "1.2.3", 864 | "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-1.2.3.tgz", 865 | "integrity": "sha512-ypq/U3V+t9atYiOuSJd40tekCra03EHKoRsiK/wXGrsZimuum0kdwVY7Yv0HTaoXgHW1WiayomYd+Q3kkvPl9Q==", 866 | "dev": true, 867 | "requires": { 868 | "babylon": "6.18.0", 869 | "vlq": "0.2.3" 870 | } 871 | }, 872 | "for-each": { 873 | "version": "0.3.2", 874 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", 875 | "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", 876 | "dev": true, 877 | "requires": { 878 | "is-function": "1.0.1" 879 | } 880 | }, 881 | "for-in": { 882 | "version": "1.0.2", 883 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 884 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 885 | "dev": true 886 | }, 887 | "for-own": { 888 | "version": "0.1.5", 889 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 890 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 891 | "dev": true, 892 | "requires": { 893 | "for-in": "1.0.2" 894 | } 895 | }, 896 | "foreach": { 897 | "version": "2.0.5", 898 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", 899 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", 900 | "dev": true 901 | }, 902 | "fs-extra": { 903 | "version": "5.0.0", 904 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", 905 | "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", 906 | "dev": true, 907 | "requires": { 908 | "graceful-fs": "4.1.11", 909 | "jsonfile": "4.0.0", 910 | "universalify": "0.1.1" 911 | } 912 | }, 913 | "fs.realpath": { 914 | "version": "1.0.0", 915 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 916 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 917 | "dev": true 918 | }, 919 | "function-bind": { 920 | "version": "1.1.1", 921 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 922 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 923 | "dev": true 924 | }, 925 | "generic-names": { 926 | "version": "1.0.3", 927 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-1.0.3.tgz", 928 | "integrity": "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=", 929 | "dev": true, 930 | "requires": { 931 | "loader-utils": "0.2.17" 932 | } 933 | }, 934 | "glob": { 935 | "version": "7.1.2", 936 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 937 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 938 | "dev": true, 939 | "requires": { 940 | "fs.realpath": "1.0.0", 941 | "inflight": "1.0.6", 942 | "inherits": "2.0.3", 943 | "minimatch": "3.0.4", 944 | "once": "1.4.0", 945 | "path-is-absolute": "1.0.1" 946 | } 947 | }, 948 | "glob-base": { 949 | "version": "0.3.0", 950 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 951 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 952 | "dev": true, 953 | "requires": { 954 | "glob-parent": "2.0.0", 955 | "is-glob": "2.0.1" 956 | } 957 | }, 958 | "glob-parent": { 959 | "version": "2.0.0", 960 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 961 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 962 | "dev": true, 963 | "requires": { 964 | "is-glob": "2.0.1" 965 | } 966 | }, 967 | "graceful-fs": { 968 | "version": "4.1.11", 969 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 970 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 971 | "dev": true 972 | }, 973 | "gzip-size": { 974 | "version": "4.1.0", 975 | "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", 976 | "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", 977 | "dev": true, 978 | "requires": { 979 | "duplexer": "0.1.1", 980 | "pify": "3.0.0" 981 | } 982 | }, 983 | "has": { 984 | "version": "1.0.1", 985 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", 986 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", 987 | "dev": true, 988 | "requires": { 989 | "function-bind": "1.1.1" 990 | } 991 | }, 992 | "has-ansi": { 993 | "version": "2.0.0", 994 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 995 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 996 | "dev": true, 997 | "requires": { 998 | "ansi-regex": "2.1.1" 999 | } 1000 | }, 1001 | "has-flag": { 1002 | "version": "3.0.0", 1003 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1004 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1005 | "dev": true 1006 | }, 1007 | "html-comment-regex": { 1008 | "version": "1.1.1", 1009 | "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", 1010 | "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", 1011 | "dev": true 1012 | }, 1013 | "icss-replace-symbols": { 1014 | "version": "1.1.0", 1015 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 1016 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", 1017 | "dev": true 1018 | }, 1019 | "indexes-of": { 1020 | "version": "1.0.1", 1021 | "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", 1022 | "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", 1023 | "dev": true 1024 | }, 1025 | "inflight": { 1026 | "version": "1.0.6", 1027 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1028 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1029 | "dev": true, 1030 | "requires": { 1031 | "once": "1.4.0", 1032 | "wrappy": "1.0.2" 1033 | } 1034 | }, 1035 | "inherits": { 1036 | "version": "2.0.3", 1037 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1038 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1039 | "dev": true 1040 | }, 1041 | "is-absolute-url": { 1042 | "version": "2.1.0", 1043 | "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", 1044 | "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", 1045 | "dev": true 1046 | }, 1047 | "is-arrayish": { 1048 | "version": "0.2.1", 1049 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1050 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1051 | "dev": true 1052 | }, 1053 | "is-buffer": { 1054 | "version": "1.1.6", 1055 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1056 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1057 | "dev": true 1058 | }, 1059 | "is-callable": { 1060 | "version": "1.1.3", 1061 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", 1062 | "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", 1063 | "dev": true 1064 | }, 1065 | "is-date-object": { 1066 | "version": "1.0.1", 1067 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1068 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1069 | "dev": true 1070 | }, 1071 | "is-directory": { 1072 | "version": "0.3.1", 1073 | "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", 1074 | "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", 1075 | "dev": true 1076 | }, 1077 | "is-dotfile": { 1078 | "version": "1.0.3", 1079 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1080 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1081 | "dev": true 1082 | }, 1083 | "is-equal-shallow": { 1084 | "version": "0.1.3", 1085 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1086 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1087 | "dev": true, 1088 | "requires": { 1089 | "is-primitive": "2.0.0" 1090 | } 1091 | }, 1092 | "is-extendable": { 1093 | "version": "0.1.1", 1094 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1095 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1096 | "dev": true 1097 | }, 1098 | "is-extglob": { 1099 | "version": "1.0.0", 1100 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1101 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1102 | "dev": true 1103 | }, 1104 | "is-function": { 1105 | "version": "1.0.1", 1106 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 1107 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", 1108 | "dev": true 1109 | }, 1110 | "is-glob": { 1111 | "version": "2.0.1", 1112 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1113 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1114 | "dev": true, 1115 | "requires": { 1116 | "is-extglob": "1.0.0" 1117 | } 1118 | }, 1119 | "is-module": { 1120 | "version": "1.0.0", 1121 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 1122 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 1123 | "dev": true 1124 | }, 1125 | "is-number": { 1126 | "version": "2.1.0", 1127 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1128 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1129 | "dev": true, 1130 | "requires": { 1131 | "kind-of": "3.2.2" 1132 | } 1133 | }, 1134 | "is-plain-obj": { 1135 | "version": "1.1.0", 1136 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1137 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", 1138 | "dev": true 1139 | }, 1140 | "is-posix-bracket": { 1141 | "version": "0.1.1", 1142 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1143 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1144 | "dev": true 1145 | }, 1146 | "is-primitive": { 1147 | "version": "2.0.0", 1148 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1149 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1150 | "dev": true 1151 | }, 1152 | "is-regex": { 1153 | "version": "1.0.4", 1154 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1155 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1156 | "dev": true, 1157 | "requires": { 1158 | "has": "1.0.1" 1159 | } 1160 | }, 1161 | "is-svg": { 1162 | "version": "2.1.0", 1163 | "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", 1164 | "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", 1165 | "dev": true, 1166 | "requires": { 1167 | "html-comment-regex": "1.1.1" 1168 | } 1169 | }, 1170 | "is-symbol": { 1171 | "version": "1.0.1", 1172 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", 1173 | "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", 1174 | "dev": true 1175 | }, 1176 | "isarray": { 1177 | "version": "1.0.0", 1178 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1179 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1180 | "dev": true 1181 | }, 1182 | "isobject": { 1183 | "version": "2.1.0", 1184 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1185 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1186 | "dev": true, 1187 | "requires": { 1188 | "isarray": "1.0.0" 1189 | } 1190 | }, 1191 | "js-base64": { 1192 | "version": "2.4.3", 1193 | "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", 1194 | "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", 1195 | "dev": true 1196 | }, 1197 | "js-tokens": { 1198 | "version": "3.0.2", 1199 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1200 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1201 | "dev": true 1202 | }, 1203 | "js-yaml": { 1204 | "version": "3.7.0", 1205 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", 1206 | "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", 1207 | "dev": true, 1208 | "requires": { 1209 | "argparse": "1.0.10", 1210 | "esprima": "2.7.3" 1211 | } 1212 | }, 1213 | "jsesc": { 1214 | "version": "0.5.0", 1215 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1216 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1217 | "dev": true 1218 | }, 1219 | "json5": { 1220 | "version": "0.5.1", 1221 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 1222 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 1223 | "dev": true 1224 | }, 1225 | "jsonfile": { 1226 | "version": "4.0.0", 1227 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1228 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1229 | "dev": true, 1230 | "requires": { 1231 | "graceful-fs": "4.1.11" 1232 | } 1233 | }, 1234 | "kind-of": { 1235 | "version": "3.2.2", 1236 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1237 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1238 | "dev": true, 1239 | "requires": { 1240 | "is-buffer": "1.1.6" 1241 | } 1242 | }, 1243 | "loader-utils": { 1244 | "version": "0.2.17", 1245 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", 1246 | "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", 1247 | "dev": true, 1248 | "requires": { 1249 | "big.js": "3.2.0", 1250 | "emojis-list": "2.1.0", 1251 | "json5": "0.5.1", 1252 | "object-assign": "4.1.1" 1253 | } 1254 | }, 1255 | "lodash": { 1256 | "version": "4.17.5", 1257 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", 1258 | "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", 1259 | "dev": true 1260 | }, 1261 | "lodash-es": { 1262 | "version": "4.17.7", 1263 | "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.7.tgz", 1264 | "integrity": "sha512-jzqTi3vk4J5Dxq43cNjB0ekfCjPLHixoY2Sc0WHTo+0r928taLqe/VCt02vY5uQBvg0rdXgL3xWkK4X0MCmZcw==", 1265 | "dev": true 1266 | }, 1267 | "lodash.foreach": { 1268 | "version": "4.5.0", 1269 | "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", 1270 | "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", 1271 | "dev": true 1272 | }, 1273 | "lodash.memoize": { 1274 | "version": "4.1.2", 1275 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 1276 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", 1277 | "dev": true 1278 | }, 1279 | "lodash.sumby": { 1280 | "version": "4.6.0", 1281 | "resolved": "https://registry.npmjs.org/lodash.sumby/-/lodash.sumby-4.6.0.tgz", 1282 | "integrity": "sha1-fYdzfdshbaL35efNLdnEA6eIc0Y=", 1283 | "dev": true 1284 | }, 1285 | "lodash.uniq": { 1286 | "version": "4.5.0", 1287 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 1288 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 1289 | "dev": true 1290 | }, 1291 | "loose-envify": { 1292 | "version": "1.3.1", 1293 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 1294 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 1295 | "dev": true, 1296 | "requires": { 1297 | "js-tokens": "3.0.2" 1298 | } 1299 | }, 1300 | "macaddress": { 1301 | "version": "0.2.8", 1302 | "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", 1303 | "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", 1304 | "dev": true 1305 | }, 1306 | "magic-string": { 1307 | "version": "0.22.4", 1308 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", 1309 | "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", 1310 | "dev": true, 1311 | "requires": { 1312 | "vlq": "0.2.3" 1313 | } 1314 | }, 1315 | "math-expression-evaluator": { 1316 | "version": "1.2.17", 1317 | "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", 1318 | "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", 1319 | "dev": true 1320 | }, 1321 | "maxmin": { 1322 | "version": "2.1.0", 1323 | "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", 1324 | "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=", 1325 | "dev": true, 1326 | "requires": { 1327 | "chalk": "1.1.3", 1328 | "figures": "1.7.0", 1329 | "gzip-size": "3.0.0", 1330 | "pretty-bytes": "3.0.1" 1331 | }, 1332 | "dependencies": { 1333 | "ansi-styles": { 1334 | "version": "2.2.1", 1335 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1336 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1337 | "dev": true 1338 | }, 1339 | "chalk": { 1340 | "version": "1.1.3", 1341 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1342 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1343 | "dev": true, 1344 | "requires": { 1345 | "ansi-styles": "2.2.1", 1346 | "escape-string-regexp": "1.0.5", 1347 | "has-ansi": "2.0.0", 1348 | "strip-ansi": "3.0.1", 1349 | "supports-color": "2.0.0" 1350 | } 1351 | }, 1352 | "gzip-size": { 1353 | "version": "3.0.0", 1354 | "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", 1355 | "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", 1356 | "dev": true, 1357 | "requires": { 1358 | "duplexer": "0.1.1" 1359 | } 1360 | }, 1361 | "pretty-bytes": { 1362 | "version": "3.0.1", 1363 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", 1364 | "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", 1365 | "dev": true, 1366 | "requires": { 1367 | "number-is-nan": "1.0.1" 1368 | } 1369 | }, 1370 | "supports-color": { 1371 | "version": "2.0.0", 1372 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1373 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1374 | "dev": true 1375 | } 1376 | } 1377 | }, 1378 | "microbundle": { 1379 | "version": "0.4.4", 1380 | "resolved": "https://registry.npmjs.org/microbundle/-/microbundle-0.4.4.tgz", 1381 | "integrity": "sha512-pjOigeyzxelTbI3eY6vBWMwo+gZlluqEmLAbiTJFgZ0/IOLDJQC9fFSvHztkO0MdQ5ufaJTekBO2AnAq/XUtGA==", 1382 | "dev": true, 1383 | "requires": { 1384 | "acorn-jsx": "4.1.1", 1385 | "asyncro": "3.0.0", 1386 | "autoprefixer": "7.2.6", 1387 | "babel-polyfill": "6.26.0", 1388 | "camelcase": "4.1.0", 1389 | "chalk": "2.3.2", 1390 | "es6-promisify": "5.0.0", 1391 | "glob": "7.1.2", 1392 | "gzip-size": "4.1.0", 1393 | "pretty-bytes": "4.0.2", 1394 | "regenerator-runtime": "0.11.1", 1395 | "rollup": "0.55.5", 1396 | "rollup-plugin-buble": "0.18.0", 1397 | "rollup-plugin-bundle-size": "1.0.1", 1398 | "rollup-plugin-commonjs": "8.4.1", 1399 | "rollup-plugin-es3": "1.1.0", 1400 | "rollup-plugin-flow": "1.1.1", 1401 | "rollup-plugin-node-resolve": "3.2.0", 1402 | "rollup-plugin-nodent": "0.2.2", 1403 | "rollup-plugin-postcss": "1.3.3", 1404 | "rollup-plugin-preserve-shebang": "0.1.6", 1405 | "rollup-plugin-sizes": "0.4.2", 1406 | "rollup-plugin-strict-alias": "1.0.0", 1407 | "rollup-plugin-typescript2": "0.11.1", 1408 | "rollup-plugin-uglify": "3.0.0", 1409 | "sade": "1.4.0", 1410 | "tslib": "1.9.0", 1411 | "typescript": "2.7.2" 1412 | } 1413 | }, 1414 | "micromatch": { 1415 | "version": "2.3.11", 1416 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 1417 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1418 | "dev": true, 1419 | "requires": { 1420 | "arr-diff": "2.0.0", 1421 | "array-unique": "0.2.1", 1422 | "braces": "1.8.5", 1423 | "expand-brackets": "0.1.5", 1424 | "extglob": "0.3.2", 1425 | "filename-regex": "2.0.1", 1426 | "is-extglob": "1.0.0", 1427 | "is-glob": "2.0.1", 1428 | "kind-of": "3.2.2", 1429 | "normalize-path": "2.1.1", 1430 | "object.omit": "2.0.1", 1431 | "parse-glob": "3.0.4", 1432 | "regex-cache": "0.4.4" 1433 | } 1434 | }, 1435 | "minimatch": { 1436 | "version": "3.0.4", 1437 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1438 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1439 | "dev": true, 1440 | "requires": { 1441 | "brace-expansion": "1.1.11" 1442 | } 1443 | }, 1444 | "minimist": { 1445 | "version": "1.2.0", 1446 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1447 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1448 | "dev": true 1449 | }, 1450 | "mkdirp": { 1451 | "version": "0.5.1", 1452 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1453 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1454 | "dev": true, 1455 | "requires": { 1456 | "minimist": "0.0.8" 1457 | }, 1458 | "dependencies": { 1459 | "minimist": { 1460 | "version": "0.0.8", 1461 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1462 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1463 | "dev": true 1464 | } 1465 | } 1466 | }, 1467 | "module-details-from-path": { 1468 | "version": "1.0.3", 1469 | "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", 1470 | "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=", 1471 | "dev": true 1472 | }, 1473 | "mri": { 1474 | "version": "1.1.0", 1475 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz", 1476 | "integrity": "sha1-XAo/KcjM/7ux7JQdzsCdcfoy82o=", 1477 | "dev": true 1478 | }, 1479 | "nodent-compiler": { 1480 | "version": "3.1.7", 1481 | "resolved": "https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.1.7.tgz", 1482 | "integrity": "sha512-sUFRHCLj7h0eiRkf1NDROduaww+e6hkJCTRHMSwIIO50VHq3OsXa3fR5pPX5GoCMIATxS4fXj/jsM2y3us5BXg==", 1483 | "dev": true, 1484 | "requires": { 1485 | "acorn": "5.5.3", 1486 | "acorn-es7-plugin": "1.1.7", 1487 | "source-map": "0.5.7" 1488 | }, 1489 | "dependencies": { 1490 | "source-map": { 1491 | "version": "0.5.7", 1492 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1493 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1494 | "dev": true 1495 | } 1496 | } 1497 | }, 1498 | "normalize-path": { 1499 | "version": "2.1.1", 1500 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1501 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1502 | "dev": true, 1503 | "requires": { 1504 | "remove-trailing-separator": "1.1.0" 1505 | } 1506 | }, 1507 | "normalize-range": { 1508 | "version": "0.1.2", 1509 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1510 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 1511 | "dev": true 1512 | }, 1513 | "normalize-url": { 1514 | "version": "1.9.1", 1515 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", 1516 | "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", 1517 | "dev": true, 1518 | "requires": { 1519 | "object-assign": "4.1.1", 1520 | "prepend-http": "1.0.4", 1521 | "query-string": "4.3.4", 1522 | "sort-keys": "1.1.2" 1523 | } 1524 | }, 1525 | "num2fraction": { 1526 | "version": "1.2.2", 1527 | "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", 1528 | "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", 1529 | "dev": true 1530 | }, 1531 | "number-is-nan": { 1532 | "version": "1.0.1", 1533 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1534 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1535 | "dev": true 1536 | }, 1537 | "object-assign": { 1538 | "version": "4.1.1", 1539 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1540 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1541 | "dev": true 1542 | }, 1543 | "object-inspect": { 1544 | "version": "1.5.0", 1545 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.5.0.tgz", 1546 | "integrity": "sha512-UmOFbHbwvv+XHj7BerrhVq+knjceBdkvU5AriwLMvhv2qi+e7DJzxfBeFpILEjVzCp+xA+W/pIf06RGPWlZNfw==", 1547 | "dev": true 1548 | }, 1549 | "object-keys": { 1550 | "version": "1.0.11", 1551 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", 1552 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", 1553 | "dev": true 1554 | }, 1555 | "object.omit": { 1556 | "version": "2.0.1", 1557 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 1558 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 1559 | "dev": true, 1560 | "requires": { 1561 | "for-own": "0.1.5", 1562 | "is-extendable": "0.1.1" 1563 | } 1564 | }, 1565 | "once": { 1566 | "version": "1.4.0", 1567 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1568 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1569 | "dev": true, 1570 | "requires": { 1571 | "wrappy": "1.0.2" 1572 | } 1573 | }, 1574 | "os-homedir": { 1575 | "version": "1.0.2", 1576 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 1577 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 1578 | "dev": true 1579 | }, 1580 | "pad-right": { 1581 | "version": "0.2.2", 1582 | "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", 1583 | "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=", 1584 | "dev": true, 1585 | "requires": { 1586 | "repeat-string": "1.6.1" 1587 | } 1588 | }, 1589 | "parse-glob": { 1590 | "version": "3.0.4", 1591 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 1592 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 1593 | "dev": true, 1594 | "requires": { 1595 | "glob-base": "0.3.0", 1596 | "is-dotfile": "1.0.3", 1597 | "is-extglob": "1.0.0", 1598 | "is-glob": "2.0.1" 1599 | } 1600 | }, 1601 | "parse-json": { 1602 | "version": "2.2.0", 1603 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 1604 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 1605 | "dev": true, 1606 | "requires": { 1607 | "error-ex": "1.3.1" 1608 | } 1609 | }, 1610 | "path-is-absolute": { 1611 | "version": "1.0.1", 1612 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1613 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1614 | "dev": true 1615 | }, 1616 | "path-parse": { 1617 | "version": "1.0.5", 1618 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 1619 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 1620 | "dev": true 1621 | }, 1622 | "pify": { 1623 | "version": "3.0.0", 1624 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1625 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1626 | "dev": true 1627 | }, 1628 | "postcss": { 1629 | "version": "6.0.19", 1630 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", 1631 | "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", 1632 | "dev": true, 1633 | "requires": { 1634 | "chalk": "2.3.2", 1635 | "source-map": "0.6.1", 1636 | "supports-color": "5.3.0" 1637 | } 1638 | }, 1639 | "postcss-calc": { 1640 | "version": "5.3.1", 1641 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", 1642 | "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", 1643 | "dev": true, 1644 | "requires": { 1645 | "postcss": "5.2.18", 1646 | "postcss-message-helpers": "2.0.0", 1647 | "reduce-css-calc": "1.3.0" 1648 | }, 1649 | "dependencies": { 1650 | "ansi-styles": { 1651 | "version": "2.2.1", 1652 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1653 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1654 | "dev": true 1655 | }, 1656 | "chalk": { 1657 | "version": "1.1.3", 1658 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1659 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1660 | "dev": true, 1661 | "requires": { 1662 | "ansi-styles": "2.2.1", 1663 | "escape-string-regexp": "1.0.5", 1664 | "has-ansi": "2.0.0", 1665 | "strip-ansi": "3.0.1", 1666 | "supports-color": "2.0.0" 1667 | }, 1668 | "dependencies": { 1669 | "supports-color": { 1670 | "version": "2.0.0", 1671 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1672 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1673 | "dev": true 1674 | } 1675 | } 1676 | }, 1677 | "has-flag": { 1678 | "version": "1.0.0", 1679 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1680 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1681 | "dev": true 1682 | }, 1683 | "postcss": { 1684 | "version": "5.2.18", 1685 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1686 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1687 | "dev": true, 1688 | "requires": { 1689 | "chalk": "1.1.3", 1690 | "js-base64": "2.4.3", 1691 | "source-map": "0.5.7", 1692 | "supports-color": "3.2.3" 1693 | } 1694 | }, 1695 | "source-map": { 1696 | "version": "0.5.7", 1697 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1698 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1699 | "dev": true 1700 | }, 1701 | "supports-color": { 1702 | "version": "3.2.3", 1703 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1704 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1705 | "dev": true, 1706 | "requires": { 1707 | "has-flag": "1.0.0" 1708 | } 1709 | } 1710 | } 1711 | }, 1712 | "postcss-colormin": { 1713 | "version": "2.2.2", 1714 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", 1715 | "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", 1716 | "dev": true, 1717 | "requires": { 1718 | "colormin": "1.1.2", 1719 | "postcss": "5.2.18", 1720 | "postcss-value-parser": "3.3.0" 1721 | }, 1722 | "dependencies": { 1723 | "ansi-styles": { 1724 | "version": "2.2.1", 1725 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1726 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1727 | "dev": true 1728 | }, 1729 | "chalk": { 1730 | "version": "1.1.3", 1731 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1732 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1733 | "dev": true, 1734 | "requires": { 1735 | "ansi-styles": "2.2.1", 1736 | "escape-string-regexp": "1.0.5", 1737 | "has-ansi": "2.0.0", 1738 | "strip-ansi": "3.0.1", 1739 | "supports-color": "2.0.0" 1740 | }, 1741 | "dependencies": { 1742 | "supports-color": { 1743 | "version": "2.0.0", 1744 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1745 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1746 | "dev": true 1747 | } 1748 | } 1749 | }, 1750 | "has-flag": { 1751 | "version": "1.0.0", 1752 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1753 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1754 | "dev": true 1755 | }, 1756 | "postcss": { 1757 | "version": "5.2.18", 1758 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1759 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1760 | "dev": true, 1761 | "requires": { 1762 | "chalk": "1.1.3", 1763 | "js-base64": "2.4.3", 1764 | "source-map": "0.5.7", 1765 | "supports-color": "3.2.3" 1766 | } 1767 | }, 1768 | "source-map": { 1769 | "version": "0.5.7", 1770 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1771 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1772 | "dev": true 1773 | }, 1774 | "supports-color": { 1775 | "version": "3.2.3", 1776 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1777 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1778 | "dev": true, 1779 | "requires": { 1780 | "has-flag": "1.0.0" 1781 | } 1782 | } 1783 | } 1784 | }, 1785 | "postcss-convert-values": { 1786 | "version": "2.6.1", 1787 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", 1788 | "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", 1789 | "dev": true, 1790 | "requires": { 1791 | "postcss": "5.2.18", 1792 | "postcss-value-parser": "3.3.0" 1793 | }, 1794 | "dependencies": { 1795 | "ansi-styles": { 1796 | "version": "2.2.1", 1797 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1798 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1799 | "dev": true 1800 | }, 1801 | "chalk": { 1802 | "version": "1.1.3", 1803 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1804 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1805 | "dev": true, 1806 | "requires": { 1807 | "ansi-styles": "2.2.1", 1808 | "escape-string-regexp": "1.0.5", 1809 | "has-ansi": "2.0.0", 1810 | "strip-ansi": "3.0.1", 1811 | "supports-color": "2.0.0" 1812 | }, 1813 | "dependencies": { 1814 | "supports-color": { 1815 | "version": "2.0.0", 1816 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1817 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1818 | "dev": true 1819 | } 1820 | } 1821 | }, 1822 | "has-flag": { 1823 | "version": "1.0.0", 1824 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1825 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1826 | "dev": true 1827 | }, 1828 | "postcss": { 1829 | "version": "5.2.18", 1830 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1831 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1832 | "dev": true, 1833 | "requires": { 1834 | "chalk": "1.1.3", 1835 | "js-base64": "2.4.3", 1836 | "source-map": "0.5.7", 1837 | "supports-color": "3.2.3" 1838 | } 1839 | }, 1840 | "source-map": { 1841 | "version": "0.5.7", 1842 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1843 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1844 | "dev": true 1845 | }, 1846 | "supports-color": { 1847 | "version": "3.2.3", 1848 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1849 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1850 | "dev": true, 1851 | "requires": { 1852 | "has-flag": "1.0.0" 1853 | } 1854 | } 1855 | } 1856 | }, 1857 | "postcss-discard-comments": { 1858 | "version": "2.0.4", 1859 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", 1860 | "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", 1861 | "dev": true, 1862 | "requires": { 1863 | "postcss": "5.2.18" 1864 | }, 1865 | "dependencies": { 1866 | "ansi-styles": { 1867 | "version": "2.2.1", 1868 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1869 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1870 | "dev": true 1871 | }, 1872 | "chalk": { 1873 | "version": "1.1.3", 1874 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1875 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1876 | "dev": true, 1877 | "requires": { 1878 | "ansi-styles": "2.2.1", 1879 | "escape-string-regexp": "1.0.5", 1880 | "has-ansi": "2.0.0", 1881 | "strip-ansi": "3.0.1", 1882 | "supports-color": "2.0.0" 1883 | }, 1884 | "dependencies": { 1885 | "supports-color": { 1886 | "version": "2.0.0", 1887 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1888 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1889 | "dev": true 1890 | } 1891 | } 1892 | }, 1893 | "has-flag": { 1894 | "version": "1.0.0", 1895 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1896 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1897 | "dev": true 1898 | }, 1899 | "postcss": { 1900 | "version": "5.2.18", 1901 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1902 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1903 | "dev": true, 1904 | "requires": { 1905 | "chalk": "1.1.3", 1906 | "js-base64": "2.4.3", 1907 | "source-map": "0.5.7", 1908 | "supports-color": "3.2.3" 1909 | } 1910 | }, 1911 | "source-map": { 1912 | "version": "0.5.7", 1913 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1914 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1915 | "dev": true 1916 | }, 1917 | "supports-color": { 1918 | "version": "3.2.3", 1919 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1920 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1921 | "dev": true, 1922 | "requires": { 1923 | "has-flag": "1.0.0" 1924 | } 1925 | } 1926 | } 1927 | }, 1928 | "postcss-discard-duplicates": { 1929 | "version": "2.1.0", 1930 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", 1931 | "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", 1932 | "dev": true, 1933 | "requires": { 1934 | "postcss": "5.2.18" 1935 | }, 1936 | "dependencies": { 1937 | "ansi-styles": { 1938 | "version": "2.2.1", 1939 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1940 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1941 | "dev": true 1942 | }, 1943 | "chalk": { 1944 | "version": "1.1.3", 1945 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1946 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1947 | "dev": true, 1948 | "requires": { 1949 | "ansi-styles": "2.2.1", 1950 | "escape-string-regexp": "1.0.5", 1951 | "has-ansi": "2.0.0", 1952 | "strip-ansi": "3.0.1", 1953 | "supports-color": "2.0.0" 1954 | }, 1955 | "dependencies": { 1956 | "supports-color": { 1957 | "version": "2.0.0", 1958 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1959 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1960 | "dev": true 1961 | } 1962 | } 1963 | }, 1964 | "has-flag": { 1965 | "version": "1.0.0", 1966 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1967 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1968 | "dev": true 1969 | }, 1970 | "postcss": { 1971 | "version": "5.2.18", 1972 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1973 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1974 | "dev": true, 1975 | "requires": { 1976 | "chalk": "1.1.3", 1977 | "js-base64": "2.4.3", 1978 | "source-map": "0.5.7", 1979 | "supports-color": "3.2.3" 1980 | } 1981 | }, 1982 | "source-map": { 1983 | "version": "0.5.7", 1984 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1985 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1986 | "dev": true 1987 | }, 1988 | "supports-color": { 1989 | "version": "3.2.3", 1990 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1991 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1992 | "dev": true, 1993 | "requires": { 1994 | "has-flag": "1.0.0" 1995 | } 1996 | } 1997 | } 1998 | }, 1999 | "postcss-discard-empty": { 2000 | "version": "2.1.0", 2001 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", 2002 | "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", 2003 | "dev": true, 2004 | "requires": { 2005 | "postcss": "5.2.18" 2006 | }, 2007 | "dependencies": { 2008 | "ansi-styles": { 2009 | "version": "2.2.1", 2010 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2011 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2012 | "dev": true 2013 | }, 2014 | "chalk": { 2015 | "version": "1.1.3", 2016 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2017 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2018 | "dev": true, 2019 | "requires": { 2020 | "ansi-styles": "2.2.1", 2021 | "escape-string-regexp": "1.0.5", 2022 | "has-ansi": "2.0.0", 2023 | "strip-ansi": "3.0.1", 2024 | "supports-color": "2.0.0" 2025 | }, 2026 | "dependencies": { 2027 | "supports-color": { 2028 | "version": "2.0.0", 2029 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2030 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2031 | "dev": true 2032 | } 2033 | } 2034 | }, 2035 | "has-flag": { 2036 | "version": "1.0.0", 2037 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2038 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2039 | "dev": true 2040 | }, 2041 | "postcss": { 2042 | "version": "5.2.18", 2043 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2044 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2045 | "dev": true, 2046 | "requires": { 2047 | "chalk": "1.1.3", 2048 | "js-base64": "2.4.3", 2049 | "source-map": "0.5.7", 2050 | "supports-color": "3.2.3" 2051 | } 2052 | }, 2053 | "source-map": { 2054 | "version": "0.5.7", 2055 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2056 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2057 | "dev": true 2058 | }, 2059 | "supports-color": { 2060 | "version": "3.2.3", 2061 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2062 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2063 | "dev": true, 2064 | "requires": { 2065 | "has-flag": "1.0.0" 2066 | } 2067 | } 2068 | } 2069 | }, 2070 | "postcss-discard-overridden": { 2071 | "version": "0.1.1", 2072 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", 2073 | "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", 2074 | "dev": true, 2075 | "requires": { 2076 | "postcss": "5.2.18" 2077 | }, 2078 | "dependencies": { 2079 | "ansi-styles": { 2080 | "version": "2.2.1", 2081 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2082 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2083 | "dev": true 2084 | }, 2085 | "chalk": { 2086 | "version": "1.1.3", 2087 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2088 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2089 | "dev": true, 2090 | "requires": { 2091 | "ansi-styles": "2.2.1", 2092 | "escape-string-regexp": "1.0.5", 2093 | "has-ansi": "2.0.0", 2094 | "strip-ansi": "3.0.1", 2095 | "supports-color": "2.0.0" 2096 | }, 2097 | "dependencies": { 2098 | "supports-color": { 2099 | "version": "2.0.0", 2100 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2101 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2102 | "dev": true 2103 | } 2104 | } 2105 | }, 2106 | "has-flag": { 2107 | "version": "1.0.0", 2108 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2109 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2110 | "dev": true 2111 | }, 2112 | "postcss": { 2113 | "version": "5.2.18", 2114 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2115 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2116 | "dev": true, 2117 | "requires": { 2118 | "chalk": "1.1.3", 2119 | "js-base64": "2.4.3", 2120 | "source-map": "0.5.7", 2121 | "supports-color": "3.2.3" 2122 | } 2123 | }, 2124 | "source-map": { 2125 | "version": "0.5.7", 2126 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2127 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2128 | "dev": true 2129 | }, 2130 | "supports-color": { 2131 | "version": "3.2.3", 2132 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2133 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2134 | "dev": true, 2135 | "requires": { 2136 | "has-flag": "1.0.0" 2137 | } 2138 | } 2139 | } 2140 | }, 2141 | "postcss-discard-unused": { 2142 | "version": "2.2.3", 2143 | "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", 2144 | "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", 2145 | "dev": true, 2146 | "requires": { 2147 | "postcss": "5.2.18", 2148 | "uniqs": "2.0.0" 2149 | }, 2150 | "dependencies": { 2151 | "ansi-styles": { 2152 | "version": "2.2.1", 2153 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2154 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2155 | "dev": true 2156 | }, 2157 | "chalk": { 2158 | "version": "1.1.3", 2159 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2160 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2161 | "dev": true, 2162 | "requires": { 2163 | "ansi-styles": "2.2.1", 2164 | "escape-string-regexp": "1.0.5", 2165 | "has-ansi": "2.0.0", 2166 | "strip-ansi": "3.0.1", 2167 | "supports-color": "2.0.0" 2168 | }, 2169 | "dependencies": { 2170 | "supports-color": { 2171 | "version": "2.0.0", 2172 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2173 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2174 | "dev": true 2175 | } 2176 | } 2177 | }, 2178 | "has-flag": { 2179 | "version": "1.0.0", 2180 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2181 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2182 | "dev": true 2183 | }, 2184 | "postcss": { 2185 | "version": "5.2.18", 2186 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2187 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2188 | "dev": true, 2189 | "requires": { 2190 | "chalk": "1.1.3", 2191 | "js-base64": "2.4.3", 2192 | "source-map": "0.5.7", 2193 | "supports-color": "3.2.3" 2194 | } 2195 | }, 2196 | "source-map": { 2197 | "version": "0.5.7", 2198 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2199 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2200 | "dev": true 2201 | }, 2202 | "supports-color": { 2203 | "version": "3.2.3", 2204 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2205 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2206 | "dev": true, 2207 | "requires": { 2208 | "has-flag": "1.0.0" 2209 | } 2210 | } 2211 | } 2212 | }, 2213 | "postcss-filter-plugins": { 2214 | "version": "2.0.2", 2215 | "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", 2216 | "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", 2217 | "dev": true, 2218 | "requires": { 2219 | "postcss": "5.2.18", 2220 | "uniqid": "4.1.1" 2221 | }, 2222 | "dependencies": { 2223 | "ansi-styles": { 2224 | "version": "2.2.1", 2225 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2226 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2227 | "dev": true 2228 | }, 2229 | "chalk": { 2230 | "version": "1.1.3", 2231 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2232 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2233 | "dev": true, 2234 | "requires": { 2235 | "ansi-styles": "2.2.1", 2236 | "escape-string-regexp": "1.0.5", 2237 | "has-ansi": "2.0.0", 2238 | "strip-ansi": "3.0.1", 2239 | "supports-color": "2.0.0" 2240 | }, 2241 | "dependencies": { 2242 | "supports-color": { 2243 | "version": "2.0.0", 2244 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2245 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2246 | "dev": true 2247 | } 2248 | } 2249 | }, 2250 | "has-flag": { 2251 | "version": "1.0.0", 2252 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2253 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2254 | "dev": true 2255 | }, 2256 | "postcss": { 2257 | "version": "5.2.18", 2258 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2259 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2260 | "dev": true, 2261 | "requires": { 2262 | "chalk": "1.1.3", 2263 | "js-base64": "2.4.3", 2264 | "source-map": "0.5.7", 2265 | "supports-color": "3.2.3" 2266 | } 2267 | }, 2268 | "source-map": { 2269 | "version": "0.5.7", 2270 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2271 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2272 | "dev": true 2273 | }, 2274 | "supports-color": { 2275 | "version": "3.2.3", 2276 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2277 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2278 | "dev": true, 2279 | "requires": { 2280 | "has-flag": "1.0.0" 2281 | } 2282 | } 2283 | } 2284 | }, 2285 | "postcss-load-config": { 2286 | "version": "1.2.0", 2287 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", 2288 | "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", 2289 | "dev": true, 2290 | "requires": { 2291 | "cosmiconfig": "2.2.2", 2292 | "object-assign": "4.1.1", 2293 | "postcss-load-options": "1.2.0", 2294 | "postcss-load-plugins": "2.3.0" 2295 | } 2296 | }, 2297 | "postcss-load-options": { 2298 | "version": "1.2.0", 2299 | "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", 2300 | "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", 2301 | "dev": true, 2302 | "requires": { 2303 | "cosmiconfig": "2.2.2", 2304 | "object-assign": "4.1.1" 2305 | } 2306 | }, 2307 | "postcss-load-plugins": { 2308 | "version": "2.3.0", 2309 | "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", 2310 | "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", 2311 | "dev": true, 2312 | "requires": { 2313 | "cosmiconfig": "2.2.2", 2314 | "object-assign": "4.1.1" 2315 | } 2316 | }, 2317 | "postcss-merge-idents": { 2318 | "version": "2.1.7", 2319 | "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", 2320 | "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", 2321 | "dev": true, 2322 | "requires": { 2323 | "has": "1.0.1", 2324 | "postcss": "5.2.18", 2325 | "postcss-value-parser": "3.3.0" 2326 | }, 2327 | "dependencies": { 2328 | "ansi-styles": { 2329 | "version": "2.2.1", 2330 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2331 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2332 | "dev": true 2333 | }, 2334 | "chalk": { 2335 | "version": "1.1.3", 2336 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2337 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2338 | "dev": true, 2339 | "requires": { 2340 | "ansi-styles": "2.2.1", 2341 | "escape-string-regexp": "1.0.5", 2342 | "has-ansi": "2.0.0", 2343 | "strip-ansi": "3.0.1", 2344 | "supports-color": "2.0.0" 2345 | }, 2346 | "dependencies": { 2347 | "supports-color": { 2348 | "version": "2.0.0", 2349 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2350 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2351 | "dev": true 2352 | } 2353 | } 2354 | }, 2355 | "has-flag": { 2356 | "version": "1.0.0", 2357 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2358 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2359 | "dev": true 2360 | }, 2361 | "postcss": { 2362 | "version": "5.2.18", 2363 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2364 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2365 | "dev": true, 2366 | "requires": { 2367 | "chalk": "1.1.3", 2368 | "js-base64": "2.4.3", 2369 | "source-map": "0.5.7", 2370 | "supports-color": "3.2.3" 2371 | } 2372 | }, 2373 | "source-map": { 2374 | "version": "0.5.7", 2375 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2376 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2377 | "dev": true 2378 | }, 2379 | "supports-color": { 2380 | "version": "3.2.3", 2381 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2382 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2383 | "dev": true, 2384 | "requires": { 2385 | "has-flag": "1.0.0" 2386 | } 2387 | } 2388 | } 2389 | }, 2390 | "postcss-merge-longhand": { 2391 | "version": "2.0.2", 2392 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", 2393 | "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", 2394 | "dev": true, 2395 | "requires": { 2396 | "postcss": "5.2.18" 2397 | }, 2398 | "dependencies": { 2399 | "ansi-styles": { 2400 | "version": "2.2.1", 2401 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2402 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2403 | "dev": true 2404 | }, 2405 | "chalk": { 2406 | "version": "1.1.3", 2407 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2408 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2409 | "dev": true, 2410 | "requires": { 2411 | "ansi-styles": "2.2.1", 2412 | "escape-string-regexp": "1.0.5", 2413 | "has-ansi": "2.0.0", 2414 | "strip-ansi": "3.0.1", 2415 | "supports-color": "2.0.0" 2416 | }, 2417 | "dependencies": { 2418 | "supports-color": { 2419 | "version": "2.0.0", 2420 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2421 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2422 | "dev": true 2423 | } 2424 | } 2425 | }, 2426 | "has-flag": { 2427 | "version": "1.0.0", 2428 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2429 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2430 | "dev": true 2431 | }, 2432 | "postcss": { 2433 | "version": "5.2.18", 2434 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2435 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2436 | "dev": true, 2437 | "requires": { 2438 | "chalk": "1.1.3", 2439 | "js-base64": "2.4.3", 2440 | "source-map": "0.5.7", 2441 | "supports-color": "3.2.3" 2442 | } 2443 | }, 2444 | "source-map": { 2445 | "version": "0.5.7", 2446 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2447 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2448 | "dev": true 2449 | }, 2450 | "supports-color": { 2451 | "version": "3.2.3", 2452 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2453 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2454 | "dev": true, 2455 | "requires": { 2456 | "has-flag": "1.0.0" 2457 | } 2458 | } 2459 | } 2460 | }, 2461 | "postcss-merge-rules": { 2462 | "version": "2.1.2", 2463 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", 2464 | "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", 2465 | "dev": true, 2466 | "requires": { 2467 | "browserslist": "1.7.7", 2468 | "caniuse-api": "1.6.1", 2469 | "postcss": "5.2.18", 2470 | "postcss-selector-parser": "2.2.3", 2471 | "vendors": "1.0.1" 2472 | }, 2473 | "dependencies": { 2474 | "ansi-styles": { 2475 | "version": "2.2.1", 2476 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2477 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2478 | "dev": true 2479 | }, 2480 | "browserslist": { 2481 | "version": "1.7.7", 2482 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", 2483 | "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", 2484 | "dev": true, 2485 | "requires": { 2486 | "caniuse-db": "1.0.30000813", 2487 | "electron-to-chromium": "1.3.37" 2488 | } 2489 | }, 2490 | "chalk": { 2491 | "version": "1.1.3", 2492 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2493 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2494 | "dev": true, 2495 | "requires": { 2496 | "ansi-styles": "2.2.1", 2497 | "escape-string-regexp": "1.0.5", 2498 | "has-ansi": "2.0.0", 2499 | "strip-ansi": "3.0.1", 2500 | "supports-color": "2.0.0" 2501 | }, 2502 | "dependencies": { 2503 | "supports-color": { 2504 | "version": "2.0.0", 2505 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2506 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2507 | "dev": true 2508 | } 2509 | } 2510 | }, 2511 | "has-flag": { 2512 | "version": "1.0.0", 2513 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2514 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2515 | "dev": true 2516 | }, 2517 | "postcss": { 2518 | "version": "5.2.18", 2519 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2520 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2521 | "dev": true, 2522 | "requires": { 2523 | "chalk": "1.1.3", 2524 | "js-base64": "2.4.3", 2525 | "source-map": "0.5.7", 2526 | "supports-color": "3.2.3" 2527 | } 2528 | }, 2529 | "source-map": { 2530 | "version": "0.5.7", 2531 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2532 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2533 | "dev": true 2534 | }, 2535 | "supports-color": { 2536 | "version": "3.2.3", 2537 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2538 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2539 | "dev": true, 2540 | "requires": { 2541 | "has-flag": "1.0.0" 2542 | } 2543 | } 2544 | } 2545 | }, 2546 | "postcss-message-helpers": { 2547 | "version": "2.0.0", 2548 | "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", 2549 | "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", 2550 | "dev": true 2551 | }, 2552 | "postcss-minify-font-values": { 2553 | "version": "1.0.5", 2554 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", 2555 | "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", 2556 | "dev": true, 2557 | "requires": { 2558 | "object-assign": "4.1.1", 2559 | "postcss": "5.2.18", 2560 | "postcss-value-parser": "3.3.0" 2561 | }, 2562 | "dependencies": { 2563 | "ansi-styles": { 2564 | "version": "2.2.1", 2565 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2566 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2567 | "dev": true 2568 | }, 2569 | "chalk": { 2570 | "version": "1.1.3", 2571 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2572 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2573 | "dev": true, 2574 | "requires": { 2575 | "ansi-styles": "2.2.1", 2576 | "escape-string-regexp": "1.0.5", 2577 | "has-ansi": "2.0.0", 2578 | "strip-ansi": "3.0.1", 2579 | "supports-color": "2.0.0" 2580 | }, 2581 | "dependencies": { 2582 | "supports-color": { 2583 | "version": "2.0.0", 2584 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2585 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2586 | "dev": true 2587 | } 2588 | } 2589 | }, 2590 | "has-flag": { 2591 | "version": "1.0.0", 2592 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2593 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2594 | "dev": true 2595 | }, 2596 | "postcss": { 2597 | "version": "5.2.18", 2598 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2599 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2600 | "dev": true, 2601 | "requires": { 2602 | "chalk": "1.1.3", 2603 | "js-base64": "2.4.3", 2604 | "source-map": "0.5.7", 2605 | "supports-color": "3.2.3" 2606 | } 2607 | }, 2608 | "source-map": { 2609 | "version": "0.5.7", 2610 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2611 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2612 | "dev": true 2613 | }, 2614 | "supports-color": { 2615 | "version": "3.2.3", 2616 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2617 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2618 | "dev": true, 2619 | "requires": { 2620 | "has-flag": "1.0.0" 2621 | } 2622 | } 2623 | } 2624 | }, 2625 | "postcss-minify-gradients": { 2626 | "version": "1.0.5", 2627 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", 2628 | "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", 2629 | "dev": true, 2630 | "requires": { 2631 | "postcss": "5.2.18", 2632 | "postcss-value-parser": "3.3.0" 2633 | }, 2634 | "dependencies": { 2635 | "ansi-styles": { 2636 | "version": "2.2.1", 2637 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2638 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2639 | "dev": true 2640 | }, 2641 | "chalk": { 2642 | "version": "1.1.3", 2643 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2644 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2645 | "dev": true, 2646 | "requires": { 2647 | "ansi-styles": "2.2.1", 2648 | "escape-string-regexp": "1.0.5", 2649 | "has-ansi": "2.0.0", 2650 | "strip-ansi": "3.0.1", 2651 | "supports-color": "2.0.0" 2652 | }, 2653 | "dependencies": { 2654 | "supports-color": { 2655 | "version": "2.0.0", 2656 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2657 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2658 | "dev": true 2659 | } 2660 | } 2661 | }, 2662 | "has-flag": { 2663 | "version": "1.0.0", 2664 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2665 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2666 | "dev": true 2667 | }, 2668 | "postcss": { 2669 | "version": "5.2.18", 2670 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2671 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2672 | "dev": true, 2673 | "requires": { 2674 | "chalk": "1.1.3", 2675 | "js-base64": "2.4.3", 2676 | "source-map": "0.5.7", 2677 | "supports-color": "3.2.3" 2678 | } 2679 | }, 2680 | "source-map": { 2681 | "version": "0.5.7", 2682 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2683 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2684 | "dev": true 2685 | }, 2686 | "supports-color": { 2687 | "version": "3.2.3", 2688 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2689 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2690 | "dev": true, 2691 | "requires": { 2692 | "has-flag": "1.0.0" 2693 | } 2694 | } 2695 | } 2696 | }, 2697 | "postcss-minify-params": { 2698 | "version": "1.2.2", 2699 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", 2700 | "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", 2701 | "dev": true, 2702 | "requires": { 2703 | "alphanum-sort": "1.0.2", 2704 | "postcss": "5.2.18", 2705 | "postcss-value-parser": "3.3.0", 2706 | "uniqs": "2.0.0" 2707 | }, 2708 | "dependencies": { 2709 | "ansi-styles": { 2710 | "version": "2.2.1", 2711 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2712 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2713 | "dev": true 2714 | }, 2715 | "chalk": { 2716 | "version": "1.1.3", 2717 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2718 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2719 | "dev": true, 2720 | "requires": { 2721 | "ansi-styles": "2.2.1", 2722 | "escape-string-regexp": "1.0.5", 2723 | "has-ansi": "2.0.0", 2724 | "strip-ansi": "3.0.1", 2725 | "supports-color": "2.0.0" 2726 | }, 2727 | "dependencies": { 2728 | "supports-color": { 2729 | "version": "2.0.0", 2730 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2731 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2732 | "dev": true 2733 | } 2734 | } 2735 | }, 2736 | "has-flag": { 2737 | "version": "1.0.0", 2738 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2739 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2740 | "dev": true 2741 | }, 2742 | "postcss": { 2743 | "version": "5.2.18", 2744 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2745 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2746 | "dev": true, 2747 | "requires": { 2748 | "chalk": "1.1.3", 2749 | "js-base64": "2.4.3", 2750 | "source-map": "0.5.7", 2751 | "supports-color": "3.2.3" 2752 | } 2753 | }, 2754 | "source-map": { 2755 | "version": "0.5.7", 2756 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2757 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2758 | "dev": true 2759 | }, 2760 | "supports-color": { 2761 | "version": "3.2.3", 2762 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2763 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2764 | "dev": true, 2765 | "requires": { 2766 | "has-flag": "1.0.0" 2767 | } 2768 | } 2769 | } 2770 | }, 2771 | "postcss-minify-selectors": { 2772 | "version": "2.1.1", 2773 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", 2774 | "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", 2775 | "dev": true, 2776 | "requires": { 2777 | "alphanum-sort": "1.0.2", 2778 | "has": "1.0.1", 2779 | "postcss": "5.2.18", 2780 | "postcss-selector-parser": "2.2.3" 2781 | }, 2782 | "dependencies": { 2783 | "ansi-styles": { 2784 | "version": "2.2.1", 2785 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2786 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2787 | "dev": true 2788 | }, 2789 | "chalk": { 2790 | "version": "1.1.3", 2791 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2792 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2793 | "dev": true, 2794 | "requires": { 2795 | "ansi-styles": "2.2.1", 2796 | "escape-string-regexp": "1.0.5", 2797 | "has-ansi": "2.0.0", 2798 | "strip-ansi": "3.0.1", 2799 | "supports-color": "2.0.0" 2800 | }, 2801 | "dependencies": { 2802 | "supports-color": { 2803 | "version": "2.0.0", 2804 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2805 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2806 | "dev": true 2807 | } 2808 | } 2809 | }, 2810 | "has-flag": { 2811 | "version": "1.0.0", 2812 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2813 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2814 | "dev": true 2815 | }, 2816 | "postcss": { 2817 | "version": "5.2.18", 2818 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2819 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2820 | "dev": true, 2821 | "requires": { 2822 | "chalk": "1.1.3", 2823 | "js-base64": "2.4.3", 2824 | "source-map": "0.5.7", 2825 | "supports-color": "3.2.3" 2826 | } 2827 | }, 2828 | "source-map": { 2829 | "version": "0.5.7", 2830 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2831 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2832 | "dev": true 2833 | }, 2834 | "supports-color": { 2835 | "version": "3.2.3", 2836 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2837 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2838 | "dev": true, 2839 | "requires": { 2840 | "has-flag": "1.0.0" 2841 | } 2842 | } 2843 | } 2844 | }, 2845 | "postcss-modules": { 2846 | "version": "1.1.0", 2847 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-1.1.0.tgz", 2848 | "integrity": "sha512-aCsAgyllAsHfzEJI+gIRu03k3hD2/mOqQ5cZKRNbz7V0YeBkoVmmkNaXRm4rMUc1grbBGlNs0EGw0I7tyxi0QQ==", 2849 | "dev": true, 2850 | "requires": { 2851 | "css-modules-loader-core": "1.1.0", 2852 | "generic-names": "1.0.3", 2853 | "postcss": "6.0.19", 2854 | "string-hash": "1.1.3" 2855 | } 2856 | }, 2857 | "postcss-modules-extract-imports": { 2858 | "version": "1.1.0", 2859 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", 2860 | "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", 2861 | "dev": true, 2862 | "requires": { 2863 | "postcss": "6.0.19" 2864 | } 2865 | }, 2866 | "postcss-modules-local-by-default": { 2867 | "version": "1.2.0", 2868 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", 2869 | "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", 2870 | "dev": true, 2871 | "requires": { 2872 | "css-selector-tokenizer": "0.7.0", 2873 | "postcss": "6.0.19" 2874 | } 2875 | }, 2876 | "postcss-modules-scope": { 2877 | "version": "1.1.0", 2878 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", 2879 | "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", 2880 | "dev": true, 2881 | "requires": { 2882 | "css-selector-tokenizer": "0.7.0", 2883 | "postcss": "6.0.19" 2884 | } 2885 | }, 2886 | "postcss-modules-values": { 2887 | "version": "1.3.0", 2888 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", 2889 | "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", 2890 | "dev": true, 2891 | "requires": { 2892 | "icss-replace-symbols": "1.1.0", 2893 | "postcss": "6.0.19" 2894 | } 2895 | }, 2896 | "postcss-normalize-charset": { 2897 | "version": "1.1.1", 2898 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", 2899 | "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", 2900 | "dev": true, 2901 | "requires": { 2902 | "postcss": "5.2.18" 2903 | }, 2904 | "dependencies": { 2905 | "ansi-styles": { 2906 | "version": "2.2.1", 2907 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2908 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2909 | "dev": true 2910 | }, 2911 | "chalk": { 2912 | "version": "1.1.3", 2913 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2914 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2915 | "dev": true, 2916 | "requires": { 2917 | "ansi-styles": "2.2.1", 2918 | "escape-string-regexp": "1.0.5", 2919 | "has-ansi": "2.0.0", 2920 | "strip-ansi": "3.0.1", 2921 | "supports-color": "2.0.0" 2922 | }, 2923 | "dependencies": { 2924 | "supports-color": { 2925 | "version": "2.0.0", 2926 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2927 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2928 | "dev": true 2929 | } 2930 | } 2931 | }, 2932 | "has-flag": { 2933 | "version": "1.0.0", 2934 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 2935 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 2936 | "dev": true 2937 | }, 2938 | "postcss": { 2939 | "version": "5.2.18", 2940 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 2941 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 2942 | "dev": true, 2943 | "requires": { 2944 | "chalk": "1.1.3", 2945 | "js-base64": "2.4.3", 2946 | "source-map": "0.5.7", 2947 | "supports-color": "3.2.3" 2948 | } 2949 | }, 2950 | "source-map": { 2951 | "version": "0.5.7", 2952 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2953 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2954 | "dev": true 2955 | }, 2956 | "supports-color": { 2957 | "version": "3.2.3", 2958 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 2959 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 2960 | "dev": true, 2961 | "requires": { 2962 | "has-flag": "1.0.0" 2963 | } 2964 | } 2965 | } 2966 | }, 2967 | "postcss-normalize-url": { 2968 | "version": "3.0.8", 2969 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", 2970 | "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", 2971 | "dev": true, 2972 | "requires": { 2973 | "is-absolute-url": "2.1.0", 2974 | "normalize-url": "1.9.1", 2975 | "postcss": "5.2.18", 2976 | "postcss-value-parser": "3.3.0" 2977 | }, 2978 | "dependencies": { 2979 | "ansi-styles": { 2980 | "version": "2.2.1", 2981 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2982 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 2983 | "dev": true 2984 | }, 2985 | "chalk": { 2986 | "version": "1.1.3", 2987 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2988 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2989 | "dev": true, 2990 | "requires": { 2991 | "ansi-styles": "2.2.1", 2992 | "escape-string-regexp": "1.0.5", 2993 | "has-ansi": "2.0.0", 2994 | "strip-ansi": "3.0.1", 2995 | "supports-color": "2.0.0" 2996 | }, 2997 | "dependencies": { 2998 | "supports-color": { 2999 | "version": "2.0.0", 3000 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3001 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3002 | "dev": true 3003 | } 3004 | } 3005 | }, 3006 | "has-flag": { 3007 | "version": "1.0.0", 3008 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3009 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3010 | "dev": true 3011 | }, 3012 | "postcss": { 3013 | "version": "5.2.18", 3014 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3015 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3016 | "dev": true, 3017 | "requires": { 3018 | "chalk": "1.1.3", 3019 | "js-base64": "2.4.3", 3020 | "source-map": "0.5.7", 3021 | "supports-color": "3.2.3" 3022 | } 3023 | }, 3024 | "source-map": { 3025 | "version": "0.5.7", 3026 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3027 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3028 | "dev": true 3029 | }, 3030 | "supports-color": { 3031 | "version": "3.2.3", 3032 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3033 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3034 | "dev": true, 3035 | "requires": { 3036 | "has-flag": "1.0.0" 3037 | } 3038 | } 3039 | } 3040 | }, 3041 | "postcss-ordered-values": { 3042 | "version": "2.2.3", 3043 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", 3044 | "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", 3045 | "dev": true, 3046 | "requires": { 3047 | "postcss": "5.2.18", 3048 | "postcss-value-parser": "3.3.0" 3049 | }, 3050 | "dependencies": { 3051 | "ansi-styles": { 3052 | "version": "2.2.1", 3053 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3054 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3055 | "dev": true 3056 | }, 3057 | "chalk": { 3058 | "version": "1.1.3", 3059 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3060 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3061 | "dev": true, 3062 | "requires": { 3063 | "ansi-styles": "2.2.1", 3064 | "escape-string-regexp": "1.0.5", 3065 | "has-ansi": "2.0.0", 3066 | "strip-ansi": "3.0.1", 3067 | "supports-color": "2.0.0" 3068 | }, 3069 | "dependencies": { 3070 | "supports-color": { 3071 | "version": "2.0.0", 3072 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3073 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3074 | "dev": true 3075 | } 3076 | } 3077 | }, 3078 | "has-flag": { 3079 | "version": "1.0.0", 3080 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3081 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3082 | "dev": true 3083 | }, 3084 | "postcss": { 3085 | "version": "5.2.18", 3086 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3087 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3088 | "dev": true, 3089 | "requires": { 3090 | "chalk": "1.1.3", 3091 | "js-base64": "2.4.3", 3092 | "source-map": "0.5.7", 3093 | "supports-color": "3.2.3" 3094 | } 3095 | }, 3096 | "source-map": { 3097 | "version": "0.5.7", 3098 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3099 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3100 | "dev": true 3101 | }, 3102 | "supports-color": { 3103 | "version": "3.2.3", 3104 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3105 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3106 | "dev": true, 3107 | "requires": { 3108 | "has-flag": "1.0.0" 3109 | } 3110 | } 3111 | } 3112 | }, 3113 | "postcss-reduce-idents": { 3114 | "version": "2.4.0", 3115 | "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", 3116 | "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", 3117 | "dev": true, 3118 | "requires": { 3119 | "postcss": "5.2.18", 3120 | "postcss-value-parser": "3.3.0" 3121 | }, 3122 | "dependencies": { 3123 | "ansi-styles": { 3124 | "version": "2.2.1", 3125 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3126 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3127 | "dev": true 3128 | }, 3129 | "chalk": { 3130 | "version": "1.1.3", 3131 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3132 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3133 | "dev": true, 3134 | "requires": { 3135 | "ansi-styles": "2.2.1", 3136 | "escape-string-regexp": "1.0.5", 3137 | "has-ansi": "2.0.0", 3138 | "strip-ansi": "3.0.1", 3139 | "supports-color": "2.0.0" 3140 | }, 3141 | "dependencies": { 3142 | "supports-color": { 3143 | "version": "2.0.0", 3144 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3145 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3146 | "dev": true 3147 | } 3148 | } 3149 | }, 3150 | "has-flag": { 3151 | "version": "1.0.0", 3152 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3153 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3154 | "dev": true 3155 | }, 3156 | "postcss": { 3157 | "version": "5.2.18", 3158 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3159 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3160 | "dev": true, 3161 | "requires": { 3162 | "chalk": "1.1.3", 3163 | "js-base64": "2.4.3", 3164 | "source-map": "0.5.7", 3165 | "supports-color": "3.2.3" 3166 | } 3167 | }, 3168 | "source-map": { 3169 | "version": "0.5.7", 3170 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3171 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3172 | "dev": true 3173 | }, 3174 | "supports-color": { 3175 | "version": "3.2.3", 3176 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3177 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3178 | "dev": true, 3179 | "requires": { 3180 | "has-flag": "1.0.0" 3181 | } 3182 | } 3183 | } 3184 | }, 3185 | "postcss-reduce-initial": { 3186 | "version": "1.0.1", 3187 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", 3188 | "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", 3189 | "dev": true, 3190 | "requires": { 3191 | "postcss": "5.2.18" 3192 | }, 3193 | "dependencies": { 3194 | "ansi-styles": { 3195 | "version": "2.2.1", 3196 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3197 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3198 | "dev": true 3199 | }, 3200 | "chalk": { 3201 | "version": "1.1.3", 3202 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3203 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3204 | "dev": true, 3205 | "requires": { 3206 | "ansi-styles": "2.2.1", 3207 | "escape-string-regexp": "1.0.5", 3208 | "has-ansi": "2.0.0", 3209 | "strip-ansi": "3.0.1", 3210 | "supports-color": "2.0.0" 3211 | }, 3212 | "dependencies": { 3213 | "supports-color": { 3214 | "version": "2.0.0", 3215 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3216 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3217 | "dev": true 3218 | } 3219 | } 3220 | }, 3221 | "has-flag": { 3222 | "version": "1.0.0", 3223 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3224 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3225 | "dev": true 3226 | }, 3227 | "postcss": { 3228 | "version": "5.2.18", 3229 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3230 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3231 | "dev": true, 3232 | "requires": { 3233 | "chalk": "1.1.3", 3234 | "js-base64": "2.4.3", 3235 | "source-map": "0.5.7", 3236 | "supports-color": "3.2.3" 3237 | } 3238 | }, 3239 | "source-map": { 3240 | "version": "0.5.7", 3241 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3242 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3243 | "dev": true 3244 | }, 3245 | "supports-color": { 3246 | "version": "3.2.3", 3247 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3248 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3249 | "dev": true, 3250 | "requires": { 3251 | "has-flag": "1.0.0" 3252 | } 3253 | } 3254 | } 3255 | }, 3256 | "postcss-reduce-transforms": { 3257 | "version": "1.0.4", 3258 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", 3259 | "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", 3260 | "dev": true, 3261 | "requires": { 3262 | "has": "1.0.1", 3263 | "postcss": "5.2.18", 3264 | "postcss-value-parser": "3.3.0" 3265 | }, 3266 | "dependencies": { 3267 | "ansi-styles": { 3268 | "version": "2.2.1", 3269 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3270 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3271 | "dev": true 3272 | }, 3273 | "chalk": { 3274 | "version": "1.1.3", 3275 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3276 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3277 | "dev": true, 3278 | "requires": { 3279 | "ansi-styles": "2.2.1", 3280 | "escape-string-regexp": "1.0.5", 3281 | "has-ansi": "2.0.0", 3282 | "strip-ansi": "3.0.1", 3283 | "supports-color": "2.0.0" 3284 | }, 3285 | "dependencies": { 3286 | "supports-color": { 3287 | "version": "2.0.0", 3288 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3289 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3290 | "dev": true 3291 | } 3292 | } 3293 | }, 3294 | "has-flag": { 3295 | "version": "1.0.0", 3296 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3297 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3298 | "dev": true 3299 | }, 3300 | "postcss": { 3301 | "version": "5.2.18", 3302 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3303 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3304 | "dev": true, 3305 | "requires": { 3306 | "chalk": "1.1.3", 3307 | "js-base64": "2.4.3", 3308 | "source-map": "0.5.7", 3309 | "supports-color": "3.2.3" 3310 | } 3311 | }, 3312 | "source-map": { 3313 | "version": "0.5.7", 3314 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3315 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3316 | "dev": true 3317 | }, 3318 | "supports-color": { 3319 | "version": "3.2.3", 3320 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3321 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3322 | "dev": true, 3323 | "requires": { 3324 | "has-flag": "1.0.0" 3325 | } 3326 | } 3327 | } 3328 | }, 3329 | "postcss-selector-parser": { 3330 | "version": "2.2.3", 3331 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", 3332 | "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", 3333 | "dev": true, 3334 | "requires": { 3335 | "flatten": "1.0.2", 3336 | "indexes-of": "1.0.1", 3337 | "uniq": "1.0.1" 3338 | } 3339 | }, 3340 | "postcss-svgo": { 3341 | "version": "2.1.6", 3342 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", 3343 | "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", 3344 | "dev": true, 3345 | "requires": { 3346 | "is-svg": "2.1.0", 3347 | "postcss": "5.2.18", 3348 | "postcss-value-parser": "3.3.0", 3349 | "svgo": "0.7.2" 3350 | }, 3351 | "dependencies": { 3352 | "ansi-styles": { 3353 | "version": "2.2.1", 3354 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3355 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3356 | "dev": true 3357 | }, 3358 | "chalk": { 3359 | "version": "1.1.3", 3360 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3361 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3362 | "dev": true, 3363 | "requires": { 3364 | "ansi-styles": "2.2.1", 3365 | "escape-string-regexp": "1.0.5", 3366 | "has-ansi": "2.0.0", 3367 | "strip-ansi": "3.0.1", 3368 | "supports-color": "2.0.0" 3369 | }, 3370 | "dependencies": { 3371 | "supports-color": { 3372 | "version": "2.0.0", 3373 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3374 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3375 | "dev": true 3376 | } 3377 | } 3378 | }, 3379 | "has-flag": { 3380 | "version": "1.0.0", 3381 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3382 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3383 | "dev": true 3384 | }, 3385 | "postcss": { 3386 | "version": "5.2.18", 3387 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3388 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3389 | "dev": true, 3390 | "requires": { 3391 | "chalk": "1.1.3", 3392 | "js-base64": "2.4.3", 3393 | "source-map": "0.5.7", 3394 | "supports-color": "3.2.3" 3395 | } 3396 | }, 3397 | "source-map": { 3398 | "version": "0.5.7", 3399 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3400 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3401 | "dev": true 3402 | }, 3403 | "supports-color": { 3404 | "version": "3.2.3", 3405 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3406 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3407 | "dev": true, 3408 | "requires": { 3409 | "has-flag": "1.0.0" 3410 | } 3411 | } 3412 | } 3413 | }, 3414 | "postcss-unique-selectors": { 3415 | "version": "2.0.2", 3416 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", 3417 | "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", 3418 | "dev": true, 3419 | "requires": { 3420 | "alphanum-sort": "1.0.2", 3421 | "postcss": "5.2.18", 3422 | "uniqs": "2.0.0" 3423 | }, 3424 | "dependencies": { 3425 | "ansi-styles": { 3426 | "version": "2.2.1", 3427 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3428 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3429 | "dev": true 3430 | }, 3431 | "chalk": { 3432 | "version": "1.1.3", 3433 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3434 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3435 | "dev": true, 3436 | "requires": { 3437 | "ansi-styles": "2.2.1", 3438 | "escape-string-regexp": "1.0.5", 3439 | "has-ansi": "2.0.0", 3440 | "strip-ansi": "3.0.1", 3441 | "supports-color": "2.0.0" 3442 | }, 3443 | "dependencies": { 3444 | "supports-color": { 3445 | "version": "2.0.0", 3446 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3447 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3448 | "dev": true 3449 | } 3450 | } 3451 | }, 3452 | "has-flag": { 3453 | "version": "1.0.0", 3454 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3455 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3456 | "dev": true 3457 | }, 3458 | "postcss": { 3459 | "version": "5.2.18", 3460 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3461 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3462 | "dev": true, 3463 | "requires": { 3464 | "chalk": "1.1.3", 3465 | "js-base64": "2.4.3", 3466 | "source-map": "0.5.7", 3467 | "supports-color": "3.2.3" 3468 | } 3469 | }, 3470 | "source-map": { 3471 | "version": "0.5.7", 3472 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3473 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3474 | "dev": true 3475 | }, 3476 | "supports-color": { 3477 | "version": "3.2.3", 3478 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3479 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3480 | "dev": true, 3481 | "requires": { 3482 | "has-flag": "1.0.0" 3483 | } 3484 | } 3485 | } 3486 | }, 3487 | "postcss-value-parser": { 3488 | "version": "3.3.0", 3489 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", 3490 | "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", 3491 | "dev": true 3492 | }, 3493 | "postcss-zindex": { 3494 | "version": "2.2.0", 3495 | "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", 3496 | "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", 3497 | "dev": true, 3498 | "requires": { 3499 | "has": "1.0.1", 3500 | "postcss": "5.2.18", 3501 | "uniqs": "2.0.0" 3502 | }, 3503 | "dependencies": { 3504 | "ansi-styles": { 3505 | "version": "2.2.1", 3506 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3507 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3508 | "dev": true 3509 | }, 3510 | "chalk": { 3511 | "version": "1.1.3", 3512 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3513 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3514 | "dev": true, 3515 | "requires": { 3516 | "ansi-styles": "2.2.1", 3517 | "escape-string-regexp": "1.0.5", 3518 | "has-ansi": "2.0.0", 3519 | "strip-ansi": "3.0.1", 3520 | "supports-color": "2.0.0" 3521 | }, 3522 | "dependencies": { 3523 | "supports-color": { 3524 | "version": "2.0.0", 3525 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3526 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3527 | "dev": true 3528 | } 3529 | } 3530 | }, 3531 | "has-flag": { 3532 | "version": "1.0.0", 3533 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3534 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3535 | "dev": true 3536 | }, 3537 | "postcss": { 3538 | "version": "5.2.18", 3539 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 3540 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 3541 | "dev": true, 3542 | "requires": { 3543 | "chalk": "1.1.3", 3544 | "js-base64": "2.4.3", 3545 | "source-map": "0.5.7", 3546 | "supports-color": "3.2.3" 3547 | } 3548 | }, 3549 | "source-map": { 3550 | "version": "0.5.7", 3551 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3552 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3553 | "dev": true 3554 | }, 3555 | "supports-color": { 3556 | "version": "3.2.3", 3557 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3558 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3559 | "dev": true, 3560 | "requires": { 3561 | "has-flag": "1.0.0" 3562 | } 3563 | } 3564 | } 3565 | }, 3566 | "prepend-http": { 3567 | "version": "1.0.4", 3568 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 3569 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", 3570 | "dev": true 3571 | }, 3572 | "preserve": { 3573 | "version": "0.2.0", 3574 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 3575 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 3576 | "dev": true 3577 | }, 3578 | "pretty-bytes": { 3579 | "version": "4.0.2", 3580 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", 3581 | "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", 3582 | "dev": true 3583 | }, 3584 | "promise.series": { 3585 | "version": "0.2.0", 3586 | "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz", 3587 | "integrity": "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=", 3588 | "dev": true 3589 | }, 3590 | "q": { 3591 | "version": "1.5.1", 3592 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", 3593 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", 3594 | "dev": true 3595 | }, 3596 | "query-string": { 3597 | "version": "4.3.4", 3598 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", 3599 | "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", 3600 | "dev": true, 3601 | "requires": { 3602 | "object-assign": "4.1.1", 3603 | "strict-uri-encode": "1.1.0" 3604 | } 3605 | }, 3606 | "randomatic": { 3607 | "version": "1.1.7", 3608 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", 3609 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", 3610 | "dev": true, 3611 | "requires": { 3612 | "is-number": "3.0.0", 3613 | "kind-of": "4.0.0" 3614 | }, 3615 | "dependencies": { 3616 | "is-number": { 3617 | "version": "3.0.0", 3618 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3619 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3620 | "dev": true, 3621 | "requires": { 3622 | "kind-of": "3.2.2" 3623 | }, 3624 | "dependencies": { 3625 | "kind-of": { 3626 | "version": "3.2.2", 3627 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3628 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3629 | "dev": true, 3630 | "requires": { 3631 | "is-buffer": "1.1.6" 3632 | } 3633 | } 3634 | } 3635 | }, 3636 | "kind-of": { 3637 | "version": "4.0.0", 3638 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 3639 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 3640 | "dev": true, 3641 | "requires": { 3642 | "is-buffer": "1.1.6" 3643 | } 3644 | } 3645 | } 3646 | }, 3647 | "reduce-css-calc": { 3648 | "version": "1.3.0", 3649 | "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", 3650 | "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", 3651 | "dev": true, 3652 | "requires": { 3653 | "balanced-match": "0.4.2", 3654 | "math-expression-evaluator": "1.2.17", 3655 | "reduce-function-call": "1.0.2" 3656 | }, 3657 | "dependencies": { 3658 | "balanced-match": { 3659 | "version": "0.4.2", 3660 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", 3661 | "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", 3662 | "dev": true 3663 | } 3664 | } 3665 | }, 3666 | "reduce-function-call": { 3667 | "version": "1.0.2", 3668 | "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", 3669 | "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", 3670 | "dev": true, 3671 | "requires": { 3672 | "balanced-match": "0.4.2" 3673 | }, 3674 | "dependencies": { 3675 | "balanced-match": { 3676 | "version": "0.4.2", 3677 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", 3678 | "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", 3679 | "dev": true 3680 | } 3681 | } 3682 | }, 3683 | "redux": { 3684 | "version": "3.7.2", 3685 | "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", 3686 | "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", 3687 | "dev": true, 3688 | "requires": { 3689 | "lodash": "4.17.5", 3690 | "lodash-es": "4.17.7", 3691 | "loose-envify": "1.3.1", 3692 | "symbol-observable": "1.2.0" 3693 | } 3694 | }, 3695 | "regenerate": { 3696 | "version": "1.3.3", 3697 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", 3698 | "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", 3699 | "dev": true 3700 | }, 3701 | "regenerator-runtime": { 3702 | "version": "0.11.1", 3703 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 3704 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", 3705 | "dev": true 3706 | }, 3707 | "regex-cache": { 3708 | "version": "0.4.4", 3709 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 3710 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 3711 | "dev": true, 3712 | "requires": { 3713 | "is-equal-shallow": "0.1.3" 3714 | } 3715 | }, 3716 | "regexpu-core": { 3717 | "version": "1.0.0", 3718 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", 3719 | "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", 3720 | "dev": true, 3721 | "requires": { 3722 | "regenerate": "1.3.3", 3723 | "regjsgen": "0.2.0", 3724 | "regjsparser": "0.1.5" 3725 | } 3726 | }, 3727 | "regjsgen": { 3728 | "version": "0.2.0", 3729 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 3730 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 3731 | "dev": true 3732 | }, 3733 | "regjsparser": { 3734 | "version": "0.1.5", 3735 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 3736 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 3737 | "dev": true, 3738 | "requires": { 3739 | "jsesc": "0.5.0" 3740 | } 3741 | }, 3742 | "remove-trailing-separator": { 3743 | "version": "1.1.0", 3744 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 3745 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 3746 | "dev": true 3747 | }, 3748 | "repeat-element": { 3749 | "version": "1.1.2", 3750 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 3751 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 3752 | "dev": true 3753 | }, 3754 | "repeat-string": { 3755 | "version": "1.6.1", 3756 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3757 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 3758 | "dev": true 3759 | }, 3760 | "require-from-string": { 3761 | "version": "1.2.1", 3762 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", 3763 | "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", 3764 | "dev": true 3765 | }, 3766 | "reserved-words": { 3767 | "version": "0.1.2", 3768 | "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", 3769 | "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", 3770 | "dev": true 3771 | }, 3772 | "resolve": { 3773 | "version": "1.5.0", 3774 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", 3775 | "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", 3776 | "dev": true, 3777 | "requires": { 3778 | "path-parse": "1.0.5" 3779 | } 3780 | }, 3781 | "resumer": { 3782 | "version": "0.0.0", 3783 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", 3784 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", 3785 | "dev": true, 3786 | "requires": { 3787 | "through": "2.3.8" 3788 | } 3789 | }, 3790 | "rollup": { 3791 | "version": "0.55.5", 3792 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.55.5.tgz", 3793 | "integrity": "sha512-2hke9NOy332kxvnmMQOgl7DHm94zihNyYJNd8ZLWo4U0EjFvjUkeWa0+ge+70bTg+mY0xJ7NUsf5kIhDtrGrtA==", 3794 | "dev": true 3795 | }, 3796 | "rollup-plugin-buble": { 3797 | "version": "0.18.0", 3798 | "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.18.0.tgz", 3799 | "integrity": "sha512-rd3JG2MxvQXfg5coCw0IyZV8QrsceVI4zfJgGVgkUnntwp+gnjv7TsKWGKGoLNMGAMRKQlhcsSyvUuvOL+vNHw==", 3800 | "dev": true, 3801 | "requires": { 3802 | "buble": "0.18.0", 3803 | "rollup-pluginutils": "2.0.1" 3804 | } 3805 | }, 3806 | "rollup-plugin-bundle-size": { 3807 | "version": "1.0.1", 3808 | "resolved": "https://registry.npmjs.org/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.1.tgz", 3809 | "integrity": "sha1-QNgFoMu8xnpd2TNpEtMFnG19CUs=", 3810 | "dev": true, 3811 | "requires": { 3812 | "chalk": "1.1.3", 3813 | "maxmin": "2.1.0" 3814 | }, 3815 | "dependencies": { 3816 | "ansi-styles": { 3817 | "version": "2.2.1", 3818 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3819 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3820 | "dev": true 3821 | }, 3822 | "chalk": { 3823 | "version": "1.1.3", 3824 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3825 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3826 | "dev": true, 3827 | "requires": { 3828 | "ansi-styles": "2.2.1", 3829 | "escape-string-regexp": "1.0.5", 3830 | "has-ansi": "2.0.0", 3831 | "strip-ansi": "3.0.1", 3832 | "supports-color": "2.0.0" 3833 | } 3834 | }, 3835 | "supports-color": { 3836 | "version": "2.0.0", 3837 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3838 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3839 | "dev": true 3840 | } 3841 | } 3842 | }, 3843 | "rollup-plugin-commonjs": { 3844 | "version": "8.4.1", 3845 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz", 3846 | "integrity": "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==", 3847 | "dev": true, 3848 | "requires": { 3849 | "acorn": "5.5.3", 3850 | "estree-walker": "0.5.1", 3851 | "magic-string": "0.22.4", 3852 | "resolve": "1.5.0", 3853 | "rollup-pluginutils": "2.0.1" 3854 | }, 3855 | "dependencies": { 3856 | "estree-walker": { 3857 | "version": "0.5.1", 3858 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.1.tgz", 3859 | "integrity": "sha512-7HgCgz1axW7w5aOvgOQkoR1RMBkllygJrssU3BvymKQ95lxXYv6Pon17fBRDm9qhkvXZGijOULoSF9ShOk/ZLg==", 3860 | "dev": true 3861 | } 3862 | } 3863 | }, 3864 | "rollup-plugin-es3": { 3865 | "version": "1.1.0", 3866 | "resolved": "https://registry.npmjs.org/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz", 3867 | "integrity": "sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA==", 3868 | "dev": true, 3869 | "requires": { 3870 | "magic-string": "0.22.4" 3871 | } 3872 | }, 3873 | "rollup-plugin-flow": { 3874 | "version": "1.1.1", 3875 | "resolved": "https://registry.npmjs.org/rollup-plugin-flow/-/rollup-plugin-flow-1.1.1.tgz", 3876 | "integrity": "sha1-bOVo8d1Vlma3erdrS64lFAdSjbY=", 3877 | "dev": true, 3878 | "requires": { 3879 | "flow-remove-types": "1.2.3", 3880 | "rollup-pluginutils": "1.5.2" 3881 | }, 3882 | "dependencies": { 3883 | "estree-walker": { 3884 | "version": "0.2.1", 3885 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", 3886 | "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", 3887 | "dev": true 3888 | }, 3889 | "rollup-pluginutils": { 3890 | "version": "1.5.2", 3891 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", 3892 | "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", 3893 | "dev": true, 3894 | "requires": { 3895 | "estree-walker": "0.2.1", 3896 | "minimatch": "3.0.4" 3897 | } 3898 | } 3899 | } 3900 | }, 3901 | "rollup-plugin-node-resolve": { 3902 | "version": "3.2.0", 3903 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.2.0.tgz", 3904 | "integrity": "sha512-stvVrKaQiNu65ObGJLCHyHH/NXjiPMt/ZHwvl444KgJPrii1zCgyg+NTK2Uy6WExL+OuUWdHd7T8EoPQDtYEkw==", 3905 | "dev": true, 3906 | "requires": { 3907 | "builtin-modules": "2.0.0", 3908 | "is-module": "1.0.0", 3909 | "resolve": "1.5.0" 3910 | } 3911 | }, 3912 | "rollup-plugin-nodent": { 3913 | "version": "0.2.2", 3914 | "resolved": "https://registry.npmjs.org/rollup-plugin-nodent/-/rollup-plugin-nodent-0.2.2.tgz", 3915 | "integrity": "sha512-mFomzLjxhS3pVQ0ZAuiLqDtWLXACqylO/sfw9b4JF6nGmiLNyeYmwCgm7hICgMcSFMWOA+IiQQr373HRKg776A==", 3916 | "dev": true, 3917 | "requires": { 3918 | "acorn-dynamic-import": "3.0.0", 3919 | "nodent-compiler": "3.1.7", 3920 | "rollup-pluginutils": "2.0.1" 3921 | } 3922 | }, 3923 | "rollup-plugin-postcss": { 3924 | "version": "1.3.3", 3925 | "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-1.3.3.tgz", 3926 | "integrity": "sha512-y6r536FMArJ6qmAujTxgttqt75m5q0UjETz989nEBkIRVADiXrJRslTAlYCfvkKJkNWB1I15W6xPn8Mc/vOInA==", 3927 | "dev": true, 3928 | "requires": { 3929 | "chalk": "2.3.2", 3930 | "concat-with-sourcemaps": "1.0.5", 3931 | "cssnano": "3.10.0", 3932 | "fs-extra": "5.0.0", 3933 | "pify": "3.0.0", 3934 | "postcss": "6.0.19", 3935 | "postcss-load-config": "1.2.0", 3936 | "postcss-modules": "1.1.0", 3937 | "promise.series": "0.2.0", 3938 | "reserved-words": "0.1.2", 3939 | "resolve": "1.5.0", 3940 | "rollup-pluginutils": "2.0.1", 3941 | "style-inject": "0.3.0" 3942 | } 3943 | }, 3944 | "rollup-plugin-preserve-shebang": { 3945 | "version": "0.1.6", 3946 | "resolved": "https://registry.npmjs.org/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz", 3947 | "integrity": "sha512-b+psdlXZOjmlnKmL6/YAkR8PR15VPcUNXdT35urBRJ8jE6UxHyb4HXeeN3qRZJbMJJaX1eRP72XwH6IvGFh5Jw==", 3948 | "dev": true, 3949 | "requires": { 3950 | "magic-string": "0.22.4" 3951 | } 3952 | }, 3953 | "rollup-plugin-sizes": { 3954 | "version": "0.4.2", 3955 | "resolved": "https://registry.npmjs.org/rollup-plugin-sizes/-/rollup-plugin-sizes-0.4.2.tgz", 3956 | "integrity": "sha512-6VsnWb4aBPcW++3IBMNPo4NLSheoaXh+itXk1OcaolLhYemoQFb7A9hVNocwa0j2BctdmPNFcP7UJ3g///VVaA==", 3957 | "dev": true, 3958 | "requires": { 3959 | "filesize": "3.6.0", 3960 | "lodash.foreach": "4.5.0", 3961 | "lodash.sumby": "4.6.0", 3962 | "module-details-from-path": "1.0.3" 3963 | } 3964 | }, 3965 | "rollup-plugin-strict-alias": { 3966 | "version": "1.0.0", 3967 | "resolved": "https://registry.npmjs.org/rollup-plugin-strict-alias/-/rollup-plugin-strict-alias-1.0.0.tgz", 3968 | "integrity": "sha1-cHnuJXhcX5UG5EMLWr/0xYGsjPw=", 3969 | "dev": true 3970 | }, 3971 | "rollup-plugin-typescript2": { 3972 | "version": "0.11.1", 3973 | "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.11.1.tgz", 3974 | "integrity": "sha512-slniBE8s9mkLfE3PIcy8xT3utV8oofYqOMBTxMVvkyFz3FNslLJ1ssEdZpWsB7A52+awpqIwjjWXH5e/4/i6dQ==", 3975 | "dev": true, 3976 | "requires": { 3977 | "fs-extra": "5.0.0", 3978 | "resolve": "1.5.0", 3979 | "rollup-pluginutils": "2.0.1", 3980 | "tslib": "1.9.0" 3981 | } 3982 | }, 3983 | "rollup-plugin-uglify": { 3984 | "version": "3.0.0", 3985 | "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-3.0.0.tgz", 3986 | "integrity": "sha512-dehLu9eRRoV4l09aC+ySntRw1OAfoyKdbk8Nelblj03tHoynkSybqyEpgavemi1LBOH6S1vzI58/mpxkZIe1iQ==", 3987 | "dev": true, 3988 | "requires": { 3989 | "uglify-es": "3.3.9" 3990 | } 3991 | }, 3992 | "rollup-pluginutils": { 3993 | "version": "2.0.1", 3994 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", 3995 | "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", 3996 | "dev": true, 3997 | "requires": { 3998 | "estree-walker": "0.3.1", 3999 | "micromatch": "2.3.11" 4000 | } 4001 | }, 4002 | "sade": { 4003 | "version": "1.4.0", 4004 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.4.0.tgz", 4005 | "integrity": "sha1-UYdOsYYAqlTuOcj1ZsL0yZmnzUc=", 4006 | "dev": true, 4007 | "requires": { 4008 | "mri": "1.1.0", 4009 | "pad-right": "0.2.2" 4010 | } 4011 | }, 4012 | "sax": { 4013 | "version": "1.2.4", 4014 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 4015 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 4016 | "dev": true 4017 | }, 4018 | "sort-keys": { 4019 | "version": "1.1.2", 4020 | "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", 4021 | "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", 4022 | "dev": true, 4023 | "requires": { 4024 | "is-plain-obj": "1.1.0" 4025 | } 4026 | }, 4027 | "source-map": { 4028 | "version": "0.6.1", 4029 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4030 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4031 | "dev": true 4032 | }, 4033 | "sprintf-js": { 4034 | "version": "1.0.3", 4035 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 4036 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 4037 | "dev": true 4038 | }, 4039 | "strict-uri-encode": { 4040 | "version": "1.1.0", 4041 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 4042 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", 4043 | "dev": true 4044 | }, 4045 | "string-hash": { 4046 | "version": "1.1.3", 4047 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", 4048 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", 4049 | "dev": true 4050 | }, 4051 | "string.prototype.trim": { 4052 | "version": "1.1.2", 4053 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", 4054 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", 4055 | "dev": true, 4056 | "requires": { 4057 | "define-properties": "1.1.2", 4058 | "es-abstract": "1.10.0", 4059 | "function-bind": "1.1.1" 4060 | } 4061 | }, 4062 | "strip-ansi": { 4063 | "version": "3.0.1", 4064 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4065 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4066 | "dev": true, 4067 | "requires": { 4068 | "ansi-regex": "2.1.1" 4069 | } 4070 | }, 4071 | "style-inject": { 4072 | "version": "0.3.0", 4073 | "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz", 4074 | "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", 4075 | "dev": true 4076 | }, 4077 | "supports-color": { 4078 | "version": "5.3.0", 4079 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", 4080 | "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", 4081 | "dev": true, 4082 | "requires": { 4083 | "has-flag": "3.0.0" 4084 | } 4085 | }, 4086 | "svgo": { 4087 | "version": "0.7.2", 4088 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", 4089 | "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", 4090 | "dev": true, 4091 | "requires": { 4092 | "coa": "1.0.4", 4093 | "colors": "1.1.2", 4094 | "csso": "2.3.2", 4095 | "js-yaml": "3.7.0", 4096 | "mkdirp": "0.5.1", 4097 | "sax": "1.2.4", 4098 | "whet.extend": "0.9.9" 4099 | } 4100 | }, 4101 | "symbol-observable": { 4102 | "version": "1.2.0", 4103 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 4104 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", 4105 | "dev": true 4106 | }, 4107 | "tape": { 4108 | "version": "4.9.0", 4109 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.0.tgz", 4110 | "integrity": "sha512-j0jO9BiScfqtPBb9QmPLL0qvxXMz98xjkMb7x8lKipFlJZwNJkqkWPou+NU4V6T9RnVh1kuSthLE8gLrN8bBfw==", 4111 | "dev": true, 4112 | "requires": { 4113 | "deep-equal": "1.0.1", 4114 | "defined": "1.0.0", 4115 | "for-each": "0.3.2", 4116 | "function-bind": "1.1.1", 4117 | "glob": "7.1.2", 4118 | "has": "1.0.1", 4119 | "inherits": "2.0.3", 4120 | "minimist": "1.2.0", 4121 | "object-inspect": "1.5.0", 4122 | "resolve": "1.5.0", 4123 | "resumer": "0.0.0", 4124 | "string.prototype.trim": "1.1.2", 4125 | "through": "2.3.8" 4126 | } 4127 | }, 4128 | "through": { 4129 | "version": "2.3.8", 4130 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4131 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 4132 | "dev": true 4133 | }, 4134 | "tslib": { 4135 | "version": "1.9.0", 4136 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", 4137 | "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==", 4138 | "dev": true 4139 | }, 4140 | "typescript": { 4141 | "version": "2.7.2", 4142 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", 4143 | "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", 4144 | "dev": true 4145 | }, 4146 | "uglify-es": { 4147 | "version": "3.3.9", 4148 | "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", 4149 | "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", 4150 | "dev": true, 4151 | "requires": { 4152 | "commander": "2.13.0", 4153 | "source-map": "0.6.1" 4154 | } 4155 | }, 4156 | "uniq": { 4157 | "version": "1.0.1", 4158 | "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", 4159 | "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", 4160 | "dev": true 4161 | }, 4162 | "uniqid": { 4163 | "version": "4.1.1", 4164 | "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", 4165 | "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", 4166 | "dev": true, 4167 | "requires": { 4168 | "macaddress": "0.2.8" 4169 | } 4170 | }, 4171 | "uniqs": { 4172 | "version": "2.0.0", 4173 | "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", 4174 | "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", 4175 | "dev": true 4176 | }, 4177 | "universalify": { 4178 | "version": "0.1.1", 4179 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", 4180 | "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", 4181 | "dev": true 4182 | }, 4183 | "vendors": { 4184 | "version": "1.0.1", 4185 | "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", 4186 | "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", 4187 | "dev": true 4188 | }, 4189 | "vlq": { 4190 | "version": "0.2.3", 4191 | "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", 4192 | "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", 4193 | "dev": true 4194 | }, 4195 | "whet.extend": { 4196 | "version": "0.9.9", 4197 | "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", 4198 | "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", 4199 | "dev": true 4200 | }, 4201 | "wrappy": { 4202 | "version": "1.0.2", 4203 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4204 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4205 | "dev": true 4206 | } 4207 | } 4208 | } 4209 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-persist-middleware", 3 | "description": "Creates Redux middleware that will lazily persist data from certain reducers, when certain actions occur.", 4 | "version": "1.0.1", 5 | "author": "Henrik Joreteg (joreteg.com)", 6 | "bugs": { 7 | "url": "https://github.com/HenrikJoreteg/redux-persist-middleware/issues" 8 | }, 9 | "devDependencies": { 10 | "microbundle": "0.4.4", 11 | "redux": "3.7.2", 12 | "tape": "4.9.0" 13 | }, 14 | "files": [ 15 | "dist" 16 | ], 17 | "homepage": "https://github.com/HenrikJoreteg/redux-persist-middleware", 18 | "keywords": [ 19 | "PWA", 20 | "redux", 21 | "cache", 22 | "indexeddb" 23 | ], 24 | "license": "MIT", 25 | "main": "dist/redux-persist-middleware.js", 26 | "module": "dist/redux-persist-middleware.m.js", 27 | "prettier": { 28 | "semi": false, 29 | "singleQuote": true 30 | }, 31 | "repository": { 32 | "type": "git", 33 | "url": "https://github.com/HenrikJoreteg/redux-persist-middleware.git" 34 | }, 35 | "scripts": { 36 | "build": "microbundle", 37 | "prepublish": "npm run build", 38 | "test": "npm run build && tape test.js" 39 | }, 40 | "source": "index.js" 41 | } 42 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | // trick it into thinking this is a browser 2 | global.window = {} 3 | 4 | const test = require('tape') 5 | const getPersistMiddleware = require('./dist/redux-persist-middleware') 6 | const { createStore, applyMiddleware, combineReducers } = require('redux') 7 | 8 | const getBooleanReducer = actionType => (state = false, action) => { 9 | if (action.type === actionType) { 10 | return true 11 | } 12 | return state 13 | } 14 | 15 | const rootReducer = combineReducers({ 16 | isCool: getBooleanReducer('MAKE_COOL'), 17 | isNeat: getBooleanReducer('MAKE_NEAT'), 18 | isSilly: getBooleanReducer('MAKE_SILLY'), 19 | isAmazing: getBooleanReducer('MAKE_AMAZING') 20 | }) 21 | 22 | const getStore = middleware => 23 | createStore(rootReducer, applyMiddleware(middleware)) 24 | 25 | test('basic functionality', t => { 26 | let callCount = 0 27 | 28 | const actionMap = { 29 | MAKE_COOL: ['isCool'], 30 | MAKE_NEAT: ['isNeat', 'isSilly'] 31 | } 32 | 33 | const middleware = getPersistMiddleware({ 34 | actionMap, 35 | cacheFn: (key, value) => { 36 | callCount++ 37 | 38 | if (callCount === 1) { 39 | t.equal(key, 'isCool') 40 | t.equal(value, true) 41 | } 42 | if (callCount === 2) { 43 | t.equal(key, 'isNeat') 44 | t.equal(value, true) 45 | } 46 | if (callCount === 3) { 47 | t.equal(key, 'isSilly') 48 | t.equal(value, false) 49 | } 50 | if (callCount > 3) { 51 | t.fail('should never get here') 52 | } 53 | 54 | return Promise.resolve() 55 | } 56 | }) 57 | 58 | const store = getStore(middleware) 59 | 60 | store.dispatch({ type: 'MAKE_COOL' }) 61 | store.dispatch({ type: 'MAKE_NEAT' }) 62 | store.dispatch({ type: 'MAKE_SILLY' }) 63 | store.dispatch({ type: 'MAKE_AMAZING' }) 64 | setTimeout(t.end, 200) 65 | }) 66 | --------------------------------------------------------------------------------