├── .eslintplugin.js ├── .eslintrc ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── createProgressReporter.js ├── index.js ├── package.json └── yarn.lock /.eslintplugin.js: -------------------------------------------------------------------------------- 1 | module.exports = require('.') 2 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | parserOptions: 2 | ecmaVersion: 2015 3 | extends: 4 | - prettier 5 | plugins: 6 | - prettier 7 | - local 8 | rules: 9 | prettier/prettier: error 10 | local/activate: 1 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {"semi":false,"singleQuote":true} 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Taskworld 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # eslint-plugin-progress 2 | 3 | Report progress when running ESLint. Useful for large projects with thousands of files! 4 | 5 | ## Features 6 | 7 | Displays progress while running ESLint, and a summary when exiting: 8 | 9 | Before: 10 | 11 | ``` 12 | $ eslint . 13 | (silence for 10 minutes) 14 | $ 15 | ``` 16 | 17 | After: 18 | 19 | ``` 20 | $ eslint . 21 | * [2018-04-26T11:02:06.176Z] Processed 0 files... 22 | * [2018-04-26T11:02:21.481Z] Processed 155 files... 23 | * [2018-04-26T11:02:36.494Z] Processed 350 files... 24 | * [2018-04-26T11:02:51.500Z] Processed 569 files... 25 | * [2018-04-26T11:03:06.569Z] Processed 880 files... 26 | * [2018-04-26T11:03:21.637Z] Processed 1207 files... 27 | * [2018-04-26T11:03:36.650Z] Processed 1562 files... 28 | * [2018-04-26T11:03:51.664Z] Processed 1959 files... 29 | 30 | ESLint Stats Report 31 | =================== 32 | 33 | 2286 files processed in 1.9 minutes. 34 | 35 | ## Slowest 20 files 36 | * path/to/AdvancedSearchFilters.react.js (4079 ms) 37 | * path/to/RichTextEditor.react.js (2043 ms) 38 | * path/to/MessageBody.react.js (1037 ms) 39 | * path/to/BrowseChannelsModal.react.js (984 ms) 40 | * path/to/KanbanBoard.react.js (937 ms) 41 | * path/to/WorkspaceRetroPane.react.js (871 ms) 42 | * path/to/MessageStream.react.js (721 ms) 43 | * path/to/AppV2.react.js (652 ms) 44 | * path/to/Gantt.react.js (641 ms) 45 | * path/to/OnboardingPage.react.js (536 ms) 46 | * path/to/Tasklist.react.js (505 ms) 47 | * path/to/Task.react.js (479 ms) 48 | * path/to/MentionMembersBox.react.js (463 ms) 49 | * path/to/MessageStreamContainer.react.js (448 ms) 50 | * path/to/OverviewTask.react.js (385 ms) 51 | * path/to/FlashBubbleNotiContainer.react.js (383 ms) 52 | * path/to/ProjectListBody.react.js (377 ms) 53 | * path/to/MessageStreamScroller.react.js (372 ms) 54 | * path/to/TaskPreviewCard.react.js (372 ms) 55 | * path/to/ResourcesTable.react.js (364 ms) 56 | $ 57 | ``` 58 | 59 | ## Usage 60 | 61 | ``` 62 | yarn add taskworld/eslint-plugin-progress --dev 63 | ``` 64 | 65 | ```yml 66 | # .eslintrc 67 | plugins: 68 | progress 69 | rules: 70 | progress/activate: 1 71 | ``` 72 | 73 | ## Known issues 74 | 75 | It doesn’t keep the stat of the last file processed. 76 | -------------------------------------------------------------------------------- /createProgressReporter.js: -------------------------------------------------------------------------------- 1 | /* eslint no-console: off */ 2 | module.exports = function createProgressReporter(options) { 3 | let lastReported = 0 4 | let lastFile 5 | let shouldHookExit = options && options.hookExit 6 | const stats = [] 7 | const eslintPlugin = { 8 | rules: { 9 | activate: { 10 | create(context) { 11 | if (shouldHookExit) { 12 | shouldHookExit = false 13 | process.on('exit', printStats) 14 | } 15 | const now = Date.now() 16 | if (now > lastReported + 15000) { 17 | lastReported = now 18 | console.error( 19 | `* [${new Date().toJSON()}] Processed ${stats.length} files...` 20 | ) 21 | } 22 | if (lastFile) { 23 | lastFile.finish = now 24 | lastFile.duration = now - lastFile.start 25 | stats.push(lastFile) 26 | } 27 | lastFile = { 28 | name: context.getFilename(), 29 | start: now 30 | } 31 | return {} 32 | } 33 | } 34 | } 35 | } 36 | function printStats() { 37 | const totalTime = stats.map(s => s.duration).reduce((a, b) => a + b, 0) 38 | const minutes = (totalTime / 60000).toFixed(1) 39 | console.log() 40 | console.log('ESLint Stats Report') 41 | console.log('===================') 42 | console.log() 43 | console.log(`${stats.length} files processed in ${minutes} minutes.`) 44 | stats.sort((a, b) => b.duration - a.duration) 45 | console.log() 46 | const slow = stats.slice(0, 20) 47 | console.log(`## Slowest ${slow.length} files`) 48 | for (const file of stats.slice(0, 20)) { 49 | console.log(` * ${file.name} (${file.duration} ms)`) 50 | } 51 | } 52 | return { 53 | eslintPlugin, 54 | printStats, 55 | stats 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const createProgressReporter = require('./createProgressReporter') 2 | const progress = createProgressReporter({ hookExit: true }) 3 | module.exports = progress.eslintPlugin 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-plugin-progress", 3 | "version": "0.0.1", 4 | "description": "Report progress when running ESLint. Useful for large projects!", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/taskworld/eslint-plugin-progress.git" 12 | }, 13 | "keywords": [ 14 | "eslint-plugin" 15 | ], 16 | "author": "Thai Pangsakulyanont ", 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/taskworld/eslint-plugin-progress/issues" 20 | }, 21 | "homepage": "https://github.com/taskworld/eslint-plugin-progress#readme", 22 | "devDependencies": { 23 | "eslint": "^4.19.1", 24 | "eslint-config-prettier": "^2.9.0", 25 | "eslint-plugin-local": "^1.0.0", 26 | "eslint-plugin-prettier": "^2.6.0", 27 | "prettier": "^1.12.1" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | acorn-jsx@^3.0.0: 6 | version "3.0.1" 7 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 8 | dependencies: 9 | acorn "^3.0.4" 10 | 11 | acorn@^3.0.4: 12 | version "3.3.0" 13 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 14 | 15 | acorn@^5.5.0: 16 | version "5.5.3" 17 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" 18 | 19 | ajv-keywords@^2.1.0: 20 | version "2.1.1" 21 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" 22 | 23 | ajv@^5.2.3, ajv@^5.3.0: 24 | version "5.5.2" 25 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 26 | dependencies: 27 | co "^4.6.0" 28 | fast-deep-equal "^1.0.0" 29 | fast-json-stable-stringify "^2.0.0" 30 | json-schema-traverse "^0.3.0" 31 | 32 | ansi-escapes@^3.0.0: 33 | version "3.1.0" 34 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" 35 | 36 | ansi-regex@^2.0.0: 37 | version "2.1.1" 38 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 39 | 40 | ansi-regex@^3.0.0: 41 | version "3.0.0" 42 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 43 | 44 | ansi-styles@^2.2.1: 45 | version "2.2.1" 46 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 47 | 48 | ansi-styles@^3.2.1: 49 | version "3.2.1" 50 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 51 | dependencies: 52 | color-convert "^1.9.0" 53 | 54 | argparse@^1.0.7: 55 | version "1.0.10" 56 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 57 | dependencies: 58 | sprintf-js "~1.0.2" 59 | 60 | array-union@^1.0.1: 61 | version "1.0.2" 62 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 63 | dependencies: 64 | array-uniq "^1.0.1" 65 | 66 | array-uniq@^1.0.1: 67 | version "1.0.3" 68 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 69 | 70 | arrify@^1.0.0: 71 | version "1.0.1" 72 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 73 | 74 | babel-code-frame@^6.22.0: 75 | version "6.26.0" 76 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 77 | dependencies: 78 | chalk "^1.1.3" 79 | esutils "^2.0.2" 80 | js-tokens "^3.0.2" 81 | 82 | balanced-match@^1.0.0: 83 | version "1.0.0" 84 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 85 | 86 | brace-expansion@^1.1.7: 87 | version "1.1.11" 88 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 89 | dependencies: 90 | balanced-match "^1.0.0" 91 | concat-map "0.0.1" 92 | 93 | buffer-from@^1.0.0: 94 | version "1.0.0" 95 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" 96 | 97 | caller-path@^0.1.0: 98 | version "0.1.0" 99 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 100 | dependencies: 101 | callsites "^0.2.0" 102 | 103 | callsites@^0.2.0: 104 | version "0.2.0" 105 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 106 | 107 | chalk@^1.1.3: 108 | version "1.1.3" 109 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 110 | dependencies: 111 | ansi-styles "^2.2.1" 112 | escape-string-regexp "^1.0.2" 113 | has-ansi "^2.0.0" 114 | strip-ansi "^3.0.0" 115 | supports-color "^2.0.0" 116 | 117 | chalk@^2.0.0, chalk@^2.1.0: 118 | version "2.4.1" 119 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 120 | dependencies: 121 | ansi-styles "^3.2.1" 122 | escape-string-regexp "^1.0.5" 123 | supports-color "^5.3.0" 124 | 125 | chardet@^0.4.0: 126 | version "0.4.2" 127 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 128 | 129 | circular-json@^0.3.1: 130 | version "0.3.3" 131 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 132 | 133 | cli-cursor@^2.1.0: 134 | version "2.1.0" 135 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 136 | dependencies: 137 | restore-cursor "^2.0.0" 138 | 139 | cli-width@^2.0.0: 140 | version "2.2.0" 141 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 142 | 143 | co@^4.6.0: 144 | version "4.6.0" 145 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 146 | 147 | color-convert@^1.9.0: 148 | version "1.9.1" 149 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 150 | dependencies: 151 | color-name "^1.1.1" 152 | 153 | color-name@^1.1.1: 154 | version "1.1.3" 155 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 156 | 157 | concat-map@0.0.1: 158 | version "0.0.1" 159 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 160 | 161 | concat-stream@^1.6.0: 162 | version "1.6.2" 163 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 164 | dependencies: 165 | buffer-from "^1.0.0" 166 | inherits "^2.0.3" 167 | readable-stream "^2.2.2" 168 | typedarray "^0.0.6" 169 | 170 | core-util-is@~1.0.0: 171 | version "1.0.2" 172 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 173 | 174 | cross-spawn@^5.1.0: 175 | version "5.1.0" 176 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 177 | dependencies: 178 | lru-cache "^4.0.1" 179 | shebang-command "^1.2.0" 180 | which "^1.2.9" 181 | 182 | debug@^3.1.0: 183 | version "3.1.0" 184 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 185 | dependencies: 186 | ms "2.0.0" 187 | 188 | deep-is@~0.1.3: 189 | version "0.1.3" 190 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 191 | 192 | del@^2.0.2: 193 | version "2.2.2" 194 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 195 | dependencies: 196 | globby "^5.0.0" 197 | is-path-cwd "^1.0.0" 198 | is-path-in-cwd "^1.0.0" 199 | object-assign "^4.0.1" 200 | pify "^2.0.0" 201 | pinkie-promise "^2.0.0" 202 | rimraf "^2.2.8" 203 | 204 | doctrine@^2.1.0: 205 | version "2.1.0" 206 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 207 | dependencies: 208 | esutils "^2.0.2" 209 | 210 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 211 | version "1.0.5" 212 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 213 | 214 | eslint-config-prettier@^2.9.0: 215 | version "2.9.0" 216 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" 217 | dependencies: 218 | get-stdin "^5.0.1" 219 | 220 | eslint-plugin-local@^1.0.0: 221 | version "1.0.0" 222 | resolved "https://registry.yarnpkg.com/eslint-plugin-local/-/eslint-plugin-local-1.0.0.tgz#f0c07011c95fec42bfb4d909debb6ea035f3b2a4" 223 | 224 | eslint-plugin-prettier@^2.6.0: 225 | version "2.6.0" 226 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7" 227 | dependencies: 228 | fast-diff "^1.1.1" 229 | jest-docblock "^21.0.0" 230 | 231 | eslint-scope@^3.7.1: 232 | version "3.7.1" 233 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" 234 | dependencies: 235 | esrecurse "^4.1.0" 236 | estraverse "^4.1.1" 237 | 238 | eslint-visitor-keys@^1.0.0: 239 | version "1.0.0" 240 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 241 | 242 | eslint@^4.19.1: 243 | version "4.19.1" 244 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" 245 | dependencies: 246 | ajv "^5.3.0" 247 | babel-code-frame "^6.22.0" 248 | chalk "^2.1.0" 249 | concat-stream "^1.6.0" 250 | cross-spawn "^5.1.0" 251 | debug "^3.1.0" 252 | doctrine "^2.1.0" 253 | eslint-scope "^3.7.1" 254 | eslint-visitor-keys "^1.0.0" 255 | espree "^3.5.4" 256 | esquery "^1.0.0" 257 | esutils "^2.0.2" 258 | file-entry-cache "^2.0.0" 259 | functional-red-black-tree "^1.0.1" 260 | glob "^7.1.2" 261 | globals "^11.0.1" 262 | ignore "^3.3.3" 263 | imurmurhash "^0.1.4" 264 | inquirer "^3.0.6" 265 | is-resolvable "^1.0.0" 266 | js-yaml "^3.9.1" 267 | json-stable-stringify-without-jsonify "^1.0.1" 268 | levn "^0.3.0" 269 | lodash "^4.17.4" 270 | minimatch "^3.0.2" 271 | mkdirp "^0.5.1" 272 | natural-compare "^1.4.0" 273 | optionator "^0.8.2" 274 | path-is-inside "^1.0.2" 275 | pluralize "^7.0.0" 276 | progress "^2.0.0" 277 | regexpp "^1.0.1" 278 | require-uncached "^1.0.3" 279 | semver "^5.3.0" 280 | strip-ansi "^4.0.0" 281 | strip-json-comments "~2.0.1" 282 | table "4.0.2" 283 | text-table "~0.2.0" 284 | 285 | espree@^3.5.4: 286 | version "3.5.4" 287 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" 288 | dependencies: 289 | acorn "^5.5.0" 290 | acorn-jsx "^3.0.0" 291 | 292 | esprima@^4.0.0: 293 | version "4.0.0" 294 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 295 | 296 | esquery@^1.0.0: 297 | version "1.0.1" 298 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 299 | dependencies: 300 | estraverse "^4.0.0" 301 | 302 | esrecurse@^4.1.0: 303 | version "4.2.1" 304 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 305 | dependencies: 306 | estraverse "^4.1.0" 307 | 308 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 309 | version "4.2.0" 310 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 311 | 312 | esutils@^2.0.2: 313 | version "2.0.2" 314 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 315 | 316 | external-editor@^2.0.4: 317 | version "2.2.0" 318 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" 319 | dependencies: 320 | chardet "^0.4.0" 321 | iconv-lite "^0.4.17" 322 | tmp "^0.0.33" 323 | 324 | fast-deep-equal@^1.0.0: 325 | version "1.1.0" 326 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 327 | 328 | fast-diff@^1.1.1: 329 | version "1.1.2" 330 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" 331 | 332 | fast-json-stable-stringify@^2.0.0: 333 | version "2.0.0" 334 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 335 | 336 | fast-levenshtein@~2.0.4: 337 | version "2.0.6" 338 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 339 | 340 | figures@^2.0.0: 341 | version "2.0.0" 342 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 343 | dependencies: 344 | escape-string-regexp "^1.0.5" 345 | 346 | file-entry-cache@^2.0.0: 347 | version "2.0.0" 348 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 349 | dependencies: 350 | flat-cache "^1.2.1" 351 | object-assign "^4.0.1" 352 | 353 | flat-cache@^1.2.1: 354 | version "1.3.0" 355 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" 356 | dependencies: 357 | circular-json "^0.3.1" 358 | del "^2.0.2" 359 | graceful-fs "^4.1.2" 360 | write "^0.2.1" 361 | 362 | fs.realpath@^1.0.0: 363 | version "1.0.0" 364 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 365 | 366 | functional-red-black-tree@^1.0.1: 367 | version "1.0.1" 368 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 369 | 370 | get-stdin@^5.0.1: 371 | version "5.0.1" 372 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" 373 | 374 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: 375 | version "7.1.2" 376 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 377 | dependencies: 378 | fs.realpath "^1.0.0" 379 | inflight "^1.0.4" 380 | inherits "2" 381 | minimatch "^3.0.4" 382 | once "^1.3.0" 383 | path-is-absolute "^1.0.0" 384 | 385 | globals@^11.0.1: 386 | version "11.4.0" 387 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc" 388 | 389 | globby@^5.0.0: 390 | version "5.0.0" 391 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 392 | dependencies: 393 | array-union "^1.0.1" 394 | arrify "^1.0.0" 395 | glob "^7.0.3" 396 | object-assign "^4.0.1" 397 | pify "^2.0.0" 398 | pinkie-promise "^2.0.0" 399 | 400 | graceful-fs@^4.1.2: 401 | version "4.1.11" 402 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 403 | 404 | has-ansi@^2.0.0: 405 | version "2.0.0" 406 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 407 | dependencies: 408 | ansi-regex "^2.0.0" 409 | 410 | has-flag@^3.0.0: 411 | version "3.0.0" 412 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 413 | 414 | iconv-lite@^0.4.17: 415 | version "0.4.21" 416 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798" 417 | dependencies: 418 | safer-buffer "^2.1.0" 419 | 420 | ignore@^3.3.3: 421 | version "3.3.8" 422 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" 423 | 424 | imurmurhash@^0.1.4: 425 | version "0.1.4" 426 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 427 | 428 | inflight@^1.0.4: 429 | version "1.0.6" 430 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 431 | dependencies: 432 | once "^1.3.0" 433 | wrappy "1" 434 | 435 | inherits@2, inherits@^2.0.3, inherits@~2.0.3: 436 | version "2.0.3" 437 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 438 | 439 | inquirer@^3.0.6: 440 | version "3.3.0" 441 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" 442 | dependencies: 443 | ansi-escapes "^3.0.0" 444 | chalk "^2.0.0" 445 | cli-cursor "^2.1.0" 446 | cli-width "^2.0.0" 447 | external-editor "^2.0.4" 448 | figures "^2.0.0" 449 | lodash "^4.3.0" 450 | mute-stream "0.0.7" 451 | run-async "^2.2.0" 452 | rx-lite "^4.0.8" 453 | rx-lite-aggregates "^4.0.8" 454 | string-width "^2.1.0" 455 | strip-ansi "^4.0.0" 456 | through "^2.3.6" 457 | 458 | is-fullwidth-code-point@^2.0.0: 459 | version "2.0.0" 460 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 461 | 462 | is-path-cwd@^1.0.0: 463 | version "1.0.0" 464 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 465 | 466 | is-path-in-cwd@^1.0.0: 467 | version "1.0.1" 468 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" 469 | dependencies: 470 | is-path-inside "^1.0.0" 471 | 472 | is-path-inside@^1.0.0: 473 | version "1.0.1" 474 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 475 | dependencies: 476 | path-is-inside "^1.0.1" 477 | 478 | is-promise@^2.1.0: 479 | version "2.1.0" 480 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 481 | 482 | is-resolvable@^1.0.0: 483 | version "1.1.0" 484 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 485 | 486 | isarray@~1.0.0: 487 | version "1.0.0" 488 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 489 | 490 | isexe@^2.0.0: 491 | version "2.0.0" 492 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 493 | 494 | jest-docblock@^21.0.0: 495 | version "21.2.0" 496 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" 497 | 498 | js-tokens@^3.0.2: 499 | version "3.0.2" 500 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 501 | 502 | js-yaml@^3.9.1: 503 | version "3.11.0" 504 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" 505 | dependencies: 506 | argparse "^1.0.7" 507 | esprima "^4.0.0" 508 | 509 | json-schema-traverse@^0.3.0: 510 | version "0.3.1" 511 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 512 | 513 | json-stable-stringify-without-jsonify@^1.0.1: 514 | version "1.0.1" 515 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 516 | 517 | levn@^0.3.0, levn@~0.3.0: 518 | version "0.3.0" 519 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 520 | dependencies: 521 | prelude-ls "~1.1.2" 522 | type-check "~0.3.2" 523 | 524 | lodash@^4.17.4, lodash@^4.3.0: 525 | version "4.17.10" 526 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 527 | 528 | lru-cache@^4.0.1: 529 | version "4.1.2" 530 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" 531 | dependencies: 532 | pseudomap "^1.0.2" 533 | yallist "^2.1.2" 534 | 535 | mimic-fn@^1.0.0: 536 | version "1.2.0" 537 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 538 | 539 | minimatch@^3.0.2, minimatch@^3.0.4: 540 | version "3.0.4" 541 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 542 | dependencies: 543 | brace-expansion "^1.1.7" 544 | 545 | minimist@0.0.8: 546 | version "0.0.8" 547 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 548 | 549 | mkdirp@^0.5.1: 550 | version "0.5.1" 551 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 552 | dependencies: 553 | minimist "0.0.8" 554 | 555 | ms@2.0.0: 556 | version "2.0.0" 557 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 558 | 559 | mute-stream@0.0.7: 560 | version "0.0.7" 561 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 562 | 563 | natural-compare@^1.4.0: 564 | version "1.4.0" 565 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 566 | 567 | object-assign@^4.0.1: 568 | version "4.1.1" 569 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 570 | 571 | once@^1.3.0: 572 | version "1.4.0" 573 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 574 | dependencies: 575 | wrappy "1" 576 | 577 | onetime@^2.0.0: 578 | version "2.0.1" 579 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 580 | dependencies: 581 | mimic-fn "^1.0.0" 582 | 583 | optionator@^0.8.2: 584 | version "0.8.2" 585 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 586 | dependencies: 587 | deep-is "~0.1.3" 588 | fast-levenshtein "~2.0.4" 589 | levn "~0.3.0" 590 | prelude-ls "~1.1.2" 591 | type-check "~0.3.2" 592 | wordwrap "~1.0.0" 593 | 594 | os-tmpdir@~1.0.2: 595 | version "1.0.2" 596 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 597 | 598 | path-is-absolute@^1.0.0: 599 | version "1.0.1" 600 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 601 | 602 | path-is-inside@^1.0.1, path-is-inside@^1.0.2: 603 | version "1.0.2" 604 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 605 | 606 | pify@^2.0.0: 607 | version "2.3.0" 608 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 609 | 610 | pinkie-promise@^2.0.0: 611 | version "2.0.1" 612 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 613 | dependencies: 614 | pinkie "^2.0.0" 615 | 616 | pinkie@^2.0.0: 617 | version "2.0.4" 618 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 619 | 620 | pluralize@^7.0.0: 621 | version "7.0.0" 622 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 623 | 624 | prelude-ls@~1.1.2: 625 | version "1.1.2" 626 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 627 | 628 | prettier@^1.12.1: 629 | version "1.12.1" 630 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" 631 | 632 | process-nextick-args@~2.0.0: 633 | version "2.0.0" 634 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 635 | 636 | progress@^2.0.0: 637 | version "2.0.0" 638 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" 639 | 640 | pseudomap@^1.0.2: 641 | version "1.0.2" 642 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 643 | 644 | readable-stream@^2.2.2: 645 | version "2.3.6" 646 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 647 | dependencies: 648 | core-util-is "~1.0.0" 649 | inherits "~2.0.3" 650 | isarray "~1.0.0" 651 | process-nextick-args "~2.0.0" 652 | safe-buffer "~5.1.1" 653 | string_decoder "~1.1.1" 654 | util-deprecate "~1.0.1" 655 | 656 | regexpp@^1.0.1: 657 | version "1.1.0" 658 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" 659 | 660 | require-uncached@^1.0.3: 661 | version "1.0.3" 662 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 663 | dependencies: 664 | caller-path "^0.1.0" 665 | resolve-from "^1.0.0" 666 | 667 | resolve-from@^1.0.0: 668 | version "1.0.1" 669 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 670 | 671 | restore-cursor@^2.0.0: 672 | version "2.0.0" 673 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 674 | dependencies: 675 | onetime "^2.0.0" 676 | signal-exit "^3.0.2" 677 | 678 | rimraf@^2.2.8: 679 | version "2.6.2" 680 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 681 | dependencies: 682 | glob "^7.0.5" 683 | 684 | run-async@^2.2.0: 685 | version "2.3.0" 686 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 687 | dependencies: 688 | is-promise "^2.1.0" 689 | 690 | rx-lite-aggregates@^4.0.8: 691 | version "4.0.8" 692 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" 693 | dependencies: 694 | rx-lite "*" 695 | 696 | rx-lite@*, rx-lite@^4.0.8: 697 | version "4.0.8" 698 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" 699 | 700 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 701 | version "5.1.2" 702 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 703 | 704 | safer-buffer@^2.1.0: 705 | version "2.1.2" 706 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 707 | 708 | semver@^5.3.0: 709 | version "5.5.0" 710 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 711 | 712 | shebang-command@^1.2.0: 713 | version "1.2.0" 714 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 715 | dependencies: 716 | shebang-regex "^1.0.0" 717 | 718 | shebang-regex@^1.0.0: 719 | version "1.0.0" 720 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 721 | 722 | signal-exit@^3.0.2: 723 | version "3.0.2" 724 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 725 | 726 | slice-ansi@1.0.0: 727 | version "1.0.0" 728 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" 729 | dependencies: 730 | is-fullwidth-code-point "^2.0.0" 731 | 732 | sprintf-js@~1.0.2: 733 | version "1.0.3" 734 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 735 | 736 | string-width@^2.1.0, string-width@^2.1.1: 737 | version "2.1.1" 738 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 739 | dependencies: 740 | is-fullwidth-code-point "^2.0.0" 741 | strip-ansi "^4.0.0" 742 | 743 | string_decoder@~1.1.1: 744 | version "1.1.1" 745 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 746 | dependencies: 747 | safe-buffer "~5.1.0" 748 | 749 | strip-ansi@^3.0.0: 750 | version "3.0.1" 751 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 752 | dependencies: 753 | ansi-regex "^2.0.0" 754 | 755 | strip-ansi@^4.0.0: 756 | version "4.0.0" 757 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 758 | dependencies: 759 | ansi-regex "^3.0.0" 760 | 761 | strip-json-comments@~2.0.1: 762 | version "2.0.1" 763 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 764 | 765 | supports-color@^2.0.0: 766 | version "2.0.0" 767 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 768 | 769 | supports-color@^5.3.0: 770 | version "5.4.0" 771 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 772 | dependencies: 773 | has-flag "^3.0.0" 774 | 775 | table@4.0.2: 776 | version "4.0.2" 777 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" 778 | dependencies: 779 | ajv "^5.2.3" 780 | ajv-keywords "^2.1.0" 781 | chalk "^2.1.0" 782 | lodash "^4.17.4" 783 | slice-ansi "1.0.0" 784 | string-width "^2.1.1" 785 | 786 | text-table@~0.2.0: 787 | version "0.2.0" 788 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 789 | 790 | through@^2.3.6: 791 | version "2.3.8" 792 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 793 | 794 | tmp@^0.0.33: 795 | version "0.0.33" 796 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 797 | dependencies: 798 | os-tmpdir "~1.0.2" 799 | 800 | type-check@~0.3.2: 801 | version "0.3.2" 802 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 803 | dependencies: 804 | prelude-ls "~1.1.2" 805 | 806 | typedarray@^0.0.6: 807 | version "0.0.6" 808 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 809 | 810 | util-deprecate@~1.0.1: 811 | version "1.0.2" 812 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 813 | 814 | which@^1.2.9: 815 | version "1.3.0" 816 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 817 | dependencies: 818 | isexe "^2.0.0" 819 | 820 | wordwrap@~1.0.0: 821 | version "1.0.0" 822 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 823 | 824 | wrappy@1: 825 | version "1.0.2" 826 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 827 | 828 | write@^0.2.1: 829 | version "0.2.1" 830 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 831 | dependencies: 832 | mkdirp "^0.5.1" 833 | 834 | yallist@^2.1.2: 835 | version "2.1.2" 836 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 837 | --------------------------------------------------------------------------------