├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src ├── .babelrc └── index.js └── test ├── expected ├── attribute-name │ └── attribute-name.js ├── compact │ └── compact.js ├── exclude │ └── exclude.js ├── no-attr.js └── some-attr.js └── in ├── .babelrc ├── attribute-name ├── .babelrc └── attribute-name.js ├── compact ├── .babelrc └── compact.js ├── exclude ├── .babelrc └── exclude.js ├── no-attr.js └── some-attr.js /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | test/out 4 | lib -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | test 4 | src -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Adrian Toncean 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 | # babel-plugin-transform-react-jsx-location 2 | 3 | Adds a `data-source` attribute to JSX tags containing the file name and 4 | line number of the original source. 5 | 6 | Use this plugin to locate which file is generating an element in your 7 | page/app. Simply right click on an element in your favourite browser, 8 | then hit *Inspect* and the location of the source is revealed in the 9 | `data-source` attribute. 10 | 11 | This plugin is intended to help with debugging while developing; 12 | **use in production is not recommended!** 13 | 14 | ![data-source attributes can be viewed in the elements inspector](https://cloud.githubusercontent.com/assets/1701763/22403856/ca7ba990-e624-11e6-98b2-49c97355e22d.png) 15 | *elements inspector for the [mzabriskie/react-example](https://github.com/mzabriskie/react-example) app* 16 | 17 | ## Installation 18 | 19 | ```bash 20 | npm install babel-plugin-transform-react-jsx-location 21 | ``` 22 | 23 | ## Usage 24 | 25 | ### Via `.babelrc` (Recommended) 26 | 27 | ```js 28 | // without options 29 | { 30 | "plugins": ["transform-react-jsx-location"] 31 | } 32 | 33 | // with options 34 | { 35 | "plugins": [ 36 | ["transform-react-jsx-location", { 37 | "filename": "compact", 38 | "attributeName": "source", 39 | "exclude": ["div"] // defaults to ["Fragment"] 40 | }] 41 | ] 42 | } 43 | ``` 44 | 45 | ### Via CLI 46 | 47 | ```sh 48 | babel --plugins transform-react-jsx-location script.js 49 | ``` 50 | 51 | ### Via Node API 52 | 53 | ```js 54 | require('babel').transform('code', { 55 | plugins: ['transform-react-jsx-location'] 56 | }) 57 | ``` 58 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "babel-plugin-transform-react-jsx-location", 3 | "version": "0.1.5", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ansi-regex": { 8 | "version": "2.1.1", 9 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 10 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 11 | "dev": true 12 | }, 13 | "ansi-styles": { 14 | "version": "2.2.1", 15 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 16 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 17 | "dev": true 18 | }, 19 | "anymatch": { 20 | "version": "1.3.2", 21 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", 22 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", 23 | "dev": true, 24 | "optional": true, 25 | "requires": { 26 | "micromatch": "2.3.11", 27 | "normalize-path": "2.1.1" 28 | } 29 | }, 30 | "arr-diff": { 31 | "version": "2.0.0", 32 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 33 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 34 | "dev": true, 35 | "optional": true, 36 | "requires": { 37 | "arr-flatten": "1.1.0" 38 | } 39 | }, 40 | "arr-flatten": { 41 | "version": "1.1.0", 42 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 43 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 44 | "dev": true, 45 | "optional": true 46 | }, 47 | "array-unique": { 48 | "version": "0.2.1", 49 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 50 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 51 | "dev": true, 52 | "optional": true 53 | }, 54 | "async-each": { 55 | "version": "1.0.1", 56 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", 57 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", 58 | "dev": true, 59 | "optional": true 60 | }, 61 | "babel-cli": { 62 | "version": "6.26.0", 63 | "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", 64 | "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", 65 | "dev": true, 66 | "requires": { 67 | "babel-core": "6.26.3", 68 | "babel-polyfill": "6.26.0", 69 | "babel-register": "6.26.0", 70 | "babel-runtime": "6.26.0", 71 | "chokidar": "1.7.0", 72 | "commander": "2.15.1", 73 | "convert-source-map": "1.5.1", 74 | "fs-readdir-recursive": "1.1.0", 75 | "glob": "7.1.2", 76 | "lodash": "4.17.10", 77 | "output-file-sync": "1.1.2", 78 | "path-is-absolute": "1.0.1", 79 | "slash": "1.0.0", 80 | "source-map": "0.5.7", 81 | "v8flags": "2.1.1" 82 | } 83 | }, 84 | "babel-code-frame": { 85 | "version": "6.26.0", 86 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 87 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 88 | "dev": true, 89 | "requires": { 90 | "chalk": "1.1.3", 91 | "esutils": "2.0.2", 92 | "js-tokens": "3.0.2" 93 | } 94 | }, 95 | "babel-core": { 96 | "version": "6.26.3", 97 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", 98 | "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", 99 | "dev": true, 100 | "requires": { 101 | "babel-code-frame": "6.26.0", 102 | "babel-generator": "6.26.1", 103 | "babel-helpers": "6.24.1", 104 | "babel-messages": "6.23.0", 105 | "babel-register": "6.26.0", 106 | "babel-runtime": "6.26.0", 107 | "babel-template": "6.26.0", 108 | "babel-traverse": "6.26.0", 109 | "babel-types": "6.26.0", 110 | "babylon": "6.18.0", 111 | "convert-source-map": "1.5.1", 112 | "debug": "2.6.9", 113 | "json5": "0.5.1", 114 | "lodash": "4.17.10", 115 | "minimatch": "3.0.4", 116 | "path-is-absolute": "1.0.1", 117 | "private": "0.1.8", 118 | "slash": "1.0.0", 119 | "source-map": "0.5.7" 120 | } 121 | }, 122 | "babel-generator": { 123 | "version": "6.26.1", 124 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", 125 | "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", 126 | "dev": true, 127 | "requires": { 128 | "babel-messages": "6.23.0", 129 | "babel-runtime": "6.26.0", 130 | "babel-types": "6.26.0", 131 | "detect-indent": "4.0.0", 132 | "jsesc": "1.3.0", 133 | "lodash": "4.17.10", 134 | "source-map": "0.5.7", 135 | "trim-right": "1.0.1" 136 | } 137 | }, 138 | "babel-helper-builder-binary-assignment-operator-visitor": { 139 | "version": "6.24.1", 140 | "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", 141 | "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", 142 | "dev": true, 143 | "requires": { 144 | "babel-helper-explode-assignable-expression": "6.24.1", 145 | "babel-runtime": "6.26.0", 146 | "babel-types": "6.26.0" 147 | } 148 | }, 149 | "babel-helper-call-delegate": { 150 | "version": "6.24.1", 151 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 152 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 153 | "dev": true, 154 | "requires": { 155 | "babel-helper-hoist-variables": "6.24.1", 156 | "babel-runtime": "6.26.0", 157 | "babel-traverse": "6.26.0", 158 | "babel-types": "6.26.0" 159 | } 160 | }, 161 | "babel-helper-define-map": { 162 | "version": "6.26.0", 163 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", 164 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", 165 | "dev": true, 166 | "requires": { 167 | "babel-helper-function-name": "6.24.1", 168 | "babel-runtime": "6.26.0", 169 | "babel-types": "6.26.0", 170 | "lodash": "4.17.10" 171 | } 172 | }, 173 | "babel-helper-explode-assignable-expression": { 174 | "version": "6.24.1", 175 | "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", 176 | "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", 177 | "dev": true, 178 | "requires": { 179 | "babel-runtime": "6.26.0", 180 | "babel-traverse": "6.26.0", 181 | "babel-types": "6.26.0" 182 | } 183 | }, 184 | "babel-helper-function-name": { 185 | "version": "6.24.1", 186 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 187 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 188 | "dev": true, 189 | "requires": { 190 | "babel-helper-get-function-arity": "6.24.1", 191 | "babel-runtime": "6.26.0", 192 | "babel-template": "6.26.0", 193 | "babel-traverse": "6.26.0", 194 | "babel-types": "6.26.0" 195 | } 196 | }, 197 | "babel-helper-get-function-arity": { 198 | "version": "6.24.1", 199 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 200 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 201 | "dev": true, 202 | "requires": { 203 | "babel-runtime": "6.26.0", 204 | "babel-types": "6.26.0" 205 | } 206 | }, 207 | "babel-helper-hoist-variables": { 208 | "version": "6.24.1", 209 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 210 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 211 | "dev": true, 212 | "requires": { 213 | "babel-runtime": "6.26.0", 214 | "babel-types": "6.26.0" 215 | } 216 | }, 217 | "babel-helper-optimise-call-expression": { 218 | "version": "6.24.1", 219 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 220 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 221 | "dev": true, 222 | "requires": { 223 | "babel-runtime": "6.26.0", 224 | "babel-types": "6.26.0" 225 | } 226 | }, 227 | "babel-helper-regex": { 228 | "version": "6.26.0", 229 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", 230 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", 231 | "dev": true, 232 | "requires": { 233 | "babel-runtime": "6.26.0", 234 | "babel-types": "6.26.0", 235 | "lodash": "4.17.10" 236 | } 237 | }, 238 | "babel-helper-remap-async-to-generator": { 239 | "version": "6.24.1", 240 | "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", 241 | "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", 242 | "dev": true, 243 | "requires": { 244 | "babel-helper-function-name": "6.24.1", 245 | "babel-runtime": "6.26.0", 246 | "babel-template": "6.26.0", 247 | "babel-traverse": "6.26.0", 248 | "babel-types": "6.26.0" 249 | } 250 | }, 251 | "babel-helper-replace-supers": { 252 | "version": "6.24.1", 253 | "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 254 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 255 | "dev": true, 256 | "requires": { 257 | "babel-helper-optimise-call-expression": "6.24.1", 258 | "babel-messages": "6.23.0", 259 | "babel-runtime": "6.26.0", 260 | "babel-template": "6.26.0", 261 | "babel-traverse": "6.26.0", 262 | "babel-types": "6.26.0" 263 | } 264 | }, 265 | "babel-helpers": { 266 | "version": "6.24.1", 267 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 268 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 269 | "dev": true, 270 | "requires": { 271 | "babel-runtime": "6.26.0", 272 | "babel-template": "6.26.0" 273 | } 274 | }, 275 | "babel-messages": { 276 | "version": "6.23.0", 277 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 278 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 279 | "dev": true, 280 | "requires": { 281 | "babel-runtime": "6.26.0" 282 | } 283 | }, 284 | "babel-plugin-check-es2015-constants": { 285 | "version": "6.22.0", 286 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 287 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 288 | "dev": true, 289 | "requires": { 290 | "babel-runtime": "6.26.0" 291 | } 292 | }, 293 | "babel-plugin-syntax-async-functions": { 294 | "version": "6.13.0", 295 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", 296 | "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", 297 | "dev": true 298 | }, 299 | "babel-plugin-syntax-exponentiation-operator": { 300 | "version": "6.13.0", 301 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", 302 | "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", 303 | "dev": true 304 | }, 305 | "babel-plugin-syntax-jsx": { 306 | "version": "6.18.0", 307 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", 308 | "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", 309 | "dev": true 310 | }, 311 | "babel-plugin-syntax-trailing-function-commas": { 312 | "version": "6.22.0", 313 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", 314 | "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", 315 | "dev": true 316 | }, 317 | "babel-plugin-transform-async-to-generator": { 318 | "version": "6.24.1", 319 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", 320 | "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", 321 | "dev": true, 322 | "requires": { 323 | "babel-helper-remap-async-to-generator": "6.24.1", 324 | "babel-plugin-syntax-async-functions": "6.13.0", 325 | "babel-runtime": "6.26.0" 326 | } 327 | }, 328 | "babel-plugin-transform-es2015-arrow-functions": { 329 | "version": "6.22.0", 330 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 331 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 332 | "dev": true, 333 | "requires": { 334 | "babel-runtime": "6.26.0" 335 | } 336 | }, 337 | "babel-plugin-transform-es2015-block-scoped-functions": { 338 | "version": "6.22.0", 339 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 340 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 341 | "dev": true, 342 | "requires": { 343 | "babel-runtime": "6.26.0" 344 | } 345 | }, 346 | "babel-plugin-transform-es2015-block-scoping": { 347 | "version": "6.26.0", 348 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", 349 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", 350 | "dev": true, 351 | "requires": { 352 | "babel-runtime": "6.26.0", 353 | "babel-template": "6.26.0", 354 | "babel-traverse": "6.26.0", 355 | "babel-types": "6.26.0", 356 | "lodash": "4.17.10" 357 | } 358 | }, 359 | "babel-plugin-transform-es2015-classes": { 360 | "version": "6.24.1", 361 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 362 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 363 | "dev": true, 364 | "requires": { 365 | "babel-helper-define-map": "6.26.0", 366 | "babel-helper-function-name": "6.24.1", 367 | "babel-helper-optimise-call-expression": "6.24.1", 368 | "babel-helper-replace-supers": "6.24.1", 369 | "babel-messages": "6.23.0", 370 | "babel-runtime": "6.26.0", 371 | "babel-template": "6.26.0", 372 | "babel-traverse": "6.26.0", 373 | "babel-types": "6.26.0" 374 | } 375 | }, 376 | "babel-plugin-transform-es2015-computed-properties": { 377 | "version": "6.24.1", 378 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 379 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 380 | "dev": true, 381 | "requires": { 382 | "babel-runtime": "6.26.0", 383 | "babel-template": "6.26.0" 384 | } 385 | }, 386 | "babel-plugin-transform-es2015-destructuring": { 387 | "version": "6.23.0", 388 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 389 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 390 | "dev": true, 391 | "requires": { 392 | "babel-runtime": "6.26.0" 393 | } 394 | }, 395 | "babel-plugin-transform-es2015-duplicate-keys": { 396 | "version": "6.24.1", 397 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 398 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 399 | "dev": true, 400 | "requires": { 401 | "babel-runtime": "6.26.0", 402 | "babel-types": "6.26.0" 403 | } 404 | }, 405 | "babel-plugin-transform-es2015-for-of": { 406 | "version": "6.23.0", 407 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 408 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 409 | "dev": true, 410 | "requires": { 411 | "babel-runtime": "6.26.0" 412 | } 413 | }, 414 | "babel-plugin-transform-es2015-function-name": { 415 | "version": "6.24.1", 416 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 417 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 418 | "dev": true, 419 | "requires": { 420 | "babel-helper-function-name": "6.24.1", 421 | "babel-runtime": "6.26.0", 422 | "babel-types": "6.26.0" 423 | } 424 | }, 425 | "babel-plugin-transform-es2015-literals": { 426 | "version": "6.22.0", 427 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 428 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 429 | "dev": true, 430 | "requires": { 431 | "babel-runtime": "6.26.0" 432 | } 433 | }, 434 | "babel-plugin-transform-es2015-modules-amd": { 435 | "version": "6.24.1", 436 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 437 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 438 | "dev": true, 439 | "requires": { 440 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 441 | "babel-runtime": "6.26.0", 442 | "babel-template": "6.26.0" 443 | } 444 | }, 445 | "babel-plugin-transform-es2015-modules-commonjs": { 446 | "version": "6.26.2", 447 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", 448 | "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", 449 | "dev": true, 450 | "requires": { 451 | "babel-plugin-transform-strict-mode": "6.24.1", 452 | "babel-runtime": "6.26.0", 453 | "babel-template": "6.26.0", 454 | "babel-types": "6.26.0" 455 | } 456 | }, 457 | "babel-plugin-transform-es2015-modules-systemjs": { 458 | "version": "6.24.1", 459 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 460 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 461 | "dev": true, 462 | "requires": { 463 | "babel-helper-hoist-variables": "6.24.1", 464 | "babel-runtime": "6.26.0", 465 | "babel-template": "6.26.0" 466 | } 467 | }, 468 | "babel-plugin-transform-es2015-modules-umd": { 469 | "version": "6.24.1", 470 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 471 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 472 | "dev": true, 473 | "requires": { 474 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 475 | "babel-runtime": "6.26.0", 476 | "babel-template": "6.26.0" 477 | } 478 | }, 479 | "babel-plugin-transform-es2015-object-super": { 480 | "version": "6.24.1", 481 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 482 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 483 | "dev": true, 484 | "requires": { 485 | "babel-helper-replace-supers": "6.24.1", 486 | "babel-runtime": "6.26.0" 487 | } 488 | }, 489 | "babel-plugin-transform-es2015-parameters": { 490 | "version": "6.24.1", 491 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 492 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 493 | "dev": true, 494 | "requires": { 495 | "babel-helper-call-delegate": "6.24.1", 496 | "babel-helper-get-function-arity": "6.24.1", 497 | "babel-runtime": "6.26.0", 498 | "babel-template": "6.26.0", 499 | "babel-traverse": "6.26.0", 500 | "babel-types": "6.26.0" 501 | } 502 | }, 503 | "babel-plugin-transform-es2015-shorthand-properties": { 504 | "version": "6.24.1", 505 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 506 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 507 | "dev": true, 508 | "requires": { 509 | "babel-runtime": "6.26.0", 510 | "babel-types": "6.26.0" 511 | } 512 | }, 513 | "babel-plugin-transform-es2015-spread": { 514 | "version": "6.22.0", 515 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 516 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 517 | "dev": true, 518 | "requires": { 519 | "babel-runtime": "6.26.0" 520 | } 521 | }, 522 | "babel-plugin-transform-es2015-sticky-regex": { 523 | "version": "6.24.1", 524 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 525 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 526 | "dev": true, 527 | "requires": { 528 | "babel-helper-regex": "6.26.0", 529 | "babel-runtime": "6.26.0", 530 | "babel-types": "6.26.0" 531 | } 532 | }, 533 | "babel-plugin-transform-es2015-template-literals": { 534 | "version": "6.22.0", 535 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 536 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 537 | "dev": true, 538 | "requires": { 539 | "babel-runtime": "6.26.0" 540 | } 541 | }, 542 | "babel-plugin-transform-es2015-typeof-symbol": { 543 | "version": "6.23.0", 544 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 545 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 546 | "dev": true, 547 | "requires": { 548 | "babel-runtime": "6.26.0" 549 | } 550 | }, 551 | "babel-plugin-transform-es2015-unicode-regex": { 552 | "version": "6.24.1", 553 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 554 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 555 | "dev": true, 556 | "requires": { 557 | "babel-helper-regex": "6.26.0", 558 | "babel-runtime": "6.26.0", 559 | "regexpu-core": "2.0.0" 560 | } 561 | }, 562 | "babel-plugin-transform-exponentiation-operator": { 563 | "version": "6.24.1", 564 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", 565 | "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", 566 | "dev": true, 567 | "requires": { 568 | "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", 569 | "babel-plugin-syntax-exponentiation-operator": "6.13.0", 570 | "babel-runtime": "6.26.0" 571 | } 572 | }, 573 | "babel-plugin-transform-regenerator": { 574 | "version": "6.26.0", 575 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", 576 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", 577 | "dev": true, 578 | "requires": { 579 | "regenerator-transform": "0.10.1" 580 | } 581 | }, 582 | "babel-plugin-transform-strict-mode": { 583 | "version": "6.24.1", 584 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 585 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 586 | "dev": true, 587 | "requires": { 588 | "babel-runtime": "6.26.0", 589 | "babel-types": "6.26.0" 590 | } 591 | }, 592 | "babel-polyfill": { 593 | "version": "6.26.0", 594 | "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", 595 | "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", 596 | "dev": true, 597 | "requires": { 598 | "babel-runtime": "6.26.0", 599 | "core-js": "2.5.6", 600 | "regenerator-runtime": "0.10.5" 601 | }, 602 | "dependencies": { 603 | "regenerator-runtime": { 604 | "version": "0.10.5", 605 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", 606 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", 607 | "dev": true 608 | } 609 | } 610 | }, 611 | "babel-preset-env": { 612 | "version": "1.7.0", 613 | "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", 614 | "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", 615 | "dev": true, 616 | "requires": { 617 | "babel-plugin-check-es2015-constants": "6.22.0", 618 | "babel-plugin-syntax-trailing-function-commas": "6.22.0", 619 | "babel-plugin-transform-async-to-generator": "6.24.1", 620 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0", 621 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", 622 | "babel-plugin-transform-es2015-block-scoping": "6.26.0", 623 | "babel-plugin-transform-es2015-classes": "6.24.1", 624 | "babel-plugin-transform-es2015-computed-properties": "6.24.1", 625 | "babel-plugin-transform-es2015-destructuring": "6.23.0", 626 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", 627 | "babel-plugin-transform-es2015-for-of": "6.23.0", 628 | "babel-plugin-transform-es2015-function-name": "6.24.1", 629 | "babel-plugin-transform-es2015-literals": "6.22.0", 630 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 631 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 632 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", 633 | "babel-plugin-transform-es2015-modules-umd": "6.24.1", 634 | "babel-plugin-transform-es2015-object-super": "6.24.1", 635 | "babel-plugin-transform-es2015-parameters": "6.24.1", 636 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", 637 | "babel-plugin-transform-es2015-spread": "6.22.0", 638 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1", 639 | "babel-plugin-transform-es2015-template-literals": "6.22.0", 640 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", 641 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1", 642 | "babel-plugin-transform-exponentiation-operator": "6.24.1", 643 | "babel-plugin-transform-regenerator": "6.26.0", 644 | "browserslist": "3.2.8", 645 | "invariant": "2.2.4", 646 | "semver": "5.5.0" 647 | } 648 | }, 649 | "babel-register": { 650 | "version": "6.26.0", 651 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 652 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 653 | "dev": true, 654 | "requires": { 655 | "babel-core": "6.26.3", 656 | "babel-runtime": "6.26.0", 657 | "core-js": "2.5.6", 658 | "home-or-tmp": "2.0.0", 659 | "lodash": "4.17.10", 660 | "mkdirp": "0.5.1", 661 | "source-map-support": "0.4.18" 662 | } 663 | }, 664 | "babel-runtime": { 665 | "version": "6.26.0", 666 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 667 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 668 | "dev": true, 669 | "requires": { 670 | "core-js": "2.5.6", 671 | "regenerator-runtime": "0.11.1" 672 | } 673 | }, 674 | "babel-template": { 675 | "version": "6.26.0", 676 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 677 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 678 | "dev": true, 679 | "requires": { 680 | "babel-runtime": "6.26.0", 681 | "babel-traverse": "6.26.0", 682 | "babel-types": "6.26.0", 683 | "babylon": "6.18.0", 684 | "lodash": "4.17.10" 685 | } 686 | }, 687 | "babel-traverse": { 688 | "version": "6.26.0", 689 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 690 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 691 | "dev": true, 692 | "requires": { 693 | "babel-code-frame": "6.26.0", 694 | "babel-messages": "6.23.0", 695 | "babel-runtime": "6.26.0", 696 | "babel-types": "6.26.0", 697 | "babylon": "6.18.0", 698 | "debug": "2.6.9", 699 | "globals": "9.18.0", 700 | "invariant": "2.2.4", 701 | "lodash": "4.17.10" 702 | } 703 | }, 704 | "babel-types": { 705 | "version": "6.26.0", 706 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 707 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 708 | "dev": true, 709 | "requires": { 710 | "babel-runtime": "6.26.0", 711 | "esutils": "2.0.2", 712 | "lodash": "4.17.10", 713 | "to-fast-properties": "1.0.3" 714 | } 715 | }, 716 | "babylon": { 717 | "version": "6.18.0", 718 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 719 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 720 | "dev": true 721 | }, 722 | "balanced-match": { 723 | "version": "1.0.0", 724 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 725 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 726 | "dev": true 727 | }, 728 | "binary-extensions": { 729 | "version": "1.11.0", 730 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", 731 | "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", 732 | "dev": true, 733 | "optional": true 734 | }, 735 | "brace-expansion": { 736 | "version": "1.1.11", 737 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 738 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 739 | "dev": true, 740 | "requires": { 741 | "balanced-match": "1.0.0", 742 | "concat-map": "0.0.1" 743 | } 744 | }, 745 | "braces": { 746 | "version": "1.8.5", 747 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 748 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 749 | "dev": true, 750 | "optional": true, 751 | "requires": { 752 | "expand-range": "1.8.2", 753 | "preserve": "0.2.0", 754 | "repeat-element": "1.1.2" 755 | } 756 | }, 757 | "browserslist": { 758 | "version": "3.2.8", 759 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", 760 | "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", 761 | "dev": true, 762 | "requires": { 763 | "caniuse-lite": "1.0.30000846", 764 | "electron-to-chromium": "1.3.48" 765 | } 766 | }, 767 | "caniuse-lite": { 768 | "version": "1.0.30000846", 769 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000846.tgz", 770 | "integrity": "sha512-qxUOHr5mTaadWH1ap0ueivHd8x42Bnemcn+JutVr7GWmm2bU4zoBhjuv5QdXgALQnnT626lOQros7cCDf8PwCg==", 771 | "dev": true 772 | }, 773 | "chalk": { 774 | "version": "1.1.3", 775 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 776 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 777 | "dev": true, 778 | "requires": { 779 | "ansi-styles": "2.2.1", 780 | "escape-string-regexp": "1.0.5", 781 | "has-ansi": "2.0.0", 782 | "strip-ansi": "3.0.1", 783 | "supports-color": "2.0.0" 784 | } 785 | }, 786 | "chokidar": { 787 | "version": "1.7.0", 788 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", 789 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", 790 | "dev": true, 791 | "optional": true, 792 | "requires": { 793 | "anymatch": "1.3.2", 794 | "async-each": "1.0.1", 795 | "fsevents": "1.2.4", 796 | "glob-parent": "2.0.0", 797 | "inherits": "2.0.3", 798 | "is-binary-path": "1.0.1", 799 | "is-glob": "2.0.1", 800 | "path-is-absolute": "1.0.1", 801 | "readdirp": "2.1.0" 802 | } 803 | }, 804 | "commander": { 805 | "version": "2.15.1", 806 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", 807 | "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", 808 | "dev": true 809 | }, 810 | "concat-map": { 811 | "version": "0.0.1", 812 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 813 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 814 | "dev": true 815 | }, 816 | "convert-source-map": { 817 | "version": "1.5.1", 818 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 819 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 820 | "dev": true 821 | }, 822 | "core-js": { 823 | "version": "2.5.6", 824 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", 825 | "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", 826 | "dev": true 827 | }, 828 | "core-util-is": { 829 | "version": "1.0.2", 830 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 831 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 832 | "dev": true, 833 | "optional": true 834 | }, 835 | "debug": { 836 | "version": "2.6.9", 837 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 838 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 839 | "dev": true, 840 | "requires": { 841 | "ms": "2.0.0" 842 | } 843 | }, 844 | "detect-indent": { 845 | "version": "4.0.0", 846 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 847 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 848 | "dev": true, 849 | "requires": { 850 | "repeating": "2.0.1" 851 | } 852 | }, 853 | "electron-to-chromium": { 854 | "version": "1.3.48", 855 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", 856 | "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", 857 | "dev": true 858 | }, 859 | "escape-string-regexp": { 860 | "version": "1.0.5", 861 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 862 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 863 | "dev": true 864 | }, 865 | "esutils": { 866 | "version": "2.0.2", 867 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 868 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 869 | "dev": true 870 | }, 871 | "expand-brackets": { 872 | "version": "0.1.5", 873 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 874 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 875 | "dev": true, 876 | "optional": true, 877 | "requires": { 878 | "is-posix-bracket": "0.1.1" 879 | } 880 | }, 881 | "expand-range": { 882 | "version": "1.8.2", 883 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 884 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 885 | "dev": true, 886 | "optional": true, 887 | "requires": { 888 | "fill-range": "2.2.4" 889 | } 890 | }, 891 | "extglob": { 892 | "version": "0.3.2", 893 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 894 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 895 | "dev": true, 896 | "optional": true, 897 | "requires": { 898 | "is-extglob": "1.0.0" 899 | } 900 | }, 901 | "filename-regex": { 902 | "version": "2.0.1", 903 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 904 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 905 | "dev": true, 906 | "optional": true 907 | }, 908 | "fill-range": { 909 | "version": "2.2.4", 910 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", 911 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", 912 | "dev": true, 913 | "optional": true, 914 | "requires": { 915 | "is-number": "2.1.0", 916 | "isobject": "2.1.0", 917 | "randomatic": "3.0.0", 918 | "repeat-element": "1.1.2", 919 | "repeat-string": "1.6.1" 920 | } 921 | }, 922 | "for-in": { 923 | "version": "1.0.2", 924 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 925 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 926 | "dev": true, 927 | "optional": true 928 | }, 929 | "for-own": { 930 | "version": "0.1.5", 931 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 932 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 933 | "dev": true, 934 | "optional": true, 935 | "requires": { 936 | "for-in": "1.0.2" 937 | } 938 | }, 939 | "fs-readdir-recursive": { 940 | "version": "1.1.0", 941 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", 942 | "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", 943 | "dev": true 944 | }, 945 | "fs.realpath": { 946 | "version": "1.0.0", 947 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 948 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 949 | "dev": true 950 | }, 951 | "fsevents": { 952 | "version": "1.2.4", 953 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", 954 | "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", 955 | "dev": true, 956 | "optional": true, 957 | "requires": { 958 | "nan": "2.10.0", 959 | "node-pre-gyp": "0.10.0" 960 | }, 961 | "dependencies": { 962 | "abbrev": { 963 | "version": "1.1.1", 964 | "bundled": true, 965 | "dev": true, 966 | "optional": true 967 | }, 968 | "ansi-regex": { 969 | "version": "2.1.1", 970 | "bundled": true, 971 | "dev": true 972 | }, 973 | "aproba": { 974 | "version": "1.2.0", 975 | "bundled": true, 976 | "dev": true, 977 | "optional": true 978 | }, 979 | "are-we-there-yet": { 980 | "version": "1.1.4", 981 | "bundled": true, 982 | "dev": true, 983 | "optional": true, 984 | "requires": { 985 | "delegates": "1.0.0", 986 | "readable-stream": "2.3.6" 987 | } 988 | }, 989 | "balanced-match": { 990 | "version": "1.0.0", 991 | "bundled": true, 992 | "dev": true 993 | }, 994 | "brace-expansion": { 995 | "version": "1.1.11", 996 | "bundled": true, 997 | "dev": true, 998 | "requires": { 999 | "balanced-match": "1.0.0", 1000 | "concat-map": "0.0.1" 1001 | } 1002 | }, 1003 | "chownr": { 1004 | "version": "1.0.1", 1005 | "bundled": true, 1006 | "dev": true, 1007 | "optional": true 1008 | }, 1009 | "code-point-at": { 1010 | "version": "1.1.0", 1011 | "bundled": true, 1012 | "dev": true 1013 | }, 1014 | "concat-map": { 1015 | "version": "0.0.1", 1016 | "bundled": true, 1017 | "dev": true 1018 | }, 1019 | "console-control-strings": { 1020 | "version": "1.1.0", 1021 | "bundled": true, 1022 | "dev": true 1023 | }, 1024 | "core-util-is": { 1025 | "version": "1.0.2", 1026 | "bundled": true, 1027 | "dev": true, 1028 | "optional": true 1029 | }, 1030 | "debug": { 1031 | "version": "2.6.9", 1032 | "bundled": true, 1033 | "dev": true, 1034 | "optional": true, 1035 | "requires": { 1036 | "ms": "2.0.0" 1037 | } 1038 | }, 1039 | "deep-extend": { 1040 | "version": "0.5.1", 1041 | "bundled": true, 1042 | "dev": true, 1043 | "optional": true 1044 | }, 1045 | "delegates": { 1046 | "version": "1.0.0", 1047 | "bundled": true, 1048 | "dev": true, 1049 | "optional": true 1050 | }, 1051 | "detect-libc": { 1052 | "version": "1.0.3", 1053 | "bundled": true, 1054 | "dev": true, 1055 | "optional": true 1056 | }, 1057 | "fs-minipass": { 1058 | "version": "1.2.5", 1059 | "bundled": true, 1060 | "dev": true, 1061 | "optional": true, 1062 | "requires": { 1063 | "minipass": "2.2.4" 1064 | } 1065 | }, 1066 | "fs.realpath": { 1067 | "version": "1.0.0", 1068 | "bundled": true, 1069 | "dev": true, 1070 | "optional": true 1071 | }, 1072 | "gauge": { 1073 | "version": "2.7.4", 1074 | "bundled": true, 1075 | "dev": true, 1076 | "optional": true, 1077 | "requires": { 1078 | "aproba": "1.2.0", 1079 | "console-control-strings": "1.1.0", 1080 | "has-unicode": "2.0.1", 1081 | "object-assign": "4.1.1", 1082 | "signal-exit": "3.0.2", 1083 | "string-width": "1.0.2", 1084 | "strip-ansi": "3.0.1", 1085 | "wide-align": "1.1.2" 1086 | } 1087 | }, 1088 | "glob": { 1089 | "version": "7.1.2", 1090 | "bundled": true, 1091 | "dev": true, 1092 | "optional": true, 1093 | "requires": { 1094 | "fs.realpath": "1.0.0", 1095 | "inflight": "1.0.6", 1096 | "inherits": "2.0.3", 1097 | "minimatch": "3.0.4", 1098 | "once": "1.4.0", 1099 | "path-is-absolute": "1.0.1" 1100 | } 1101 | }, 1102 | "has-unicode": { 1103 | "version": "2.0.1", 1104 | "bundled": true, 1105 | "dev": true, 1106 | "optional": true 1107 | }, 1108 | "iconv-lite": { 1109 | "version": "0.4.21", 1110 | "bundled": true, 1111 | "dev": true, 1112 | "optional": true, 1113 | "requires": { 1114 | "safer-buffer": "2.1.2" 1115 | } 1116 | }, 1117 | "ignore-walk": { 1118 | "version": "3.0.1", 1119 | "bundled": true, 1120 | "dev": true, 1121 | "optional": true, 1122 | "requires": { 1123 | "minimatch": "3.0.4" 1124 | } 1125 | }, 1126 | "inflight": { 1127 | "version": "1.0.6", 1128 | "bundled": true, 1129 | "dev": true, 1130 | "optional": true, 1131 | "requires": { 1132 | "once": "1.4.0", 1133 | "wrappy": "1.0.2" 1134 | } 1135 | }, 1136 | "inherits": { 1137 | "version": "2.0.3", 1138 | "bundled": true, 1139 | "dev": true 1140 | }, 1141 | "ini": { 1142 | "version": "1.3.5", 1143 | "bundled": true, 1144 | "dev": true, 1145 | "optional": true 1146 | }, 1147 | "is-fullwidth-code-point": { 1148 | "version": "1.0.0", 1149 | "bundled": true, 1150 | "dev": true, 1151 | "requires": { 1152 | "number-is-nan": "1.0.1" 1153 | } 1154 | }, 1155 | "isarray": { 1156 | "version": "1.0.0", 1157 | "bundled": true, 1158 | "dev": true, 1159 | "optional": true 1160 | }, 1161 | "minimatch": { 1162 | "version": "3.0.4", 1163 | "bundled": true, 1164 | "dev": true, 1165 | "requires": { 1166 | "brace-expansion": "1.1.11" 1167 | } 1168 | }, 1169 | "minimist": { 1170 | "version": "0.0.8", 1171 | "bundled": true, 1172 | "dev": true 1173 | }, 1174 | "minipass": { 1175 | "version": "2.2.4", 1176 | "bundled": true, 1177 | "dev": true, 1178 | "requires": { 1179 | "safe-buffer": "5.1.1", 1180 | "yallist": "3.0.2" 1181 | } 1182 | }, 1183 | "minizlib": { 1184 | "version": "1.1.0", 1185 | "bundled": true, 1186 | "dev": true, 1187 | "optional": true, 1188 | "requires": { 1189 | "minipass": "2.2.4" 1190 | } 1191 | }, 1192 | "mkdirp": { 1193 | "version": "0.5.1", 1194 | "bundled": true, 1195 | "dev": true, 1196 | "requires": { 1197 | "minimist": "0.0.8" 1198 | } 1199 | }, 1200 | "ms": { 1201 | "version": "2.0.0", 1202 | "bundled": true, 1203 | "dev": true, 1204 | "optional": true 1205 | }, 1206 | "needle": { 1207 | "version": "2.2.0", 1208 | "bundled": true, 1209 | "dev": true, 1210 | "optional": true, 1211 | "requires": { 1212 | "debug": "2.6.9", 1213 | "iconv-lite": "0.4.21", 1214 | "sax": "1.2.4" 1215 | } 1216 | }, 1217 | "node-pre-gyp": { 1218 | "version": "0.10.0", 1219 | "bundled": true, 1220 | "dev": true, 1221 | "optional": true, 1222 | "requires": { 1223 | "detect-libc": "1.0.3", 1224 | "mkdirp": "0.5.1", 1225 | "needle": "2.2.0", 1226 | "nopt": "4.0.1", 1227 | "npm-packlist": "1.1.10", 1228 | "npmlog": "4.1.2", 1229 | "rc": "1.2.7", 1230 | "rimraf": "2.6.2", 1231 | "semver": "5.5.0", 1232 | "tar": "4.4.1" 1233 | } 1234 | }, 1235 | "nopt": { 1236 | "version": "4.0.1", 1237 | "bundled": true, 1238 | "dev": true, 1239 | "optional": true, 1240 | "requires": { 1241 | "abbrev": "1.1.1", 1242 | "osenv": "0.1.5" 1243 | } 1244 | }, 1245 | "npm-bundled": { 1246 | "version": "1.0.3", 1247 | "bundled": true, 1248 | "dev": true, 1249 | "optional": true 1250 | }, 1251 | "npm-packlist": { 1252 | "version": "1.1.10", 1253 | "bundled": true, 1254 | "dev": true, 1255 | "optional": true, 1256 | "requires": { 1257 | "ignore-walk": "3.0.1", 1258 | "npm-bundled": "1.0.3" 1259 | } 1260 | }, 1261 | "npmlog": { 1262 | "version": "4.1.2", 1263 | "bundled": true, 1264 | "dev": true, 1265 | "optional": true, 1266 | "requires": { 1267 | "are-we-there-yet": "1.1.4", 1268 | "console-control-strings": "1.1.0", 1269 | "gauge": "2.7.4", 1270 | "set-blocking": "2.0.0" 1271 | } 1272 | }, 1273 | "number-is-nan": { 1274 | "version": "1.0.1", 1275 | "bundled": true, 1276 | "dev": true 1277 | }, 1278 | "object-assign": { 1279 | "version": "4.1.1", 1280 | "bundled": true, 1281 | "dev": true, 1282 | "optional": true 1283 | }, 1284 | "once": { 1285 | "version": "1.4.0", 1286 | "bundled": true, 1287 | "dev": true, 1288 | "requires": { 1289 | "wrappy": "1.0.2" 1290 | } 1291 | }, 1292 | "os-homedir": { 1293 | "version": "1.0.2", 1294 | "bundled": true, 1295 | "dev": true, 1296 | "optional": true 1297 | }, 1298 | "os-tmpdir": { 1299 | "version": "1.0.2", 1300 | "bundled": true, 1301 | "dev": true, 1302 | "optional": true 1303 | }, 1304 | "osenv": { 1305 | "version": "0.1.5", 1306 | "bundled": true, 1307 | "dev": true, 1308 | "optional": true, 1309 | "requires": { 1310 | "os-homedir": "1.0.2", 1311 | "os-tmpdir": "1.0.2" 1312 | } 1313 | }, 1314 | "path-is-absolute": { 1315 | "version": "1.0.1", 1316 | "bundled": true, 1317 | "dev": true, 1318 | "optional": true 1319 | }, 1320 | "process-nextick-args": { 1321 | "version": "2.0.0", 1322 | "bundled": true, 1323 | "dev": true, 1324 | "optional": true 1325 | }, 1326 | "rc": { 1327 | "version": "1.2.7", 1328 | "bundled": true, 1329 | "dev": true, 1330 | "optional": true, 1331 | "requires": { 1332 | "deep-extend": "0.5.1", 1333 | "ini": "1.3.5", 1334 | "minimist": "1.2.0", 1335 | "strip-json-comments": "2.0.1" 1336 | }, 1337 | "dependencies": { 1338 | "minimist": { 1339 | "version": "1.2.0", 1340 | "bundled": true, 1341 | "dev": true, 1342 | "optional": true 1343 | } 1344 | } 1345 | }, 1346 | "readable-stream": { 1347 | "version": "2.3.6", 1348 | "bundled": true, 1349 | "dev": true, 1350 | "optional": true, 1351 | "requires": { 1352 | "core-util-is": "1.0.2", 1353 | "inherits": "2.0.3", 1354 | "isarray": "1.0.0", 1355 | "process-nextick-args": "2.0.0", 1356 | "safe-buffer": "5.1.1", 1357 | "string_decoder": "1.1.1", 1358 | "util-deprecate": "1.0.2" 1359 | } 1360 | }, 1361 | "rimraf": { 1362 | "version": "2.6.2", 1363 | "bundled": true, 1364 | "dev": true, 1365 | "optional": true, 1366 | "requires": { 1367 | "glob": "7.1.2" 1368 | } 1369 | }, 1370 | "safe-buffer": { 1371 | "version": "5.1.1", 1372 | "bundled": true, 1373 | "dev": true 1374 | }, 1375 | "safer-buffer": { 1376 | "version": "2.1.2", 1377 | "bundled": true, 1378 | "dev": true, 1379 | "optional": true 1380 | }, 1381 | "sax": { 1382 | "version": "1.2.4", 1383 | "bundled": true, 1384 | "dev": true, 1385 | "optional": true 1386 | }, 1387 | "semver": { 1388 | "version": "5.5.0", 1389 | "bundled": true, 1390 | "dev": true, 1391 | "optional": true 1392 | }, 1393 | "set-blocking": { 1394 | "version": "2.0.0", 1395 | "bundled": true, 1396 | "dev": true, 1397 | "optional": true 1398 | }, 1399 | "signal-exit": { 1400 | "version": "3.0.2", 1401 | "bundled": true, 1402 | "dev": true, 1403 | "optional": true 1404 | }, 1405 | "string-width": { 1406 | "version": "1.0.2", 1407 | "bundled": true, 1408 | "dev": true, 1409 | "requires": { 1410 | "code-point-at": "1.1.0", 1411 | "is-fullwidth-code-point": "1.0.0", 1412 | "strip-ansi": "3.0.1" 1413 | } 1414 | }, 1415 | "string_decoder": { 1416 | "version": "1.1.1", 1417 | "bundled": true, 1418 | "dev": true, 1419 | "optional": true, 1420 | "requires": { 1421 | "safe-buffer": "5.1.1" 1422 | } 1423 | }, 1424 | "strip-ansi": { 1425 | "version": "3.0.1", 1426 | "bundled": true, 1427 | "dev": true, 1428 | "requires": { 1429 | "ansi-regex": "2.1.1" 1430 | } 1431 | }, 1432 | "strip-json-comments": { 1433 | "version": "2.0.1", 1434 | "bundled": true, 1435 | "dev": true, 1436 | "optional": true 1437 | }, 1438 | "tar": { 1439 | "version": "4.4.1", 1440 | "bundled": true, 1441 | "dev": true, 1442 | "optional": true, 1443 | "requires": { 1444 | "chownr": "1.0.1", 1445 | "fs-minipass": "1.2.5", 1446 | "minipass": "2.2.4", 1447 | "minizlib": "1.1.0", 1448 | "mkdirp": "0.5.1", 1449 | "safe-buffer": "5.1.1", 1450 | "yallist": "3.0.2" 1451 | } 1452 | }, 1453 | "util-deprecate": { 1454 | "version": "1.0.2", 1455 | "bundled": true, 1456 | "dev": true, 1457 | "optional": true 1458 | }, 1459 | "wide-align": { 1460 | "version": "1.1.2", 1461 | "bundled": true, 1462 | "dev": true, 1463 | "optional": true, 1464 | "requires": { 1465 | "string-width": "1.0.2" 1466 | } 1467 | }, 1468 | "wrappy": { 1469 | "version": "1.0.2", 1470 | "bundled": true, 1471 | "dev": true 1472 | }, 1473 | "yallist": { 1474 | "version": "3.0.2", 1475 | "bundled": true, 1476 | "dev": true 1477 | } 1478 | } 1479 | }, 1480 | "glob": { 1481 | "version": "7.1.2", 1482 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1483 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1484 | "dev": true, 1485 | "requires": { 1486 | "fs.realpath": "1.0.0", 1487 | "inflight": "1.0.6", 1488 | "inherits": "2.0.3", 1489 | "minimatch": "3.0.4", 1490 | "once": "1.4.0", 1491 | "path-is-absolute": "1.0.1" 1492 | } 1493 | }, 1494 | "glob-base": { 1495 | "version": "0.3.0", 1496 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 1497 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 1498 | "dev": true, 1499 | "optional": true, 1500 | "requires": { 1501 | "glob-parent": "2.0.0", 1502 | "is-glob": "2.0.1" 1503 | } 1504 | }, 1505 | "glob-parent": { 1506 | "version": "2.0.0", 1507 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 1508 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 1509 | "dev": true, 1510 | "requires": { 1511 | "is-glob": "2.0.1" 1512 | } 1513 | }, 1514 | "globals": { 1515 | "version": "9.18.0", 1516 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1517 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 1518 | "dev": true 1519 | }, 1520 | "graceful-fs": { 1521 | "version": "4.1.11", 1522 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1523 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1524 | "dev": true 1525 | }, 1526 | "has-ansi": { 1527 | "version": "2.0.0", 1528 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1529 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1530 | "dev": true, 1531 | "requires": { 1532 | "ansi-regex": "2.1.1" 1533 | } 1534 | }, 1535 | "home-or-tmp": { 1536 | "version": "2.0.0", 1537 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1538 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1539 | "dev": true, 1540 | "requires": { 1541 | "os-homedir": "1.0.2", 1542 | "os-tmpdir": "1.0.2" 1543 | } 1544 | }, 1545 | "inflight": { 1546 | "version": "1.0.6", 1547 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1548 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1549 | "dev": true, 1550 | "requires": { 1551 | "once": "1.4.0", 1552 | "wrappy": "1.0.2" 1553 | } 1554 | }, 1555 | "inherits": { 1556 | "version": "2.0.3", 1557 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1558 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1559 | "dev": true 1560 | }, 1561 | "invariant": { 1562 | "version": "2.2.4", 1563 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1564 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1565 | "dev": true, 1566 | "requires": { 1567 | "loose-envify": "1.3.1" 1568 | } 1569 | }, 1570 | "is-binary-path": { 1571 | "version": "1.0.1", 1572 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 1573 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 1574 | "dev": true, 1575 | "optional": true, 1576 | "requires": { 1577 | "binary-extensions": "1.11.0" 1578 | } 1579 | }, 1580 | "is-buffer": { 1581 | "version": "1.1.6", 1582 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1583 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1584 | "dev": true 1585 | }, 1586 | "is-dotfile": { 1587 | "version": "1.0.3", 1588 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1589 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1590 | "dev": true, 1591 | "optional": true 1592 | }, 1593 | "is-equal-shallow": { 1594 | "version": "0.1.3", 1595 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1596 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1597 | "dev": true, 1598 | "optional": true, 1599 | "requires": { 1600 | "is-primitive": "2.0.0" 1601 | } 1602 | }, 1603 | "is-extendable": { 1604 | "version": "0.1.1", 1605 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1606 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1607 | "dev": true, 1608 | "optional": true 1609 | }, 1610 | "is-extglob": { 1611 | "version": "1.0.0", 1612 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1613 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1614 | "dev": true 1615 | }, 1616 | "is-finite": { 1617 | "version": "1.0.2", 1618 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1619 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1620 | "dev": true, 1621 | "requires": { 1622 | "number-is-nan": "1.0.1" 1623 | } 1624 | }, 1625 | "is-glob": { 1626 | "version": "2.0.1", 1627 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1628 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1629 | "dev": true, 1630 | "requires": { 1631 | "is-extglob": "1.0.0" 1632 | } 1633 | }, 1634 | "is-number": { 1635 | "version": "2.1.0", 1636 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1637 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1638 | "dev": true, 1639 | "optional": true, 1640 | "requires": { 1641 | "kind-of": "3.2.2" 1642 | } 1643 | }, 1644 | "is-posix-bracket": { 1645 | "version": "0.1.1", 1646 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1647 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1648 | "dev": true, 1649 | "optional": true 1650 | }, 1651 | "is-primitive": { 1652 | "version": "2.0.0", 1653 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1654 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1655 | "dev": true, 1656 | "optional": true 1657 | }, 1658 | "isarray": { 1659 | "version": "1.0.0", 1660 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1661 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1662 | "dev": true 1663 | }, 1664 | "isobject": { 1665 | "version": "2.1.0", 1666 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1667 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1668 | "dev": true, 1669 | "optional": true, 1670 | "requires": { 1671 | "isarray": "1.0.0" 1672 | } 1673 | }, 1674 | "js-tokens": { 1675 | "version": "3.0.2", 1676 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1677 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1678 | "dev": true 1679 | }, 1680 | "jsesc": { 1681 | "version": "1.3.0", 1682 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 1683 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 1684 | "dev": true 1685 | }, 1686 | "json5": { 1687 | "version": "0.5.1", 1688 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 1689 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 1690 | "dev": true 1691 | }, 1692 | "kind-of": { 1693 | "version": "3.2.2", 1694 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1695 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1696 | "dev": true, 1697 | "requires": { 1698 | "is-buffer": "1.1.6" 1699 | } 1700 | }, 1701 | "lodash": { 1702 | "version": "4.17.10", 1703 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 1704 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 1705 | "dev": true 1706 | }, 1707 | "loose-envify": { 1708 | "version": "1.3.1", 1709 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 1710 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 1711 | "dev": true, 1712 | "requires": { 1713 | "js-tokens": "3.0.2" 1714 | } 1715 | }, 1716 | "math-random": { 1717 | "version": "1.0.1", 1718 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", 1719 | "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", 1720 | "dev": true, 1721 | "optional": true 1722 | }, 1723 | "micromatch": { 1724 | "version": "2.3.11", 1725 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 1726 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1727 | "dev": true, 1728 | "optional": true, 1729 | "requires": { 1730 | "arr-diff": "2.0.0", 1731 | "array-unique": "0.2.1", 1732 | "braces": "1.8.5", 1733 | "expand-brackets": "0.1.5", 1734 | "extglob": "0.3.2", 1735 | "filename-regex": "2.0.1", 1736 | "is-extglob": "1.0.0", 1737 | "is-glob": "2.0.1", 1738 | "kind-of": "3.2.2", 1739 | "normalize-path": "2.1.1", 1740 | "object.omit": "2.0.1", 1741 | "parse-glob": "3.0.4", 1742 | "regex-cache": "0.4.4" 1743 | } 1744 | }, 1745 | "minimatch": { 1746 | "version": "3.0.4", 1747 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1748 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1749 | "dev": true, 1750 | "requires": { 1751 | "brace-expansion": "1.1.11" 1752 | } 1753 | }, 1754 | "minimist": { 1755 | "version": "0.0.8", 1756 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1757 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1758 | "dev": true 1759 | }, 1760 | "mkdirp": { 1761 | "version": "0.5.1", 1762 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1763 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1764 | "dev": true, 1765 | "requires": { 1766 | "minimist": "0.0.8" 1767 | } 1768 | }, 1769 | "ms": { 1770 | "version": "2.0.0", 1771 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1772 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1773 | "dev": true 1774 | }, 1775 | "nan": { 1776 | "version": "2.10.0", 1777 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", 1778 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", 1779 | "dev": true, 1780 | "optional": true 1781 | }, 1782 | "normalize-path": { 1783 | "version": "2.1.1", 1784 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1785 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1786 | "dev": true, 1787 | "requires": { 1788 | "remove-trailing-separator": "1.1.0" 1789 | } 1790 | }, 1791 | "number-is-nan": { 1792 | "version": "1.0.1", 1793 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1794 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1795 | "dev": true 1796 | }, 1797 | "object-assign": { 1798 | "version": "4.1.1", 1799 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1800 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1801 | "dev": true 1802 | }, 1803 | "object.omit": { 1804 | "version": "2.0.1", 1805 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 1806 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 1807 | "dev": true, 1808 | "optional": true, 1809 | "requires": { 1810 | "for-own": "0.1.5", 1811 | "is-extendable": "0.1.1" 1812 | } 1813 | }, 1814 | "once": { 1815 | "version": "1.4.0", 1816 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1817 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1818 | "dev": true, 1819 | "requires": { 1820 | "wrappy": "1.0.2" 1821 | } 1822 | }, 1823 | "os-homedir": { 1824 | "version": "1.0.2", 1825 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 1826 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 1827 | "dev": true 1828 | }, 1829 | "os-tmpdir": { 1830 | "version": "1.0.2", 1831 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1832 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1833 | "dev": true 1834 | }, 1835 | "output-file-sync": { 1836 | "version": "1.1.2", 1837 | "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", 1838 | "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", 1839 | "dev": true, 1840 | "requires": { 1841 | "graceful-fs": "4.1.11", 1842 | "mkdirp": "0.5.1", 1843 | "object-assign": "4.1.1" 1844 | } 1845 | }, 1846 | "parse-glob": { 1847 | "version": "3.0.4", 1848 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 1849 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 1850 | "dev": true, 1851 | "optional": true, 1852 | "requires": { 1853 | "glob-base": "0.3.0", 1854 | "is-dotfile": "1.0.3", 1855 | "is-extglob": "1.0.0", 1856 | "is-glob": "2.0.1" 1857 | } 1858 | }, 1859 | "path-is-absolute": { 1860 | "version": "1.0.1", 1861 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1862 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1863 | "dev": true 1864 | }, 1865 | "preserve": { 1866 | "version": "0.2.0", 1867 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 1868 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 1869 | "dev": true, 1870 | "optional": true 1871 | }, 1872 | "private": { 1873 | "version": "0.1.8", 1874 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 1875 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 1876 | "dev": true 1877 | }, 1878 | "process-nextick-args": { 1879 | "version": "2.0.0", 1880 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1881 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 1882 | "dev": true, 1883 | "optional": true 1884 | }, 1885 | "randomatic": { 1886 | "version": "3.0.0", 1887 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", 1888 | "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", 1889 | "dev": true, 1890 | "optional": true, 1891 | "requires": { 1892 | "is-number": "4.0.0", 1893 | "kind-of": "6.0.2", 1894 | "math-random": "1.0.1" 1895 | }, 1896 | "dependencies": { 1897 | "is-number": { 1898 | "version": "4.0.0", 1899 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", 1900 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", 1901 | "dev": true, 1902 | "optional": true 1903 | }, 1904 | "kind-of": { 1905 | "version": "6.0.2", 1906 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 1907 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 1908 | "dev": true, 1909 | "optional": true 1910 | } 1911 | } 1912 | }, 1913 | "readable-stream": { 1914 | "version": "2.3.6", 1915 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 1916 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 1917 | "dev": true, 1918 | "optional": true, 1919 | "requires": { 1920 | "core-util-is": "1.0.2", 1921 | "inherits": "2.0.3", 1922 | "isarray": "1.0.0", 1923 | "process-nextick-args": "2.0.0", 1924 | "safe-buffer": "5.1.2", 1925 | "string_decoder": "1.1.1", 1926 | "util-deprecate": "1.0.2" 1927 | } 1928 | }, 1929 | "readdirp": { 1930 | "version": "2.1.0", 1931 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", 1932 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", 1933 | "dev": true, 1934 | "optional": true, 1935 | "requires": { 1936 | "graceful-fs": "4.1.11", 1937 | "minimatch": "3.0.4", 1938 | "readable-stream": "2.3.6", 1939 | "set-immediate-shim": "1.0.1" 1940 | } 1941 | }, 1942 | "regenerate": { 1943 | "version": "1.4.0", 1944 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 1945 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 1946 | "dev": true 1947 | }, 1948 | "regenerator-runtime": { 1949 | "version": "0.11.1", 1950 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 1951 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", 1952 | "dev": true 1953 | }, 1954 | "regenerator-transform": { 1955 | "version": "0.10.1", 1956 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", 1957 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", 1958 | "dev": true, 1959 | "requires": { 1960 | "babel-runtime": "6.26.0", 1961 | "babel-types": "6.26.0", 1962 | "private": "0.1.8" 1963 | } 1964 | }, 1965 | "regex-cache": { 1966 | "version": "0.4.4", 1967 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 1968 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 1969 | "dev": true, 1970 | "optional": true, 1971 | "requires": { 1972 | "is-equal-shallow": "0.1.3" 1973 | } 1974 | }, 1975 | "regexpu-core": { 1976 | "version": "2.0.0", 1977 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 1978 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 1979 | "dev": true, 1980 | "requires": { 1981 | "regenerate": "1.4.0", 1982 | "regjsgen": "0.2.0", 1983 | "regjsparser": "0.1.5" 1984 | } 1985 | }, 1986 | "regjsgen": { 1987 | "version": "0.2.0", 1988 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 1989 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 1990 | "dev": true 1991 | }, 1992 | "regjsparser": { 1993 | "version": "0.1.5", 1994 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 1995 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 1996 | "dev": true, 1997 | "requires": { 1998 | "jsesc": "0.5.0" 1999 | }, 2000 | "dependencies": { 2001 | "jsesc": { 2002 | "version": "0.5.0", 2003 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 2004 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 2005 | "dev": true 2006 | } 2007 | } 2008 | }, 2009 | "remove-trailing-separator": { 2010 | "version": "1.1.0", 2011 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2012 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 2013 | "dev": true 2014 | }, 2015 | "repeat-element": { 2016 | "version": "1.1.2", 2017 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 2018 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 2019 | "dev": true 2020 | }, 2021 | "repeat-string": { 2022 | "version": "1.6.1", 2023 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2024 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 2025 | "dev": true, 2026 | "optional": true 2027 | }, 2028 | "repeating": { 2029 | "version": "2.0.1", 2030 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2031 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2032 | "dev": true, 2033 | "requires": { 2034 | "is-finite": "1.0.2" 2035 | } 2036 | }, 2037 | "safe-buffer": { 2038 | "version": "5.1.2", 2039 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2040 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2041 | "dev": true 2042 | }, 2043 | "semver": { 2044 | "version": "5.5.0", 2045 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 2046 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", 2047 | "dev": true 2048 | }, 2049 | "set-immediate-shim": { 2050 | "version": "1.0.1", 2051 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 2052 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", 2053 | "dev": true, 2054 | "optional": true 2055 | }, 2056 | "slash": { 2057 | "version": "1.0.0", 2058 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 2059 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 2060 | "dev": true 2061 | }, 2062 | "source-map": { 2063 | "version": "0.5.7", 2064 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2065 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2066 | "dev": true 2067 | }, 2068 | "source-map-support": { 2069 | "version": "0.4.18", 2070 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 2071 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 2072 | "dev": true, 2073 | "requires": { 2074 | "source-map": "0.5.7" 2075 | } 2076 | }, 2077 | "string_decoder": { 2078 | "version": "1.1.1", 2079 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2080 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2081 | "dev": true, 2082 | "optional": true, 2083 | "requires": { 2084 | "safe-buffer": "5.1.2" 2085 | } 2086 | }, 2087 | "strip-ansi": { 2088 | "version": "3.0.1", 2089 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2090 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2091 | "dev": true, 2092 | "requires": { 2093 | "ansi-regex": "2.1.1" 2094 | } 2095 | }, 2096 | "supports-color": { 2097 | "version": "2.0.0", 2098 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2099 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2100 | "dev": true 2101 | }, 2102 | "to-fast-properties": { 2103 | "version": "1.0.3", 2104 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 2105 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 2106 | "dev": true 2107 | }, 2108 | "trim-right": { 2109 | "version": "1.0.1", 2110 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 2111 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 2112 | "dev": true 2113 | }, 2114 | "user-home": { 2115 | "version": "1.1.1", 2116 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", 2117 | "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", 2118 | "dev": true 2119 | }, 2120 | "util-deprecate": { 2121 | "version": "1.0.2", 2122 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2123 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2124 | "dev": true, 2125 | "optional": true 2126 | }, 2127 | "v8flags": { 2128 | "version": "2.1.1", 2129 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", 2130 | "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", 2131 | "dev": true, 2132 | "requires": { 2133 | "user-home": "1.1.1" 2134 | } 2135 | }, 2136 | "wrappy": { 2137 | "version": "1.0.2", 2138 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2139 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2140 | "dev": true 2141 | } 2142 | } 2143 | } 2144 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "babel-plugin-transform-react-jsx-location", 3 | "version": "0.2.0", 4 | "description": "Adds data- attributes containing source file name and line number", 5 | "main": "lib/index.js", 6 | "scripts": { 7 | "prepare": "babel src --out-dir lib", 8 | "test": "rm -rf test/out && babel test/in --out-dir test/out && diff -r test/out test/expected" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/adrianton3/babel-plugin-transform-react-jsx-location.git" 13 | }, 14 | "keywords": [ 15 | "babel", 16 | "plugin", 17 | "jsx", 18 | "location", 19 | "transform", 20 | "react", 21 | "source" 22 | ], 23 | "author": "Adrian Toncean ", 24 | "license": "MIT", 25 | "dependencies": {}, 26 | "devDependencies": { 27 | "babel-cli": "^6.22.2", 28 | "babel-plugin-syntax-jsx": "^6.18.0", 29 | "babel-preset-env": "^1.7.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["env"] 3 | } -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = ({ types: t }) => { 4 | function makeAttribute (fileName, lineNumber, attributeName='source') { 5 | return t.jSXAttribute( 6 | t.jSXIdentifier(`data-${attributeName}`), 7 | t.stringLiteral(`${fileName}:${lineNumber}`) 8 | ) 9 | } 10 | 11 | function resolveFilename ({ filename, sourceRoot, basename }, opts) { 12 | if (!filename || filename === 'unknown') { 13 | return 'unknown' 14 | } 15 | 16 | if (opts.filename === 'compact') { 17 | return basename 18 | } 19 | 20 | if (sourceRoot) { 21 | return filename.slice(sourceRoot.length) 22 | } 23 | 24 | return filename 25 | } 26 | 27 | return { 28 | visitor: { 29 | JSXOpeningElement (path, state) { 30 | const defaultExclude = ['Fragment'] 31 | const tagsToExclude = Array.isArray(state.opts.exclude) 32 | ? [...state.opts.exclude, ...defaultExclude] 33 | : defaultExclude 34 | 35 | const { attributes, loc, name } = path.container.openingElement 36 | 37 | if (!loc || tagsToExclude.includes(name.name)) { return } 38 | 39 | attributes.push( 40 | makeAttribute( 41 | resolveFilename(state.file.opts, state.opts), 42 | loc.start.line, 43 | state.opts.attributeName 44 | ) 45 | ) 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /test/expected/attribute-name/attribute-name.js: -------------------------------------------------------------------------------- 1 |

