├── .editorconfig ├── .gitignore ├── README.md ├── package-lock.json └── package.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = tab 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.{html,css,scss,less,js,jsx,ts,tsx,json}] 12 | indent_style = space 13 | indent_size = 2 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | test/ 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | UNIT9 Style Guide 2 | ================ 3 | 4 | [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](#badge) 5 | 6 | > You can't run away
7 | > From these styles I got, oh baby, hey baby
8 | > Cause I got a lot, oh yeah
9 | > 10 | > The Fugees - Ready or Not 11 | 12 | --- 13 | 14 | Table of contents: 15 | 16 | * [Editor code style](#editor-code-style) 17 | * [Version control](#version-control) 18 | * [Code Formatting](#code-formatting) 19 | * [Code Linting](#code-linting) 20 | * [HTML & CSS](#html-css) 21 | 22 | --- 23 | 24 | ## Editor code style 25 | 26 | [EditorConfig](http://editorconfig.org/) is used to define indentation style and size, EOL, final new line, charset across a single project. 27 | 28 | > EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. 29 | 30 | ## Version control 31 | 32 | [The Art of the commit](http://alistapart.com/article/the-art-of-the-commit) 33 | > Be useful
34 | > Be detailed
35 | > Be consistent
36 | > Use the active voice
37 | 38 | [Feature Branch](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) 39 | > feature development encapsulated
40 | > leverage pull requests
41 | 42 | [Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow) 43 | > master
44 | > develop
45 | > feature/
46 | > release/
47 | > hotfix/
48 | 49 | ## Code Formatting 50 | 51 | Use [Prettier](https://github.com/prettier/prettier): 52 | 53 | ```bash 54 | npm i -D prettier 55 | ``` 56 | 57 | |Editor|Plugin|Installation| 58 | |:-----|:-----|:-----------| 59 | |Sublime Text|[SublimeJsPrettier](https://github.com/jonlabelle/SublimeJsPrettier)| `Prettier` via Package Manager| 60 | |Atom|[prettier-atom](https://github.com/prettier/prettier-atom)|`apm install prettier-atom`| 61 | |VSCode|[prettier-vscode](https://github.com/prettier/prettier-vscode)|`ext install prettier-vscode`| 62 | 63 | Prettier is an opinionated code formatter with support for: 64 | 65 | * JavaScript, including [ES2017](https://github.com/tc39/proposals/blob/master/finished-proposals.md) 66 | * [JSX](https://facebook.github.io/jsx/) 67 | * [Flow](https://flow.org/) 68 | * [TypeScript](https://www.typescriptlang.org/) 69 | * CSS, [LESS](http://lesscss.org/), and [SCSS](http://sass-lang.com) 70 | * [JSON](http://json.org/) 71 | * [GraphQL](http://graphql.org/) 72 | 73 | ## Code Linting 74 | 75 | Install the linter: 76 | 77 | * [Sublime Linter](https://github.com/SublimeLinter/SublimeLinter3) 78 | * [Atom linter](https://atom.io/packages/linter) 79 | 80 | Install the linter's plugins: 81 | 82 | |Editor|Plugin|Installation| 83 | |:-----|:-----|:-----------| 84 | |Sublime Text|[SublimeLinter-eslint](https://github.com/roadhump/SublimeLinter-eslint)| `SublimeLinter-contrib-eslint` via Package Manager| 85 | |Atom|[linter-eslint](https://github.com/AtomLinter/linter-eslint)|`apm install linter-eslint`| 86 | |VSCode|[vscode-eslint](https://github.com/Microsoft/vscode-eslint)|`ESLint from VS Code Marketplace`| 87 | 88 | Use [ESLint](https://eslint.org/): 89 | 90 | ```bash 91 | npm i -D eslint 92 | ``` 93 | 94 | Configure [ESLint](https://eslint.org/) for [Prettier](https://github.com/prettier/prettier): 95 | 96 | * Use [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) as an ESLint rule: 97 | 98 | ```bash 99 | npm i -D eslint-plugin-prettier 100 | ``` 101 | 102 | ```json 103 | { 104 | "plugins": [ 105 | "prettier" 106 | ], 107 | "rules": { 108 | "prettier/prettier": "error" 109 | }, 110 | } 111 | ``` 112 | 113 | * Use [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to disable all the existing formatting rules: 114 | 115 | ```bash 116 | npm i -D eslint-config-prettier 117 | ``` 118 | 119 | ```json 120 | { 121 | "extends": [ 122 | "prettier" 123 | ] 124 | } 125 | ``` 126 | 127 | See [package.json](./package.json). 128 | 129 | ## HTML & CSS 130 | 131 | ### Conventions 132 | 133 | [HTML Codeguide](http://codeguide.co/#html) 134 | 135 | [SUIT CSS](https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md): 136 | 137 | * `.u-utility` 138 | * `.ComponentName` 139 | * `.ComponentName-descendentName` 140 | * `.ComponentName--modifierName` 141 | * `.ComponentName.is-stateOfComponent` 142 | 143 | or sometimes [BEM](https://en.bem.info/): 144 | 145 | * `.block-name` 146 | * `.block-name__element` 147 | * `.block-name--modifier-name` 148 | 149 | ### Base 150 | 151 | [normalize.css](https://necolas.github.io/normalize.css/) 152 | > Normalize.css makes browsers render all elements more consistently and in line with modern standards. It precisely targets only the styles that need normalizing. 153 | 154 | --- 155 | 156 | For Google Projects, use the following: 157 | 158 | - [JavaScript Style Guide](https://google.github.io/styleguide/javascriptguide.xml) 159 | - [Google HTML/CSS Style Guide](https://google.github.io/styleguide/htmlcssguide.xml) 160 | - [Google Closure Tools](https://developers.google.com/closure/) if required 161 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unit9-styleguide", 3 | "version": "2.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.1.2", 9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", 10 | "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", 11 | "dev": true 12 | }, 13 | "acorn-jsx": { 14 | "version": "3.0.1", 15 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 16 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 17 | "dev": true, 18 | "requires": { 19 | "acorn": "3.3.0" 20 | }, 21 | "dependencies": { 22 | "acorn": { 23 | "version": "3.3.0", 24 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 25 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 26 | "dev": true 27 | } 28 | } 29 | }, 30 | "ajv": { 31 | "version": "5.2.3", 32 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", 33 | "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", 34 | "dev": true, 35 | "requires": { 36 | "co": "4.6.0", 37 | "fast-deep-equal": "1.0.0", 38 | "json-schema-traverse": "0.3.1", 39 | "json-stable-stringify": "1.0.1" 40 | } 41 | }, 42 | "ajv-keywords": { 43 | "version": "2.1.0", 44 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", 45 | "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", 46 | "dev": true 47 | }, 48 | "ansi-escapes": { 49 | "version": "3.0.0", 50 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", 51 | "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", 52 | "dev": true 53 | }, 54 | "ansi-regex": { 55 | "version": "2.1.1", 56 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 57 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 58 | "dev": true 59 | }, 60 | "ansi-styles": { 61 | "version": "2.2.1", 62 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 63 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 64 | "dev": true 65 | }, 66 | "argparse": { 67 | "version": "1.0.9", 68 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 69 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 70 | "dev": true, 71 | "requires": { 72 | "sprintf-js": "1.0.3" 73 | } 74 | }, 75 | "array-union": { 76 | "version": "1.0.2", 77 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 78 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 79 | "dev": true, 80 | "requires": { 81 | "array-uniq": "1.0.3" 82 | } 83 | }, 84 | "array-uniq": { 85 | "version": "1.0.3", 86 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 87 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 88 | "dev": true 89 | }, 90 | "arrify": { 91 | "version": "1.0.1", 92 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 93 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 94 | "dev": true 95 | }, 96 | "babel-code-frame": { 97 | "version": "6.26.0", 98 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 99 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 100 | "dev": true, 101 | "requires": { 102 | "chalk": "1.1.3", 103 | "esutils": "2.0.2", 104 | "js-tokens": "3.0.2" 105 | }, 106 | "dependencies": { 107 | "chalk": { 108 | "version": "1.1.3", 109 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 110 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 111 | "dev": true, 112 | "requires": { 113 | "ansi-styles": "2.2.1", 114 | "escape-string-regexp": "1.0.5", 115 | "has-ansi": "2.0.0", 116 | "strip-ansi": "3.0.1", 117 | "supports-color": "2.0.0" 118 | } 119 | }, 120 | "strip-ansi": { 121 | "version": "3.0.1", 122 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 123 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 124 | "dev": true, 125 | "requires": { 126 | "ansi-regex": "2.1.1" 127 | } 128 | } 129 | } 130 | }, 131 | "babel-eslint": { 132 | "version": "8.0.1", 133 | "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.1.tgz", 134 | "integrity": "sha512-h3moF6PCTQE06UjMMG+ydZSBvZ4Q7rqPE/5WAUOvUyHYUTqxm8JVhjZRiG1avI/tGVOK4BnZLDQapyLzh8DeKg==", 135 | "dev": true, 136 | "requires": { 137 | "babel-code-frame": "7.0.0-beta.0", 138 | "babel-traverse": "7.0.0-beta.0", 139 | "babel-types": "7.0.0-beta.0", 140 | "babylon": "7.0.0-beta.22" 141 | }, 142 | "dependencies": { 143 | "babel-code-frame": { 144 | "version": "7.0.0-beta.0", 145 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", 146 | "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", 147 | "dev": true, 148 | "requires": { 149 | "chalk": "2.1.0", 150 | "esutils": "2.0.2", 151 | "js-tokens": "3.0.2" 152 | } 153 | } 154 | } 155 | }, 156 | "babel-helper-function-name": { 157 | "version": "7.0.0-beta.0", 158 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz", 159 | "integrity": "sha512-DaQccFBBWBEzMdqbKmNXamY0m1yLHJGOdbbEsNoGdJrrU7wAF3wwowtDDPzF0ZT3SqJXPgZW/P2kgBX9moMuAA==", 160 | "dev": true, 161 | "requires": { 162 | "babel-helper-get-function-arity": "7.0.0-beta.0", 163 | "babel-template": "7.0.0-beta.0", 164 | "babel-traverse": "7.0.0-beta.0", 165 | "babel-types": "7.0.0-beta.0" 166 | } 167 | }, 168 | "babel-helper-get-function-arity": { 169 | "version": "7.0.0-beta.0", 170 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz", 171 | "integrity": "sha512-csqAic15/2Vm1951nJxkkL9K8E6ojyNF/eAOjk7pqJlO8kvgrccGNFCV9eDwcGHDPe5AjvJGwVSAcQ5fit9wuA==", 172 | "dev": true, 173 | "requires": { 174 | "babel-types": "7.0.0-beta.0" 175 | } 176 | }, 177 | "babel-messages": { 178 | "version": "7.0.0-beta.0", 179 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", 180 | "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", 181 | "dev": true 182 | }, 183 | "babel-template": { 184 | "version": "7.0.0-beta.0", 185 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-beta.0.tgz", 186 | "integrity": "sha512-tmdH+MmmU0F6Ur8humpevSmFzYKbrN3Oru0g5Qyg4R6+sxjnzZmnvzUbsP0aKMr7tB0Ua6xhEb9arKTOsEMkyA==", 187 | "dev": true, 188 | "requires": { 189 | "babel-traverse": "7.0.0-beta.0", 190 | "babel-types": "7.0.0-beta.0", 191 | "babylon": "7.0.0-beta.22", 192 | "lodash": "4.17.4" 193 | } 194 | }, 195 | "babel-traverse": { 196 | "version": "7.0.0-beta.0", 197 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", 198 | "integrity": "sha512-IKzuTqUcQtMRZ0Vv5RjIrGGj33eBKmNTNeRexWSyjPPuAciyNkva1rt7WXPfHfkb+dX7coRAIUhzeTUEzhnwdA==", 199 | "dev": true, 200 | "requires": { 201 | "babel-code-frame": "7.0.0-beta.0", 202 | "babel-helper-function-name": "7.0.0-beta.0", 203 | "babel-messages": "7.0.0-beta.0", 204 | "babel-types": "7.0.0-beta.0", 205 | "babylon": "7.0.0-beta.22", 206 | "debug": "3.1.0", 207 | "globals": "10.1.0", 208 | "invariant": "2.2.2", 209 | "lodash": "4.17.4" 210 | }, 211 | "dependencies": { 212 | "babel-code-frame": { 213 | "version": "7.0.0-beta.0", 214 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", 215 | "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", 216 | "dev": true, 217 | "requires": { 218 | "chalk": "2.1.0", 219 | "esutils": "2.0.2", 220 | "js-tokens": "3.0.2" 221 | } 222 | }, 223 | "globals": { 224 | "version": "10.1.0", 225 | "resolved": "https://registry.npmjs.org/globals/-/globals-10.1.0.tgz", 226 | "integrity": "sha1-RCWhiBvg0za0qCOoKnvnJdXdmHw=", 227 | "dev": true 228 | } 229 | } 230 | }, 231 | "babel-types": { 232 | "version": "7.0.0-beta.0", 233 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", 234 | "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", 235 | "dev": true, 236 | "requires": { 237 | "esutils": "2.0.2", 238 | "lodash": "4.17.4", 239 | "to-fast-properties": "2.0.0" 240 | } 241 | }, 242 | "babylon": { 243 | "version": "7.0.0-beta.22", 244 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.22.tgz", 245 | "integrity": "sha512-Yl7iT8QGrS8OfR7p6R12AJexQm+brKwrryai4VWZ7NHUbPoZ5al3+klhvl/14shXZiLa7uK//OIFuZ1/RKHgoA==", 246 | "dev": true 247 | }, 248 | "balanced-match": { 249 | "version": "1.0.0", 250 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 251 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 252 | "dev": true 253 | }, 254 | "brace-expansion": { 255 | "version": "1.1.8", 256 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 257 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 258 | "dev": true, 259 | "requires": { 260 | "balanced-match": "1.0.0", 261 | "concat-map": "0.0.1" 262 | } 263 | }, 264 | "caller-path": { 265 | "version": "0.1.0", 266 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 267 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 268 | "dev": true, 269 | "requires": { 270 | "callsites": "0.2.0" 271 | } 272 | }, 273 | "callsites": { 274 | "version": "0.2.0", 275 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 276 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 277 | "dev": true 278 | }, 279 | "chalk": { 280 | "version": "2.1.0", 281 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", 282 | "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", 283 | "dev": true, 284 | "requires": { 285 | "ansi-styles": "3.2.0", 286 | "escape-string-regexp": "1.0.5", 287 | "supports-color": "4.4.0" 288 | }, 289 | "dependencies": { 290 | "ansi-styles": { 291 | "version": "3.2.0", 292 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 293 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 294 | "dev": true, 295 | "requires": { 296 | "color-convert": "1.9.0" 297 | } 298 | }, 299 | "has-flag": { 300 | "version": "2.0.0", 301 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 302 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 303 | "dev": true 304 | }, 305 | "supports-color": { 306 | "version": "4.4.0", 307 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", 308 | "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", 309 | "dev": true, 310 | "requires": { 311 | "has-flag": "2.0.0" 312 | } 313 | } 314 | } 315 | }, 316 | "circular-json": { 317 | "version": "0.3.3", 318 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 319 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 320 | "dev": true 321 | }, 322 | "cli-cursor": { 323 | "version": "2.1.0", 324 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 325 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 326 | "dev": true, 327 | "requires": { 328 | "restore-cursor": "2.0.0" 329 | } 330 | }, 331 | "cli-width": { 332 | "version": "2.2.0", 333 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 334 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 335 | "dev": true 336 | }, 337 | "co": { 338 | "version": "4.6.0", 339 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 340 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 341 | "dev": true 342 | }, 343 | "color-convert": { 344 | "version": "1.9.0", 345 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", 346 | "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", 347 | "dev": true, 348 | "requires": { 349 | "color-name": "1.1.3" 350 | } 351 | }, 352 | "color-name": { 353 | "version": "1.1.3", 354 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 355 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 356 | "dev": true 357 | }, 358 | "concat-map": { 359 | "version": "0.0.1", 360 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 361 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 362 | "dev": true 363 | }, 364 | "concat-stream": { 365 | "version": "1.6.0", 366 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 367 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 368 | "dev": true, 369 | "requires": { 370 | "inherits": "2.0.3", 371 | "readable-stream": "2.3.3", 372 | "typedarray": "0.0.6" 373 | } 374 | }, 375 | "core-util-is": { 376 | "version": "1.0.2", 377 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 378 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 379 | "dev": true 380 | }, 381 | "cross-spawn": { 382 | "version": "5.1.0", 383 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 384 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 385 | "dev": true, 386 | "requires": { 387 | "lru-cache": "4.1.1", 388 | "shebang-command": "1.2.0", 389 | "which": "1.3.0" 390 | } 391 | }, 392 | "debug": { 393 | "version": "3.1.0", 394 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 395 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 396 | "dev": true, 397 | "requires": { 398 | "ms": "2.0.0" 399 | } 400 | }, 401 | "deep-is": { 402 | "version": "0.1.3", 403 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 404 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 405 | "dev": true 406 | }, 407 | "del": { 408 | "version": "2.2.2", 409 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 410 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 411 | "dev": true, 412 | "requires": { 413 | "globby": "5.0.0", 414 | "is-path-cwd": "1.0.0", 415 | "is-path-in-cwd": "1.0.0", 416 | "object-assign": "4.1.1", 417 | "pify": "2.3.0", 418 | "pinkie-promise": "2.0.1", 419 | "rimraf": "2.6.2" 420 | } 421 | }, 422 | "doctrine": { 423 | "version": "2.0.0", 424 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", 425 | "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", 426 | "dev": true, 427 | "requires": { 428 | "esutils": "2.0.2", 429 | "isarray": "1.0.0" 430 | } 431 | }, 432 | "escape-string-regexp": { 433 | "version": "1.0.5", 434 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 435 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 436 | "dev": true 437 | }, 438 | "eslint": { 439 | "version": "4.7.2", 440 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.7.2.tgz", 441 | "integrity": "sha1-/29fUZOEiifum2J74+c/ucteZi4=", 442 | "dev": true, 443 | "requires": { 444 | "ajv": "5.2.3", 445 | "babel-code-frame": "6.26.0", 446 | "chalk": "2.1.0", 447 | "concat-stream": "1.6.0", 448 | "cross-spawn": "5.1.0", 449 | "debug": "3.1.0", 450 | "doctrine": "2.0.0", 451 | "eslint-scope": "3.7.1", 452 | "espree": "3.5.1", 453 | "esquery": "1.0.0", 454 | "estraverse": "4.2.0", 455 | "esutils": "2.0.2", 456 | "file-entry-cache": "2.0.0", 457 | "functional-red-black-tree": "1.0.1", 458 | "glob": "7.1.2", 459 | "globals": "9.18.0", 460 | "ignore": "3.3.5", 461 | "imurmurhash": "0.1.4", 462 | "inquirer": "3.3.0", 463 | "is-resolvable": "1.0.0", 464 | "js-yaml": "3.10.0", 465 | "json-stable-stringify": "1.0.1", 466 | "levn": "0.3.0", 467 | "lodash": "4.17.4", 468 | "minimatch": "3.0.4", 469 | "mkdirp": "0.5.1", 470 | "natural-compare": "1.4.0", 471 | "optionator": "0.8.2", 472 | "path-is-inside": "1.0.2", 473 | "pluralize": "7.0.0", 474 | "progress": "2.0.0", 475 | "require-uncached": "1.0.3", 476 | "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 477 | "strip-ansi": "4.0.0", 478 | "strip-json-comments": "2.0.1", 479 | "table": "4.0.2", 480 | "text-table": "0.2.0" 481 | } 482 | }, 483 | "eslint-config-prettier": { 484 | "version": "2.6.0", 485 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.6.0.tgz", 486 | "integrity": "sha1-8h2w67Q4rWePuYlGCXxLsZi+/Mw=", 487 | "dev": true, 488 | "requires": { 489 | "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz" 490 | } 491 | }, 492 | "eslint-plugin-prettier": { 493 | "version": "2.3.1", 494 | "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.3.1.tgz", 495 | "integrity": "sha512-AV8shBlGN9tRZffj5v/f4uiQWlP3qiQ+lh+BhTqRLuKSyczx+HRWVkVZaf7dOmguxghAH1wftnou/JUEEChhGg==", 496 | "dev": true, 497 | "requires": { 498 | "fast-diff": "1.1.2", 499 | "jest-docblock": "21.2.0" 500 | } 501 | }, 502 | "eslint-scope": { 503 | "version": "3.7.1", 504 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", 505 | "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", 506 | "dev": true, 507 | "requires": { 508 | "esrecurse": "4.2.0", 509 | "estraverse": "4.2.0" 510 | } 511 | }, 512 | "espree": { 513 | "version": "3.5.1", 514 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", 515 | "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", 516 | "dev": true, 517 | "requires": { 518 | "acorn": "5.1.2", 519 | "acorn-jsx": "3.0.1" 520 | } 521 | }, 522 | "esprima": { 523 | "version": "4.0.0", 524 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 525 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 526 | "dev": true 527 | }, 528 | "esquery": { 529 | "version": "1.0.0", 530 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", 531 | "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", 532 | "dev": true, 533 | "requires": { 534 | "estraverse": "4.2.0" 535 | } 536 | }, 537 | "esrecurse": { 538 | "version": "4.2.0", 539 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", 540 | "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", 541 | "dev": true, 542 | "requires": { 543 | "estraverse": "4.2.0", 544 | "object-assign": "4.1.1" 545 | } 546 | }, 547 | "estraverse": { 548 | "version": "4.2.0", 549 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 550 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 551 | "dev": true 552 | }, 553 | "esutils": { 554 | "version": "2.0.2", 555 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 556 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 557 | "dev": true 558 | }, 559 | "external-editor": { 560 | "version": "2.0.5", 561 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", 562 | "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", 563 | "dev": true, 564 | "requires": { 565 | "iconv-lite": "0.4.19", 566 | "jschardet": "1.5.1", 567 | "tmp": "0.0.33" 568 | } 569 | }, 570 | "fast-deep-equal": { 571 | "version": "1.0.0", 572 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", 573 | "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", 574 | "dev": true 575 | }, 576 | "fast-diff": { 577 | "version": "1.1.2", 578 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", 579 | "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", 580 | "dev": true 581 | }, 582 | "fast-levenshtein": { 583 | "version": "2.0.6", 584 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 585 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 586 | "dev": true 587 | }, 588 | "figures": { 589 | "version": "2.0.0", 590 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 591 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 592 | "dev": true, 593 | "requires": { 594 | "escape-string-regexp": "1.0.5" 595 | } 596 | }, 597 | "file-entry-cache": { 598 | "version": "2.0.0", 599 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 600 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 601 | "dev": true, 602 | "requires": { 603 | "flat-cache": "1.3.0", 604 | "object-assign": "4.1.1" 605 | } 606 | }, 607 | "flat-cache": { 608 | "version": "1.3.0", 609 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", 610 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 611 | "dev": true, 612 | "requires": { 613 | "circular-json": "0.3.3", 614 | "del": "2.2.2", 615 | "graceful-fs": "4.1.11", 616 | "write": "0.2.1" 617 | } 618 | }, 619 | "fs.realpath": { 620 | "version": "1.0.0", 621 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 622 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 623 | "dev": true 624 | }, 625 | "functional-red-black-tree": { 626 | "version": "1.0.1", 627 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 628 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 629 | "dev": true 630 | }, 631 | "get-stdin": { 632 | "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", 633 | "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", 634 | "dev": true 635 | }, 636 | "glob": { 637 | "version": "7.1.2", 638 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 639 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 640 | "dev": true, 641 | "requires": { 642 | "fs.realpath": "1.0.0", 643 | "inflight": "1.0.6", 644 | "inherits": "2.0.3", 645 | "minimatch": "3.0.4", 646 | "once": "1.4.0", 647 | "path-is-absolute": "1.0.1" 648 | } 649 | }, 650 | "globals": { 651 | "version": "9.18.0", 652 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 653 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 654 | "dev": true 655 | }, 656 | "globby": { 657 | "version": "5.0.0", 658 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 659 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 660 | "dev": true, 661 | "requires": { 662 | "array-union": "1.0.2", 663 | "arrify": "1.0.1", 664 | "glob": "7.1.2", 665 | "object-assign": "4.1.1", 666 | "pify": "2.3.0", 667 | "pinkie-promise": "2.0.1" 668 | } 669 | }, 670 | "graceful-fs": { 671 | "version": "4.1.11", 672 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 673 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 674 | "dev": true 675 | }, 676 | "has-ansi": { 677 | "version": "2.0.0", 678 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 679 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 680 | "dev": true, 681 | "requires": { 682 | "ansi-regex": "2.1.1" 683 | } 684 | }, 685 | "iconv-lite": { 686 | "version": "0.4.19", 687 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", 688 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", 689 | "dev": true 690 | }, 691 | "ignore": { 692 | "version": "3.3.5", 693 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", 694 | "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", 695 | "dev": true 696 | }, 697 | "imurmurhash": { 698 | "version": "0.1.4", 699 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 700 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 701 | "dev": true 702 | }, 703 | "inflight": { 704 | "version": "1.0.6", 705 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 706 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 707 | "dev": true, 708 | "requires": { 709 | "once": "1.4.0", 710 | "wrappy": "1.0.2" 711 | } 712 | }, 713 | "inherits": { 714 | "version": "2.0.3", 715 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 716 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 717 | "dev": true 718 | }, 719 | "inquirer": { 720 | "version": "3.3.0", 721 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 722 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 723 | "dev": true, 724 | "requires": { 725 | "ansi-escapes": "3.0.0", 726 | "chalk": "2.1.0", 727 | "cli-cursor": "2.1.0", 728 | "cli-width": "2.2.0", 729 | "external-editor": "2.0.5", 730 | "figures": "2.0.0", 731 | "lodash": "4.17.4", 732 | "mute-stream": "0.0.7", 733 | "run-async": "2.3.0", 734 | "rx-lite": "4.0.8", 735 | "rx-lite-aggregates": "4.0.8", 736 | "string-width": "2.1.1", 737 | "strip-ansi": "4.0.0", 738 | "through": "2.3.8" 739 | } 740 | }, 741 | "invariant": { 742 | "version": "2.2.2", 743 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 744 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 745 | "dev": true, 746 | "requires": { 747 | "loose-envify": "1.3.1" 748 | } 749 | }, 750 | "is-fullwidth-code-point": { 751 | "version": "2.0.0", 752 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 753 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 754 | "dev": true 755 | }, 756 | "is-path-cwd": { 757 | "version": "1.0.0", 758 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 759 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 760 | "dev": true 761 | }, 762 | "is-path-in-cwd": { 763 | "version": "1.0.0", 764 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 765 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 766 | "dev": true, 767 | "requires": { 768 | "is-path-inside": "1.0.0" 769 | } 770 | }, 771 | "is-path-inside": { 772 | "version": "1.0.0", 773 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", 774 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", 775 | "dev": true, 776 | "requires": { 777 | "path-is-inside": "1.0.2" 778 | } 779 | }, 780 | "is-promise": { 781 | "version": "2.1.0", 782 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 783 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 784 | "dev": true 785 | }, 786 | "is-resolvable": { 787 | "version": "1.0.0", 788 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", 789 | "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", 790 | "dev": true, 791 | "requires": { 792 | "tryit": "1.0.3" 793 | } 794 | }, 795 | "isarray": { 796 | "version": "1.0.0", 797 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 798 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 799 | "dev": true 800 | }, 801 | "isexe": { 802 | "version": "2.0.0", 803 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 804 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 805 | "dev": true 806 | }, 807 | "jest-docblock": { 808 | "version": "21.2.0", 809 | "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", 810 | "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", 811 | "dev": true 812 | }, 813 | "js-tokens": { 814 | "version": "3.0.2", 815 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 816 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 817 | "dev": true 818 | }, 819 | "js-yaml": { 820 | "version": "3.10.0", 821 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 822 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 823 | "dev": true, 824 | "requires": { 825 | "argparse": "1.0.9", 826 | "esprima": "4.0.0" 827 | } 828 | }, 829 | "jschardet": { 830 | "version": "1.5.1", 831 | "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", 832 | "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", 833 | "dev": true 834 | }, 835 | "json-schema-traverse": { 836 | "version": "0.3.1", 837 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 838 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", 839 | "dev": true 840 | }, 841 | "json-stable-stringify": { 842 | "version": "1.0.1", 843 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 844 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 845 | "dev": true, 846 | "requires": { 847 | "jsonify": "0.0.0" 848 | } 849 | }, 850 | "jsonify": { 851 | "version": "0.0.0", 852 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 853 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 854 | "dev": true 855 | }, 856 | "levn": { 857 | "version": "0.3.0", 858 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 859 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 860 | "dev": true, 861 | "requires": { 862 | "prelude-ls": "1.1.2", 863 | "type-check": "0.3.2" 864 | } 865 | }, 866 | "lodash": { 867 | "version": "4.17.4", 868 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 869 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 870 | "dev": true 871 | }, 872 | "loose-envify": { 873 | "version": "1.3.1", 874 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 875 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 876 | "dev": true, 877 | "requires": { 878 | "js-tokens": "3.0.2" 879 | } 880 | }, 881 | "lru-cache": { 882 | "version": "4.1.1", 883 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 884 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 885 | "dev": true, 886 | "requires": { 887 | "pseudomap": "1.0.2", 888 | "yallist": "2.1.2" 889 | } 890 | }, 891 | "mimic-fn": { 892 | "version": "1.1.0", 893 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", 894 | "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", 895 | "dev": true 896 | }, 897 | "minimatch": { 898 | "version": "3.0.4", 899 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 900 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 901 | "dev": true, 902 | "requires": { 903 | "brace-expansion": "1.1.8" 904 | } 905 | }, 906 | "minimist": { 907 | "version": "0.0.8", 908 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 909 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 910 | "dev": true 911 | }, 912 | "mkdirp": { 913 | "version": "0.5.1", 914 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 915 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 916 | "dev": true, 917 | "requires": { 918 | "minimist": "0.0.8" 919 | } 920 | }, 921 | "ms": { 922 | "version": "2.0.0", 923 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 924 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 925 | "dev": true 926 | }, 927 | "mute-stream": { 928 | "version": "0.0.7", 929 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 930 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 931 | "dev": true 932 | }, 933 | "natural-compare": { 934 | "version": "1.4.0", 935 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 936 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 937 | "dev": true 938 | }, 939 | "object-assign": { 940 | "version": "4.1.1", 941 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 942 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 943 | "dev": true 944 | }, 945 | "once": { 946 | "version": "1.4.0", 947 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 948 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 949 | "dev": true, 950 | "requires": { 951 | "wrappy": "1.0.2" 952 | } 953 | }, 954 | "onetime": { 955 | "version": "2.0.1", 956 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 957 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 958 | "dev": true, 959 | "requires": { 960 | "mimic-fn": "1.1.0" 961 | } 962 | }, 963 | "optionator": { 964 | "version": "0.8.2", 965 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 966 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 967 | "dev": true, 968 | "requires": { 969 | "deep-is": "0.1.3", 970 | "fast-levenshtein": "2.0.6", 971 | "levn": "0.3.0", 972 | "prelude-ls": "1.1.2", 973 | "type-check": "0.3.2", 974 | "wordwrap": "1.0.0" 975 | } 976 | }, 977 | "os-tmpdir": { 978 | "version": "1.0.2", 979 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 980 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 981 | "dev": true 982 | }, 983 | "path-is-absolute": { 984 | "version": "1.0.1", 985 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 986 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 987 | "dev": true 988 | }, 989 | "path-is-inside": { 990 | "version": "1.0.2", 991 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 992 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 993 | "dev": true 994 | }, 995 | "pify": { 996 | "version": "2.3.0", 997 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 998 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 999 | "dev": true 1000 | }, 1001 | "pinkie": { 1002 | "version": "2.0.4", 1003 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1004 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 1005 | "dev": true 1006 | }, 1007 | "pinkie-promise": { 1008 | "version": "2.0.1", 1009 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1010 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1011 | "dev": true, 1012 | "requires": { 1013 | "pinkie": "2.0.4" 1014 | } 1015 | }, 1016 | "pluralize": { 1017 | "version": "7.0.0", 1018 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 1019 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 1020 | "dev": true 1021 | }, 1022 | "prelude-ls": { 1023 | "version": "1.1.2", 1024 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1025 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 1026 | "dev": true 1027 | }, 1028 | "prettier": { 1029 | "version": "1.7.0", 1030 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.7.0.tgz", 1031 | "integrity": "sha512-kIbA3UE9sYGiVCxlWg92EOHWZqte6EAkC7DS5je6NaL8g3Uw1rWe0eH+UX4Hy5OEiR9aql2vVMHeg6lR4YGxYg==", 1032 | "dev": true 1033 | }, 1034 | "process-nextick-args": { 1035 | "version": "1.0.7", 1036 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 1037 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 1038 | "dev": true 1039 | }, 1040 | "progress": { 1041 | "version": "2.0.0", 1042 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", 1043 | "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", 1044 | "dev": true 1045 | }, 1046 | "pseudomap": { 1047 | "version": "1.0.2", 1048 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 1049 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 1050 | "dev": true 1051 | }, 1052 | "readable-stream": { 1053 | "version": "2.3.3", 1054 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 1055 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 1056 | "dev": true, 1057 | "requires": { 1058 | "core-util-is": "1.0.2", 1059 | "inherits": "2.0.3", 1060 | "isarray": "1.0.0", 1061 | "process-nextick-args": "1.0.7", 1062 | "safe-buffer": "5.1.1", 1063 | "string_decoder": "1.0.3", 1064 | "util-deprecate": "1.0.2" 1065 | } 1066 | }, 1067 | "require-uncached": { 1068 | "version": "1.0.3", 1069 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 1070 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 1071 | "dev": true, 1072 | "requires": { 1073 | "caller-path": "0.1.0", 1074 | "resolve-from": "1.0.1" 1075 | } 1076 | }, 1077 | "resolve-from": { 1078 | "version": "1.0.1", 1079 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 1080 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 1081 | "dev": true 1082 | }, 1083 | "restore-cursor": { 1084 | "version": "2.0.0", 1085 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1086 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1087 | "dev": true, 1088 | "requires": { 1089 | "onetime": "2.0.1", 1090 | "signal-exit": "3.0.2" 1091 | }, 1092 | "dependencies": { 1093 | "signal-exit": { 1094 | "version": "3.0.2", 1095 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1096 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 1097 | "dev": true 1098 | } 1099 | } 1100 | }, 1101 | "rimraf": { 1102 | "version": "2.6.2", 1103 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 1104 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 1105 | "dev": true, 1106 | "requires": { 1107 | "glob": "7.1.2" 1108 | } 1109 | }, 1110 | "run-async": { 1111 | "version": "2.3.0", 1112 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1113 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1114 | "dev": true, 1115 | "requires": { 1116 | "is-promise": "2.1.0" 1117 | } 1118 | }, 1119 | "rx-lite": { 1120 | "version": "4.0.8", 1121 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 1122 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", 1123 | "dev": true 1124 | }, 1125 | "rx-lite-aggregates": { 1126 | "version": "4.0.8", 1127 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 1128 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 1129 | "dev": true, 1130 | "requires": { 1131 | "rx-lite": "4.0.8" 1132 | } 1133 | }, 1134 | "safe-buffer": { 1135 | "version": "5.1.1", 1136 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 1137 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 1138 | "dev": true 1139 | }, 1140 | "semver": { 1141 | "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 1142 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 1143 | "dev": true 1144 | }, 1145 | "shebang-command": { 1146 | "version": "1.2.0", 1147 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1148 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1149 | "dev": true, 1150 | "requires": { 1151 | "shebang-regex": "1.0.0" 1152 | } 1153 | }, 1154 | "shebang-regex": { 1155 | "version": "1.0.0", 1156 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1157 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1158 | "dev": true 1159 | }, 1160 | "slice-ansi": { 1161 | "version": "1.0.0", 1162 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", 1163 | "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", 1164 | "dev": true, 1165 | "requires": { 1166 | "is-fullwidth-code-point": "2.0.0" 1167 | } 1168 | }, 1169 | "sprintf-js": { 1170 | "version": "1.0.3", 1171 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1172 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1173 | "dev": true 1174 | }, 1175 | "string_decoder": { 1176 | "version": "1.0.3", 1177 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 1178 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 1179 | "dev": true, 1180 | "requires": { 1181 | "safe-buffer": "5.1.1" 1182 | } 1183 | }, 1184 | "string-width": { 1185 | "version": "2.1.1", 1186 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1187 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1188 | "dev": true, 1189 | "requires": { 1190 | "is-fullwidth-code-point": "2.0.0", 1191 | "strip-ansi": "4.0.0" 1192 | } 1193 | }, 1194 | "strip-ansi": { 1195 | "version": "4.0.0", 1196 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1197 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1198 | "dev": true, 1199 | "requires": { 1200 | "ansi-regex": "3.0.0" 1201 | }, 1202 | "dependencies": { 1203 | "ansi-regex": { 1204 | "version": "3.0.0", 1205 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1206 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1207 | "dev": true 1208 | } 1209 | } 1210 | }, 1211 | "strip-json-comments": { 1212 | "version": "2.0.1", 1213 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1214 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1215 | "dev": true 1216 | }, 1217 | "supports-color": { 1218 | "version": "2.0.0", 1219 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1220 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1221 | "dev": true 1222 | }, 1223 | "table": { 1224 | "version": "4.0.2", 1225 | "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", 1226 | "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", 1227 | "dev": true, 1228 | "requires": { 1229 | "ajv": "5.2.3", 1230 | "ajv-keywords": "2.1.0", 1231 | "chalk": "2.1.0", 1232 | "lodash": "4.17.4", 1233 | "slice-ansi": "1.0.0", 1234 | "string-width": "2.1.1" 1235 | } 1236 | }, 1237 | "text-table": { 1238 | "version": "0.2.0", 1239 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1240 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1241 | "dev": true 1242 | }, 1243 | "through": { 1244 | "version": "2.3.8", 1245 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1246 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1247 | "dev": true 1248 | }, 1249 | "tmp": { 1250 | "version": "0.0.33", 1251 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1252 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1253 | "dev": true, 1254 | "requires": { 1255 | "os-tmpdir": "1.0.2" 1256 | } 1257 | }, 1258 | "to-fast-properties": { 1259 | "version": "2.0.0", 1260 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1261 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 1262 | "dev": true 1263 | }, 1264 | "tryit": { 1265 | "version": "1.0.3", 1266 | "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", 1267 | "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", 1268 | "dev": true 1269 | }, 1270 | "type-check": { 1271 | "version": "0.3.2", 1272 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1273 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1274 | "dev": true, 1275 | "requires": { 1276 | "prelude-ls": "1.1.2" 1277 | } 1278 | }, 1279 | "typedarray": { 1280 | "version": "0.0.6", 1281 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 1282 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 1283 | "dev": true 1284 | }, 1285 | "util-deprecate": { 1286 | "version": "1.0.2", 1287 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1288 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1289 | "dev": true 1290 | }, 1291 | "which": { 1292 | "version": "1.3.0", 1293 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 1294 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 1295 | "dev": true, 1296 | "requires": { 1297 | "isexe": "2.0.0" 1298 | } 1299 | }, 1300 | "wordwrap": { 1301 | "version": "1.0.0", 1302 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1303 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 1304 | "dev": true 1305 | }, 1306 | "wrappy": { 1307 | "version": "1.0.2", 1308 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1309 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1310 | "dev": true 1311 | }, 1312 | "write": { 1313 | "version": "0.2.1", 1314 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 1315 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 1316 | "dev": true, 1317 | "requires": { 1318 | "mkdirp": "0.5.1" 1319 | } 1320 | }, 1321 | "yallist": { 1322 | "version": "2.1.2", 1323 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 1324 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 1325 | "dev": true 1326 | } 1327 | } 1328 | } 1329 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unit9-styleguide", 3 | "version": "2.0.0", 4 | "description": "UNIT9's frontend styleguide", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/unit9/styleguide" 8 | }, 9 | "keywords": [ 10 | "styleguide", 11 | "unit9" 12 | ], 13 | "author": "Damien Seguin", 14 | "license": "ISC", 15 | "homepage": "https://github.com/unit9/styleguide#readme", 16 | "devDependencies": { 17 | "babel-eslint": "^8.0.1", 18 | "eslint": "^4.7.2", 19 | "eslint-config-prettier": "^2.6.0", 20 | "eslint-plugin-prettier": "^2.3.1", 21 | "prettier": "^1.7.0" 22 | }, 23 | "eslintConfig": { 24 | "parser": "babel-eslint", 25 | "extends": [ 26 | "prettier" 27 | ], 28 | "plugins": [ 29 | "prettier" 30 | ], 31 | "rules": { 32 | "prettier/prettier": "error" 33 | }, 34 | "parserOptions": { 35 | "ecmaVersion": 2017, 36 | "sourceType": "module", 37 | "ecmaFeatures": { 38 | "experimentalObjectRestSpread": false 39 | } 40 | } 41 | }, 42 | "eslintIgnore": [ 43 | "node_modules" 44 | ] 45 | } 46 | --------------------------------------------------------------------------------