asd

; -------------------------------------------------------------------------------- /test/expected/compact/compact.js: -------------------------------------------------------------------------------- 1 |

asd

; -------------------------------------------------------------------------------- /test/expected/exclude/exclude.js: -------------------------------------------------------------------------------- 1 | 2 | abc 3 |
xyz
4 |
; -------------------------------------------------------------------------------- /test/expected/no-attr.js: -------------------------------------------------------------------------------- 1 |

asd

; -------------------------------------------------------------------------------- /test/expected/some-attr.js: -------------------------------------------------------------------------------- 1 | ; -------------------------------------------------------------------------------- /test/in/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["syntax-jsx", "../../src/index"] 3 | } -------------------------------------------------------------------------------- /test/in/attribute-name/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "syntax-jsx", 4 | ["../../../src/index", { "attributeName": "qwe" }] 5 | ] 6 | } -------------------------------------------------------------------------------- /test/in/attribute-name/attribute-name.js: -------------------------------------------------------------------------------- 1 |

asd

-------------------------------------------------------------------------------- /test/in/compact/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "syntax-jsx", 4 | ["../../../src/index", { "filename": "compact" }] 5 | ] 6 | } -------------------------------------------------------------------------------- /test/in/compact/compact.js: -------------------------------------------------------------------------------- 1 |

asd

-------------------------------------------------------------------------------- /test/in/exclude/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "syntax-jsx", 4 | ["../../../src/index", { "exclude": ["strong"] }] 5 | ] 6 | } -------------------------------------------------------------------------------- /test/in/exclude/exclude.js: -------------------------------------------------------------------------------- 1 | 2 | abc 3 |
xyz
4 |
-------------------------------------------------------------------------------- /test/in/no-attr.js: -------------------------------------------------------------------------------- 1 |

asd

-------------------------------------------------------------------------------- /test/in/some-attr.js: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------