├── .eslintrc.json ├── .gitignore ├── backblue.gif ├── booklist.html ├── booklist.js ├── ebooks ├── 1661.html ├── 1952.html ├── 2542.html └── book.js ├── fade.gif ├── index.html ├── index.js ├── package-lock.json ├── package.json └── readme.md /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es2021": true 5 | }, 6 | "extends": [ 7 | "standard" 8 | ], 9 | "parserOptions": { 10 | "ecmaVersion": 12 11 | }, 12 | "rules": { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *node_modules* -------------------------------------------------------------------------------- /backblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/reading-lists/b44747bf2f98695ad8316f00e484369e42eae8df/backblue.gif -------------------------------------------------------------------------------- /booklist.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | My Booklist 8 | 13 | 14 | 15 | 16 | 26 | 27 | 28 | 29 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 40 | 41 | 42 | 43 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | All Books (sorted by popularity) - Project Gutenberg 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 69 | 70 | 126 | 143 | 144 | 145 | 146 |
147 |
148 |
149 |

My Booklist

150 |
151 |
152 | 155 |
156 |
157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /booklist.js: -------------------------------------------------------------------------------- 1 | const displayUsingApi = false; 2 | (function ($) { 3 | if (displayUsingApi) { 4 | // TODO 5 | const list = JSON.parse(localStorage.getItem('booklist')) 6 | console.log(list) 7 | const body = $('#book-list') 8 | 9 | Object.keys(list).forEach((bookId) => { 10 | console.log(bookId) 11 | jQuery.get(`https://www.gutenberg.org/ebooks/${bookId}.opds`, null, (data, status, jqxhr) => { // eslint-disable-line 12 | // TODO parse 13 | console.log(data) 14 | body.html(data) 15 | }, 'text') 16 | }) 17 | } else { 18 | const list = JSON.parse(localStorage.getItem('booklist')) 19 | console.log(list) 20 | const body = $('#book-list') 21 | 22 | Object.keys(list).forEach((bookId) => { 23 | body.append(makeListItem(bookId, list[bookId])) 24 | }) 25 | } 26 | 27 | $('.remove-from-booklist').on('click', (event) => { 28 | const target = $(event.target) 29 | const bookId = target.parent().attr('id') 30 | console.log(bookId) 31 | removeBook(bookId) 32 | location.reload() 33 | }) 34 | 35 | function removeBook (id) { 36 | const newlist = JSON.parse(localStorage.getItem('booklist')) 37 | delete newlist[id] 38 | localStorage.setItem('booklist', JSON.stringify(newlist)) 39 | } 40 | 41 | function makeListItem (id, book) { 42 | const li = `` 56 | return li 57 | } 58 | })(jQuery) // eslint-disable-line 59 | -------------------------------------------------------------------------------- /ebooks/1661.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 19 | 20 | 21 | 22 | 32 | 33 | 34 | 35 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | The Adventures of Sherlock Holmes by Arthur Conan Doyle - Free Ebook 59 | 60 | 65 | 66 | 67 | 68 | 69 |
70 | 153 |
154 | 173 |

The Adventures of Sherlock Holmes by Arthur Conan Doyle

174 |
175 |
176 |
177 |
178 |
179 | Book Cover 181 |
182 |
183 |
    184 |
  • 185 | 186 | 193 |
  • 194 |
  • 195 | 202 |
  • 203 |
  • 204 | 206 |
  • 207 |
  • 208 | 212 |
  • 213 |
214 |
215 |
216 | 217 |
218 |
219 |
220 |
221 |
222 |
223 |

Download This eBook

224 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 245 | 246 | 247 | 252 | 257 | 262 | 263 | 265 | 266 | 270 | 271 | 272 | 274 | 276 | 280 | 281 | 283 | 284 | 289 | 290 | 291 | 295 | 299 | 303 | 304 | 306 | 307 | 312 | 313 | 314 | 318 | 323 | 327 | 328 | 330 | 331 | 336 | 337 | 338 | 342 | 347 | 351 | 352 | 354 | 355 | 360 | 361 | 362 | 366 | 371 | 376 | 377 | 379 | 380 | 384 | 385 | 386 | 388 | 390 | 392 | 393 | 394 | 395 | 397 | 398 | 399 | 400 | 401 | 402 | 403 |
Format 241 | 244 | UrlSize 248 | 251 | 253 | 256 | 258 | 261 |
Read this book online: HTMLhttps://www.gutenberg.org/files/1661/1661-h/1661-h.htm652 kB 273 | 275 | 277 | 279 |
EPUB (with 288 | images)https://www.gutenberg.org/ebooks/1661.epub.images272 kB 292 | 294 | 296 | 298 | 300 | 302 |
EPUB (no 311 | images)https://www.gutenberg.org/ebooks/1661.epub.noimages272 kB 315 | 317 | 319 | 322 | 324 | 326 |
Kindle (with images)https://www.gutenberg.org/ebooks/1661.kindle.images1.0 MB 339 | 341 | 343 | 346 | 348 | 350 |
Kindle (no images)https://www.gutenberg.org/ebooks/1661.kindle.noimages1.0 MB 363 | 365 | 367 | 370 | 372 | 375 |
Plain Text UTF-8https://www.gutenberg.org/files/1661/1661-0.txt594 kB 387 | 389 | 391 |
More 396 | Files…https://www.gutenberg.org/files/1661/
404 |
405 |
406 | 453 |
454 |
455 |

Bibliographic Record 456 | 459 |

460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 471 | 472 | 473 | 474 | 477 | 478 | 479 | 480 | 483 | 484 | 485 | 486 | 490 | 491 | 492 | 493 | 501 | 502 | 504 | 505 | 506 | 507 | 508 | 509 | 513 | 514 | 515 | 516 | 521 | 522 | 523 | 524 | 529 | 530 | 531 | 532 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 564 | 565 |
Author 468 | Doyle, Arthur Conan, 470 | 1859-1930
Title 475 | The Adventures of Sherlock Holmes 476 |
Note 481 | Also available as audio book: #9551 482 |
Note 487 | There is an improved edition of this title, eBook #48320 489 |
Contents 494 | A scandal in Bohemia -- The Red-headed League -- A case of identity -- The 495 | Boscombe Valley mystery -- The five orange pips -- The man with the twisted 496 | lip -- The adventure of the blue carbuncle -- The adventure of the speckled 497 | band -- The adventure of the engineer's thumb -- The adventure of the noble 498 | bachelor -- The adventure of the beryl coronet -- The adventure of the 499 | Copper Beeches. 500 |
LanguageEnglish
LoC Class 510 | PR: Language and Literatures: English 511 | literature 512 |
Subject 517 | 518 | Holmes, Sherlock (Fictitious character) -- Fiction 519 | 520 |
Subject 525 | 526 | Private investigators -- England -- Fiction 527 | 528 |
Subject 533 | 534 | Detective and mystery stories, English 535 | 536 |
CategoryText
EBook-No.1661
Release Date
Copyright StatusPublic domain in the USA.
Downloads24433 downloads in the last 30 days.
Price$0.00
566 |
567 |
568 |
569 |
570 |
571 |
572 | 574 | 576 |
577 | 578 | 579 | 580 | -------------------------------------------------------------------------------- /ebooks/1952.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 19 | 20 | 21 | 22 | 32 | 33 | 34 | 35 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | The Yellow Wallpaper by Charlotte Perkins Gilman - Free Ebook 59 | 60 | 65 | 66 | 67 | 68 | 69 |
70 | 152 |
153 | 172 |

The Yellow Wallpaper by Charlotte Perkins Gilman

173 |
174 |
175 |
176 |
177 |
178 | Book Cover 180 |
181 |
182 |
    183 |
  • 184 | 185 | 192 |
  • 193 |
  • 194 | 201 |
  • 202 |
  • 203 | 205 |
  • 206 |
  • 207 | 211 |
  • 212 |
213 |
214 |
215 | 216 |
217 |
218 |
219 |
220 |
221 |
222 |

Download This eBook

223 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 244 | 245 | 246 | 251 | 256 | 261 | 262 | 264 | 265 | 269 | 270 | 271 | 273 | 275 | 279 | 280 | 282 | 283 | 288 | 289 | 290 | 294 | 299 | 303 | 304 | 306 | 307 | 312 | 313 | 314 | 318 | 323 | 328 | 329 | 331 | 332 | 336 | 337 | 338 | 340 | 342 | 344 | 345 | 346 | 347 | 349 | 350 | 351 | 352 | 353 | 354 | 355 |
Format 240 | 243 | UrlSize 247 | 250 | 252 | 255 | 257 | 260 |
Read this book online: HTMLhttps://www.gutenberg.org/files/1952/1952-h/1952-h.htm64 kB 272 | 274 | 276 | 278 |
EPUB (no 287 | images)https://www.gutenberg.org/ebooks/1952.epub.noimages68 kB 291 | 293 | 295 | 298 | 300 | 302 |
Kindle (no images)https://www.gutenberg.org/ebooks/1952.kindle.noimages264 kB 315 | 317 | 319 | 322 | 324 | 327 |
Plain Text UTF-8https://www.gutenberg.org/files/1952/1952-0.txt50 kB 339 | 341 | 343 |
More 348 | Files…https://www.gutenberg.org/files/1952/
356 |
357 |
358 | 383 |
384 |
385 |

Bibliographic Record 386 | 389 |

390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 401 | 402 | 403 | 404 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 419 | 420 | 421 | 422 | 427 | 428 | 429 | 430 | 435 | 436 | 437 | 438 | 443 | 444 | 445 | 446 | 451 | 452 | 453 | 454 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 486 | 487 |
Author 398 | Gilman, Charlotte Perkins, 400 | 1860-1935
Title 405 | The Yellow Wallpaper 406 |
LanguageEnglish
LoC Class 416 | PS: Language and Literatures: American and 417 | Canadian literature 418 |
Subject 423 | 424 | Psychological fiction 425 | 426 |
Subject 431 | 432 | Mentally ill women -- Fiction 433 | 434 |
Subject 439 | 440 | Feminist fiction 441 | 442 |
Subject 447 | 448 | Married women -- Psychology -- Fiction 449 | 450 |
Subject 455 | 456 | Sex role -- Fiction 457 | 458 |
CategoryText
EBook-No.1952
Release Date
Copyright StatusPublic domain in the USA.
Downloads37195 downloads in the last 30 days.
Price$0.00
488 |
489 |
490 |
491 |
492 |
493 |
494 | 496 | 498 |
499 | 500 | 501 | 502 | 503 | -------------------------------------------------------------------------------- /ebooks/2542.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 30 | 31 | 32 | 33 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | A Doll's House : a play by Henrik Ibsen - Free Ebook 57 | 58 | 63 | 64 | 65 | 66 | 67 |
68 | 148 |
149 | 167 |

A Doll's House : a play by Henrik Ibsen

168 |
169 |
170 |
171 |
172 |
173 | Book Cover 175 |
176 |
177 |
    178 |
  • 179 | 180 | 186 |
  • 187 |
  • 188 | 195 |
  • 196 |
  • 197 | 198 |
  • 199 |
  • 200 | 204 |
  • 205 |
206 |
207 |
208 | 209 |
210 |
211 |
212 |
213 |
214 |
215 |

Download This eBook

216 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 236 | 237 | 238 | 243 | 248 | 253 | 254 | 255 | 256 | 260 | 261 | 262 | 263 | 264 | 267 | 268 | 269 | 270 | 274 | 275 | 276 | 280 | 284 | 288 | 289 | 290 | 291 | 295 | 296 | 297 | 301 | 305 | 309 | 310 | 311 | 312 | 317 | 318 | 319 | 323 | 327 | 331 | 332 | 333 | 334 | 338 | 339 | 340 | 344 | 348 | 352 | 353 | 354 | 355 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 |
Format 232 | 234 | 235 | UrlSize 239 | 241 | 242 | 244 | 246 | 247 | 249 | 251 | 252 |
Read this book online: HTML 259 | https://www.gutenberg.org/files/2542/2542-h/2542-h.htm253 kB 265 | 266 |
EPUB (with images)https://www.gutenberg.org/ebooks/2542.epub.images112 kB 277 | 279 | 281 | 283 | 285 | 287 |
EPUB (no images)https://www.gutenberg.org/ebooks/2542.epub.noimages112 kB 298 | 300 | 302 | 304 | 306 | 308 |
Kindle (with images) 316 | https://www.gutenberg.org/ebooks/2542.kindle.images490 kB 320 | 322 | 324 | 326 | 328 | 330 |
Kindle (no images)https://www.gutenberg.org/ebooks/2542.kindle.noimages490 kB 341 | 343 | 345 | 347 | 349 | 351 |
Plain Text UTF-8https://www.gutenberg.org/ebooks/2542.txt.utf-8162 kB
More Files…https://www.gutenberg.org/files/2542/
374 |
375 |
376 | 377 | 402 | 403 |
404 |
405 |

Bibliographic Record 406 | 408 | 409 |

410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 427 | 428 | 429 | 430 | 433 | 434 | 435 | 436 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 450 | 451 | 452 | 453 | 458 | 459 | 460 | 461 | 466 | 467 | 468 | 469 | 474 | 475 | 476 | 477 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 507 | 508 |
Author 418 | Ibsen, Henrik, 1828-1906 420 |
Uniform Title 425 | Et dukkehjem. English 426 |
Title 431 | A Doll's House : a play 432 |
Note 437 | Translation of: Et dukkehjem 438 |
LanguageEnglish
LoC Class 447 | PT: Language and Literatures: Germanic, Scandinavian, and Icelandic 448 | literatures 449 |
Subject 454 | 455 | Marriage -- Drama 456 | 457 |
Subject 462 | 463 | Man-woman relationships -- Drama 464 | 465 |
Subject 470 | 471 | Norwegian drama -- Translations into English 472 | 473 |
Subject 478 | 479 | Wives -- Drama 480 | 481 |
CategoryText
EBook-No.2542
Release Date
Copyright StatusPublic domain in the USA.
Downloads27056 downloads in the last 30 days.
Price$0.00
509 |
510 |
511 |
512 |
513 |
514 |
515 | 516 | 517 |
518 | 519 | 520 | 521 | -------------------------------------------------------------------------------- /ebooks/book.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | window.onload = function() { 4 | 5 | const addbtn = document.getElementById('add-to-booklist') 6 | 7 | const currentList = JSON.parse(localStorage.getItem('booklist')) 8 | 9 | if (currentList && currentList[bookId]) { 10 | // book already in list 11 | addbtn.innerHTML = '-' 12 | addbtn.setAttribute('title', 'Remove book from My Book List') 13 | addbtn.setAttribute('style', 'background-color: indianred;') 14 | addbtn.classList.add('book-in-list') 15 | } 16 | 17 | addbtn.onclick = function () { 18 | if(addbtn.classList.contains('book-in-list')){ 19 | removeBook() 20 | return 21 | } 22 | try{ 23 | const bookData = getBookMetadata(); 24 | const newList = { ...JSON.parse(localStorage.getItem('booklist')) } 25 | newList[bookId] = bookData 26 | 27 | addbtn.classList.add('book-in-list') 28 | addbtn.innerHTML = '-' 29 | addbtn.setAttribute('title', 'Remove book from My Book List') 30 | addbtn.setAttribute('style', 'background-color: indianred;') 31 | 32 | localStorage.setItem('booklist', JSON.stringify(newList)) 33 | console.log(localStorage.getItem('booklist')) 34 | } 35 | catch(err){ 36 | console.log('Error adding book', err) 37 | } 38 | 39 | } 40 | 41 | function removeBook () { 42 | const newlist = JSON.parse(localStorage.getItem('booklist')) 43 | delete newlist[bookId] 44 | localStorage.setItem('booklist', JSON.stringify(newlist)) 45 | console.log(localStorage.getItem('booklist')) 46 | addbtn.classList.remove('book-in-list') 47 | addbtn.innerHTML = '+' 48 | addbtn.setAttribute('title', 'Add book to My Book List') 49 | addbtn.setAttribute('style', 'background-color: cornflowerblue;') 50 | } 51 | 52 | 53 | } 54 | 55 | -------------------------------------------------------------------------------- /fade.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/reading-lists/b44747bf2f98695ad8316f00e484369e42eae8df/fade.gif -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 23 | 24 | 25 | 26 | 36 | 37 | 38 | 39 | 41 | 43 | 44 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | All Books (sorted by popularity) - Project Gutenberg 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
74 |
75 |
76 |

All Books (sorted by popularity)

77 |
78 |
79 |
80 | 479 |
480 |
481 | 483 |
484 | 564 | 565 | 566 | 567 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | 3 | })(jQuery) // eslint-disable-line 4 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reading-list", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.10.4", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", 10 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.10.4" 14 | } 15 | }, 16 | "@babel/helper-validator-identifier": { 17 | "version": "7.10.4", 18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", 19 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", 20 | "dev": true 21 | }, 22 | "@babel/highlight": { 23 | "version": "7.10.4", 24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", 25 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", 26 | "dev": true, 27 | "requires": { 28 | "@babel/helper-validator-identifier": "^7.10.4", 29 | "chalk": "^2.0.0", 30 | "js-tokens": "^4.0.0" 31 | }, 32 | "dependencies": { 33 | "chalk": { 34 | "version": "2.4.2", 35 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 36 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 37 | "dev": true, 38 | "requires": { 39 | "ansi-styles": "^3.2.1", 40 | "escape-string-regexp": "^1.0.5", 41 | "supports-color": "^5.3.0" 42 | } 43 | } 44 | } 45 | }, 46 | "@eslint/eslintrc": { 47 | "version": "0.1.3", 48 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz", 49 | "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==", 50 | "dev": true, 51 | "requires": { 52 | "ajv": "^6.12.4", 53 | "debug": "^4.1.1", 54 | "espree": "^7.3.0", 55 | "globals": "^12.1.0", 56 | "ignore": "^4.0.6", 57 | "import-fresh": "^3.2.1", 58 | "js-yaml": "^3.13.1", 59 | "lodash": "^4.17.19", 60 | "minimatch": "^3.0.4", 61 | "strip-json-comments": "^3.1.1" 62 | } 63 | }, 64 | "@types/json5": { 65 | "version": "0.0.29", 66 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 67 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", 68 | "dev": true 69 | }, 70 | "acorn": { 71 | "version": "7.4.1", 72 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 73 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 74 | "dev": true 75 | }, 76 | "acorn-jsx": { 77 | "version": "5.3.1", 78 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", 79 | "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", 80 | "dev": true 81 | }, 82 | "ajv": { 83 | "version": "6.12.6", 84 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 85 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 86 | "dev": true, 87 | "requires": { 88 | "fast-deep-equal": "^3.1.1", 89 | "fast-json-stable-stringify": "^2.0.0", 90 | "json-schema-traverse": "^0.4.1", 91 | "uri-js": "^4.2.2" 92 | } 93 | }, 94 | "ansi-colors": { 95 | "version": "4.1.1", 96 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 97 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 98 | "dev": true 99 | }, 100 | "ansi-regex": { 101 | "version": "5.0.0", 102 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 103 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 104 | "dev": true 105 | }, 106 | "ansi-styles": { 107 | "version": "3.2.1", 108 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 109 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 110 | "dev": true, 111 | "requires": { 112 | "color-convert": "^1.9.0" 113 | } 114 | }, 115 | "argparse": { 116 | "version": "1.0.10", 117 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 118 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 119 | "dev": true, 120 | "requires": { 121 | "sprintf-js": "~1.0.2" 122 | } 123 | }, 124 | "array-includes": { 125 | "version": "3.1.1", 126 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", 127 | "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", 128 | "dev": true, 129 | "requires": { 130 | "define-properties": "^1.1.3", 131 | "es-abstract": "^1.17.0", 132 | "is-string": "^1.0.5" 133 | } 134 | }, 135 | "array.prototype.flat": { 136 | "version": "1.2.3", 137 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", 138 | "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", 139 | "dev": true, 140 | "requires": { 141 | "define-properties": "^1.1.3", 142 | "es-abstract": "^1.17.0-next.1" 143 | } 144 | }, 145 | "astral-regex": { 146 | "version": "1.0.0", 147 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 148 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 149 | "dev": true 150 | }, 151 | "balanced-match": { 152 | "version": "1.0.0", 153 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 154 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 155 | "dev": true 156 | }, 157 | "brace-expansion": { 158 | "version": "1.1.11", 159 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 160 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 161 | "dev": true, 162 | "requires": { 163 | "balanced-match": "^1.0.0", 164 | "concat-map": "0.0.1" 165 | } 166 | }, 167 | "callsites": { 168 | "version": "3.1.0", 169 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 170 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 171 | "dev": true 172 | }, 173 | "chalk": { 174 | "version": "4.1.0", 175 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 176 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 177 | "dev": true, 178 | "requires": { 179 | "ansi-styles": "^4.1.0", 180 | "supports-color": "^7.1.0" 181 | }, 182 | "dependencies": { 183 | "ansi-styles": { 184 | "version": "4.3.0", 185 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 186 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 187 | "dev": true, 188 | "requires": { 189 | "color-convert": "^2.0.1" 190 | } 191 | }, 192 | "color-convert": { 193 | "version": "2.0.1", 194 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 195 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 196 | "dev": true, 197 | "requires": { 198 | "color-name": "~1.1.4" 199 | } 200 | }, 201 | "color-name": { 202 | "version": "1.1.4", 203 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 204 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 205 | "dev": true 206 | }, 207 | "has-flag": { 208 | "version": "4.0.0", 209 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 210 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 211 | "dev": true 212 | }, 213 | "supports-color": { 214 | "version": "7.2.0", 215 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 216 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 217 | "dev": true, 218 | "requires": { 219 | "has-flag": "^4.0.0" 220 | } 221 | } 222 | } 223 | }, 224 | "color-convert": { 225 | "version": "1.9.3", 226 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 227 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 228 | "dev": true, 229 | "requires": { 230 | "color-name": "1.1.3" 231 | } 232 | }, 233 | "color-name": { 234 | "version": "1.1.3", 235 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 236 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 237 | "dev": true 238 | }, 239 | "concat-map": { 240 | "version": "0.0.1", 241 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 242 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 243 | "dev": true 244 | }, 245 | "contains-path": { 246 | "version": "0.1.0", 247 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", 248 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", 249 | "dev": true 250 | }, 251 | "cross-spawn": { 252 | "version": "7.0.3", 253 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 254 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 255 | "dev": true, 256 | "requires": { 257 | "path-key": "^3.1.0", 258 | "shebang-command": "^2.0.0", 259 | "which": "^2.0.1" 260 | } 261 | }, 262 | "debug": { 263 | "version": "4.2.0", 264 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", 265 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", 266 | "dev": true, 267 | "requires": { 268 | "ms": "2.1.2" 269 | } 270 | }, 271 | "deep-is": { 272 | "version": "0.1.3", 273 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 274 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 275 | "dev": true 276 | }, 277 | "define-properties": { 278 | "version": "1.1.3", 279 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 280 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 281 | "dev": true, 282 | "requires": { 283 | "object-keys": "^1.0.12" 284 | } 285 | }, 286 | "doctrine": { 287 | "version": "3.0.0", 288 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 289 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 290 | "dev": true, 291 | "requires": { 292 | "esutils": "^2.0.2" 293 | } 294 | }, 295 | "emoji-regex": { 296 | "version": "7.0.3", 297 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 298 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 299 | "dev": true 300 | }, 301 | "enquirer": { 302 | "version": "2.3.6", 303 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", 304 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", 305 | "dev": true, 306 | "requires": { 307 | "ansi-colors": "^4.1.1" 308 | } 309 | }, 310 | "error-ex": { 311 | "version": "1.3.2", 312 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 313 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 314 | "dev": true, 315 | "requires": { 316 | "is-arrayish": "^0.2.1" 317 | } 318 | }, 319 | "es-abstract": { 320 | "version": "1.17.7", 321 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", 322 | "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", 323 | "dev": true, 324 | "requires": { 325 | "es-to-primitive": "^1.2.1", 326 | "function-bind": "^1.1.1", 327 | "has": "^1.0.3", 328 | "has-symbols": "^1.0.1", 329 | "is-callable": "^1.2.2", 330 | "is-regex": "^1.1.1", 331 | "object-inspect": "^1.8.0", 332 | "object-keys": "^1.1.1", 333 | "object.assign": "^4.1.1", 334 | "string.prototype.trimend": "^1.0.1", 335 | "string.prototype.trimstart": "^1.0.1" 336 | } 337 | }, 338 | "es-to-primitive": { 339 | "version": "1.2.1", 340 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 341 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 342 | "dev": true, 343 | "requires": { 344 | "is-callable": "^1.1.4", 345 | "is-date-object": "^1.0.1", 346 | "is-symbol": "^1.0.2" 347 | } 348 | }, 349 | "escape-string-regexp": { 350 | "version": "1.0.5", 351 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 352 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 353 | "dev": true 354 | }, 355 | "eslint": { 356 | "version": "7.11.0", 357 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.11.0.tgz", 358 | "integrity": "sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw==", 359 | "dev": true, 360 | "requires": { 361 | "@babel/code-frame": "^7.0.0", 362 | "@eslint/eslintrc": "^0.1.3", 363 | "ajv": "^6.10.0", 364 | "chalk": "^4.0.0", 365 | "cross-spawn": "^7.0.2", 366 | "debug": "^4.0.1", 367 | "doctrine": "^3.0.0", 368 | "enquirer": "^2.3.5", 369 | "eslint-scope": "^5.1.1", 370 | "eslint-utils": "^2.1.0", 371 | "eslint-visitor-keys": "^2.0.0", 372 | "espree": "^7.3.0", 373 | "esquery": "^1.2.0", 374 | "esutils": "^2.0.2", 375 | "file-entry-cache": "^5.0.1", 376 | "functional-red-black-tree": "^1.0.1", 377 | "glob-parent": "^5.0.0", 378 | "globals": "^12.1.0", 379 | "ignore": "^4.0.6", 380 | "import-fresh": "^3.0.0", 381 | "imurmurhash": "^0.1.4", 382 | "is-glob": "^4.0.0", 383 | "js-yaml": "^3.13.1", 384 | "json-stable-stringify-without-jsonify": "^1.0.1", 385 | "levn": "^0.4.1", 386 | "lodash": "^4.17.19", 387 | "minimatch": "^3.0.4", 388 | "natural-compare": "^1.4.0", 389 | "optionator": "^0.9.1", 390 | "progress": "^2.0.0", 391 | "regexpp": "^3.1.0", 392 | "semver": "^7.2.1", 393 | "strip-ansi": "^6.0.0", 394 | "strip-json-comments": "^3.1.0", 395 | "table": "^5.2.3", 396 | "text-table": "^0.2.0", 397 | "v8-compile-cache": "^2.0.3" 398 | } 399 | }, 400 | "eslint-config-standard": { 401 | "version": "14.1.1", 402 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", 403 | "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", 404 | "dev": true 405 | }, 406 | "eslint-import-resolver-node": { 407 | "version": "0.3.4", 408 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", 409 | "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", 410 | "dev": true, 411 | "requires": { 412 | "debug": "^2.6.9", 413 | "resolve": "^1.13.1" 414 | }, 415 | "dependencies": { 416 | "debug": { 417 | "version": "2.6.9", 418 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 419 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 420 | "dev": true, 421 | "requires": { 422 | "ms": "2.0.0" 423 | } 424 | }, 425 | "ms": { 426 | "version": "2.0.0", 427 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 428 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 429 | "dev": true 430 | } 431 | } 432 | }, 433 | "eslint-module-utils": { 434 | "version": "2.6.0", 435 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", 436 | "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", 437 | "dev": true, 438 | "requires": { 439 | "debug": "^2.6.9", 440 | "pkg-dir": "^2.0.0" 441 | }, 442 | "dependencies": { 443 | "debug": { 444 | "version": "2.6.9", 445 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 446 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 447 | "dev": true, 448 | "requires": { 449 | "ms": "2.0.0" 450 | } 451 | }, 452 | "ms": { 453 | "version": "2.0.0", 454 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 455 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 456 | "dev": true 457 | } 458 | } 459 | }, 460 | "eslint-plugin-es": { 461 | "version": "3.0.1", 462 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", 463 | "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", 464 | "dev": true, 465 | "requires": { 466 | "eslint-utils": "^2.0.0", 467 | "regexpp": "^3.0.0" 468 | } 469 | }, 470 | "eslint-plugin-import": { 471 | "version": "2.22.1", 472 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", 473 | "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", 474 | "dev": true, 475 | "requires": { 476 | "array-includes": "^3.1.1", 477 | "array.prototype.flat": "^1.2.3", 478 | "contains-path": "^0.1.0", 479 | "debug": "^2.6.9", 480 | "doctrine": "1.5.0", 481 | "eslint-import-resolver-node": "^0.3.4", 482 | "eslint-module-utils": "^2.6.0", 483 | "has": "^1.0.3", 484 | "minimatch": "^3.0.4", 485 | "object.values": "^1.1.1", 486 | "read-pkg-up": "^2.0.0", 487 | "resolve": "^1.17.0", 488 | "tsconfig-paths": "^3.9.0" 489 | }, 490 | "dependencies": { 491 | "debug": { 492 | "version": "2.6.9", 493 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 494 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 495 | "dev": true, 496 | "requires": { 497 | "ms": "2.0.0" 498 | } 499 | }, 500 | "doctrine": { 501 | "version": "1.5.0", 502 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 503 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 504 | "dev": true, 505 | "requires": { 506 | "esutils": "^2.0.2", 507 | "isarray": "^1.0.0" 508 | } 509 | }, 510 | "ms": { 511 | "version": "2.0.0", 512 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 513 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 514 | "dev": true 515 | } 516 | } 517 | }, 518 | "eslint-plugin-node": { 519 | "version": "11.1.0", 520 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", 521 | "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", 522 | "dev": true, 523 | "requires": { 524 | "eslint-plugin-es": "^3.0.0", 525 | "eslint-utils": "^2.0.0", 526 | "ignore": "^5.1.1", 527 | "minimatch": "^3.0.4", 528 | "resolve": "^1.10.1", 529 | "semver": "^6.1.0" 530 | }, 531 | "dependencies": { 532 | "ignore": { 533 | "version": "5.1.8", 534 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", 535 | "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", 536 | "dev": true 537 | }, 538 | "semver": { 539 | "version": "6.3.0", 540 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 541 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 542 | "dev": true 543 | } 544 | } 545 | }, 546 | "eslint-plugin-promise": { 547 | "version": "4.2.1", 548 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", 549 | "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", 550 | "dev": true 551 | }, 552 | "eslint-plugin-standard": { 553 | "version": "4.0.1", 554 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", 555 | "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", 556 | "dev": true 557 | }, 558 | "eslint-scope": { 559 | "version": "5.1.1", 560 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 561 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 562 | "dev": true, 563 | "requires": { 564 | "esrecurse": "^4.3.0", 565 | "estraverse": "^4.1.1" 566 | } 567 | }, 568 | "eslint-utils": { 569 | "version": "2.1.0", 570 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", 571 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", 572 | "dev": true, 573 | "requires": { 574 | "eslint-visitor-keys": "^1.1.0" 575 | }, 576 | "dependencies": { 577 | "eslint-visitor-keys": { 578 | "version": "1.3.0", 579 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 580 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 581 | "dev": true 582 | } 583 | } 584 | }, 585 | "eslint-visitor-keys": { 586 | "version": "2.0.0", 587 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", 588 | "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", 589 | "dev": true 590 | }, 591 | "espree": { 592 | "version": "7.3.0", 593 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", 594 | "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", 595 | "dev": true, 596 | "requires": { 597 | "acorn": "^7.4.0", 598 | "acorn-jsx": "^5.2.0", 599 | "eslint-visitor-keys": "^1.3.0" 600 | }, 601 | "dependencies": { 602 | "eslint-visitor-keys": { 603 | "version": "1.3.0", 604 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 605 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 606 | "dev": true 607 | } 608 | } 609 | }, 610 | "esprima": { 611 | "version": "4.0.1", 612 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 613 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 614 | "dev": true 615 | }, 616 | "esquery": { 617 | "version": "1.3.1", 618 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", 619 | "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", 620 | "dev": true, 621 | "requires": { 622 | "estraverse": "^5.1.0" 623 | }, 624 | "dependencies": { 625 | "estraverse": { 626 | "version": "5.2.0", 627 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", 628 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", 629 | "dev": true 630 | } 631 | } 632 | }, 633 | "esrecurse": { 634 | "version": "4.3.0", 635 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 636 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 637 | "dev": true, 638 | "requires": { 639 | "estraverse": "^5.2.0" 640 | }, 641 | "dependencies": { 642 | "estraverse": { 643 | "version": "5.2.0", 644 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", 645 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", 646 | "dev": true 647 | } 648 | } 649 | }, 650 | "estraverse": { 651 | "version": "4.3.0", 652 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 653 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 654 | "dev": true 655 | }, 656 | "esutils": { 657 | "version": "2.0.3", 658 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 659 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 660 | "dev": true 661 | }, 662 | "fast-deep-equal": { 663 | "version": "3.1.3", 664 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 665 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 666 | "dev": true 667 | }, 668 | "fast-json-stable-stringify": { 669 | "version": "2.1.0", 670 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 671 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 672 | "dev": true 673 | }, 674 | "fast-levenshtein": { 675 | "version": "2.0.6", 676 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 677 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 678 | "dev": true 679 | }, 680 | "file-entry-cache": { 681 | "version": "5.0.1", 682 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 683 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 684 | "dev": true, 685 | "requires": { 686 | "flat-cache": "^2.0.1" 687 | } 688 | }, 689 | "find-up": { 690 | "version": "2.1.0", 691 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 692 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 693 | "dev": true, 694 | "requires": { 695 | "locate-path": "^2.0.0" 696 | } 697 | }, 698 | "flat-cache": { 699 | "version": "2.0.1", 700 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 701 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 702 | "dev": true, 703 | "requires": { 704 | "flatted": "^2.0.0", 705 | "rimraf": "2.6.3", 706 | "write": "1.0.3" 707 | } 708 | }, 709 | "flatted": { 710 | "version": "2.0.2", 711 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 712 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 713 | "dev": true 714 | }, 715 | "fs.realpath": { 716 | "version": "1.0.0", 717 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 718 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 719 | "dev": true 720 | }, 721 | "function-bind": { 722 | "version": "1.1.1", 723 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 724 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 725 | "dev": true 726 | }, 727 | "functional-red-black-tree": { 728 | "version": "1.0.1", 729 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 730 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 731 | "dev": true 732 | }, 733 | "glob": { 734 | "version": "7.1.6", 735 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 736 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 737 | "dev": true, 738 | "requires": { 739 | "fs.realpath": "^1.0.0", 740 | "inflight": "^1.0.4", 741 | "inherits": "2", 742 | "minimatch": "^3.0.4", 743 | "once": "^1.3.0", 744 | "path-is-absolute": "^1.0.0" 745 | } 746 | }, 747 | "glob-parent": { 748 | "version": "5.1.1", 749 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", 750 | "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", 751 | "dev": true, 752 | "requires": { 753 | "is-glob": "^4.0.1" 754 | } 755 | }, 756 | "globals": { 757 | "version": "12.4.0", 758 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", 759 | "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", 760 | "dev": true, 761 | "requires": { 762 | "type-fest": "^0.8.1" 763 | } 764 | }, 765 | "graceful-fs": { 766 | "version": "4.2.4", 767 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 768 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 769 | "dev": true 770 | }, 771 | "has": { 772 | "version": "1.0.3", 773 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 774 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 775 | "dev": true, 776 | "requires": { 777 | "function-bind": "^1.1.1" 778 | } 779 | }, 780 | "has-flag": { 781 | "version": "3.0.0", 782 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 783 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 784 | "dev": true 785 | }, 786 | "has-symbols": { 787 | "version": "1.0.1", 788 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 789 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", 790 | "dev": true 791 | }, 792 | "hosted-git-info": { 793 | "version": "2.8.8", 794 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", 795 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", 796 | "dev": true 797 | }, 798 | "ignore": { 799 | "version": "4.0.6", 800 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 801 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 802 | "dev": true 803 | }, 804 | "import-fresh": { 805 | "version": "3.2.1", 806 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 807 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 808 | "dev": true, 809 | "requires": { 810 | "parent-module": "^1.0.0", 811 | "resolve-from": "^4.0.0" 812 | } 813 | }, 814 | "imurmurhash": { 815 | "version": "0.1.4", 816 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 817 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 818 | "dev": true 819 | }, 820 | "inflight": { 821 | "version": "1.0.6", 822 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 823 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 824 | "dev": true, 825 | "requires": { 826 | "once": "^1.3.0", 827 | "wrappy": "1" 828 | } 829 | }, 830 | "inherits": { 831 | "version": "2.0.4", 832 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 833 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 834 | "dev": true 835 | }, 836 | "is-arrayish": { 837 | "version": "0.2.1", 838 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 839 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 840 | "dev": true 841 | }, 842 | "is-callable": { 843 | "version": "1.2.2", 844 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", 845 | "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", 846 | "dev": true 847 | }, 848 | "is-date-object": { 849 | "version": "1.0.2", 850 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 851 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", 852 | "dev": true 853 | }, 854 | "is-extglob": { 855 | "version": "2.1.1", 856 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 857 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 858 | "dev": true 859 | }, 860 | "is-fullwidth-code-point": { 861 | "version": "2.0.0", 862 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 863 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 864 | "dev": true 865 | }, 866 | "is-glob": { 867 | "version": "4.0.1", 868 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 869 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 870 | "dev": true, 871 | "requires": { 872 | "is-extglob": "^2.1.1" 873 | } 874 | }, 875 | "is-negative-zero": { 876 | "version": "2.0.0", 877 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", 878 | "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", 879 | "dev": true 880 | }, 881 | "is-regex": { 882 | "version": "1.1.1", 883 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", 884 | "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", 885 | "dev": true, 886 | "requires": { 887 | "has-symbols": "^1.0.1" 888 | } 889 | }, 890 | "is-string": { 891 | "version": "1.0.5", 892 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", 893 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", 894 | "dev": true 895 | }, 896 | "is-symbol": { 897 | "version": "1.0.3", 898 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 899 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 900 | "dev": true, 901 | "requires": { 902 | "has-symbols": "^1.0.1" 903 | } 904 | }, 905 | "isarray": { 906 | "version": "1.0.0", 907 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 908 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 909 | "dev": true 910 | }, 911 | "isexe": { 912 | "version": "2.0.0", 913 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 914 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 915 | "dev": true 916 | }, 917 | "js-tokens": { 918 | "version": "4.0.0", 919 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 920 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 921 | "dev": true 922 | }, 923 | "js-yaml": { 924 | "version": "3.14.0", 925 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", 926 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", 927 | "dev": true, 928 | "requires": { 929 | "argparse": "^1.0.7", 930 | "esprima": "^4.0.0" 931 | } 932 | }, 933 | "json-schema-traverse": { 934 | "version": "0.4.1", 935 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 936 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 937 | "dev": true 938 | }, 939 | "json-stable-stringify-without-jsonify": { 940 | "version": "1.0.1", 941 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 942 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 943 | "dev": true 944 | }, 945 | "json5": { 946 | "version": "1.0.1", 947 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 948 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 949 | "dev": true, 950 | "requires": { 951 | "minimist": "^1.2.0" 952 | } 953 | }, 954 | "levn": { 955 | "version": "0.4.1", 956 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 957 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 958 | "dev": true, 959 | "requires": { 960 | "prelude-ls": "^1.2.1", 961 | "type-check": "~0.4.0" 962 | } 963 | }, 964 | "load-json-file": { 965 | "version": "2.0.0", 966 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", 967 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", 968 | "dev": true, 969 | "requires": { 970 | "graceful-fs": "^4.1.2", 971 | "parse-json": "^2.2.0", 972 | "pify": "^2.0.0", 973 | "strip-bom": "^3.0.0" 974 | } 975 | }, 976 | "locate-path": { 977 | "version": "2.0.0", 978 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 979 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 980 | "dev": true, 981 | "requires": { 982 | "p-locate": "^2.0.0", 983 | "path-exists": "^3.0.0" 984 | } 985 | }, 986 | "lodash": { 987 | "version": "4.17.20", 988 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", 989 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", 990 | "dev": true 991 | }, 992 | "minimatch": { 993 | "version": "3.0.4", 994 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 995 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 996 | "dev": true, 997 | "requires": { 998 | "brace-expansion": "^1.1.7" 999 | } 1000 | }, 1001 | "minimist": { 1002 | "version": "1.2.5", 1003 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1004 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1005 | "dev": true 1006 | }, 1007 | "mkdirp": { 1008 | "version": "0.5.5", 1009 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 1010 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 1011 | "dev": true, 1012 | "requires": { 1013 | "minimist": "^1.2.5" 1014 | } 1015 | }, 1016 | "ms": { 1017 | "version": "2.1.2", 1018 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1019 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1020 | "dev": true 1021 | }, 1022 | "natural-compare": { 1023 | "version": "1.4.0", 1024 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1025 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1026 | "dev": true 1027 | }, 1028 | "normalize-package-data": { 1029 | "version": "2.5.0", 1030 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 1031 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 1032 | "dev": true, 1033 | "requires": { 1034 | "hosted-git-info": "^2.1.4", 1035 | "resolve": "^1.10.0", 1036 | "semver": "2 || 3 || 4 || 5", 1037 | "validate-npm-package-license": "^3.0.1" 1038 | }, 1039 | "dependencies": { 1040 | "semver": { 1041 | "version": "5.7.1", 1042 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1043 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1044 | "dev": true 1045 | } 1046 | } 1047 | }, 1048 | "object-inspect": { 1049 | "version": "1.8.0", 1050 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", 1051 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", 1052 | "dev": true 1053 | }, 1054 | "object-keys": { 1055 | "version": "1.1.1", 1056 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1057 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1058 | "dev": true 1059 | }, 1060 | "object.assign": { 1061 | "version": "4.1.1", 1062 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", 1063 | "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", 1064 | "dev": true, 1065 | "requires": { 1066 | "define-properties": "^1.1.3", 1067 | "es-abstract": "^1.18.0-next.0", 1068 | "has-symbols": "^1.0.1", 1069 | "object-keys": "^1.1.1" 1070 | }, 1071 | "dependencies": { 1072 | "es-abstract": { 1073 | "version": "1.18.0-next.1", 1074 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", 1075 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", 1076 | "dev": true, 1077 | "requires": { 1078 | "es-to-primitive": "^1.2.1", 1079 | "function-bind": "^1.1.1", 1080 | "has": "^1.0.3", 1081 | "has-symbols": "^1.0.1", 1082 | "is-callable": "^1.2.2", 1083 | "is-negative-zero": "^2.0.0", 1084 | "is-regex": "^1.1.1", 1085 | "object-inspect": "^1.8.0", 1086 | "object-keys": "^1.1.1", 1087 | "object.assign": "^4.1.1", 1088 | "string.prototype.trimend": "^1.0.1", 1089 | "string.prototype.trimstart": "^1.0.1" 1090 | } 1091 | } 1092 | } 1093 | }, 1094 | "object.values": { 1095 | "version": "1.1.1", 1096 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", 1097 | "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", 1098 | "dev": true, 1099 | "requires": { 1100 | "define-properties": "^1.1.3", 1101 | "es-abstract": "^1.17.0-next.1", 1102 | "function-bind": "^1.1.1", 1103 | "has": "^1.0.3" 1104 | } 1105 | }, 1106 | "once": { 1107 | "version": "1.4.0", 1108 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1109 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1110 | "dev": true, 1111 | "requires": { 1112 | "wrappy": "1" 1113 | } 1114 | }, 1115 | "optionator": { 1116 | "version": "0.9.1", 1117 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1118 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1119 | "dev": true, 1120 | "requires": { 1121 | "deep-is": "^0.1.3", 1122 | "fast-levenshtein": "^2.0.6", 1123 | "levn": "^0.4.1", 1124 | "prelude-ls": "^1.2.1", 1125 | "type-check": "^0.4.0", 1126 | "word-wrap": "^1.2.3" 1127 | } 1128 | }, 1129 | "p-limit": { 1130 | "version": "1.3.0", 1131 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1132 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1133 | "dev": true, 1134 | "requires": { 1135 | "p-try": "^1.0.0" 1136 | } 1137 | }, 1138 | "p-locate": { 1139 | "version": "2.0.0", 1140 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1141 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1142 | "dev": true, 1143 | "requires": { 1144 | "p-limit": "^1.1.0" 1145 | } 1146 | }, 1147 | "p-try": { 1148 | "version": "1.0.0", 1149 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1150 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 1151 | "dev": true 1152 | }, 1153 | "parent-module": { 1154 | "version": "1.0.1", 1155 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1156 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1157 | "dev": true, 1158 | "requires": { 1159 | "callsites": "^3.0.0" 1160 | } 1161 | }, 1162 | "parse-json": { 1163 | "version": "2.2.0", 1164 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 1165 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 1166 | "dev": true, 1167 | "requires": { 1168 | "error-ex": "^1.2.0" 1169 | } 1170 | }, 1171 | "path-exists": { 1172 | "version": "3.0.0", 1173 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1174 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1175 | "dev": true 1176 | }, 1177 | "path-is-absolute": { 1178 | "version": "1.0.1", 1179 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1180 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1181 | "dev": true 1182 | }, 1183 | "path-key": { 1184 | "version": "3.1.1", 1185 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1186 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1187 | "dev": true 1188 | }, 1189 | "path-parse": { 1190 | "version": "1.0.6", 1191 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1192 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 1193 | "dev": true 1194 | }, 1195 | "path-type": { 1196 | "version": "2.0.0", 1197 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", 1198 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", 1199 | "dev": true, 1200 | "requires": { 1201 | "pify": "^2.0.0" 1202 | } 1203 | }, 1204 | "pify": { 1205 | "version": "2.3.0", 1206 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1207 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 1208 | "dev": true 1209 | }, 1210 | "pkg-dir": { 1211 | "version": "2.0.0", 1212 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", 1213 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", 1214 | "dev": true, 1215 | "requires": { 1216 | "find-up": "^2.1.0" 1217 | } 1218 | }, 1219 | "prelude-ls": { 1220 | "version": "1.2.1", 1221 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1222 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1223 | "dev": true 1224 | }, 1225 | "progress": { 1226 | "version": "2.0.3", 1227 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1228 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1229 | "dev": true 1230 | }, 1231 | "punycode": { 1232 | "version": "2.1.1", 1233 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1234 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1235 | "dev": true 1236 | }, 1237 | "read-pkg": { 1238 | "version": "2.0.0", 1239 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", 1240 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", 1241 | "dev": true, 1242 | "requires": { 1243 | "load-json-file": "^2.0.0", 1244 | "normalize-package-data": "^2.3.2", 1245 | "path-type": "^2.0.0" 1246 | } 1247 | }, 1248 | "read-pkg-up": { 1249 | "version": "2.0.0", 1250 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", 1251 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", 1252 | "dev": true, 1253 | "requires": { 1254 | "find-up": "^2.0.0", 1255 | "read-pkg": "^2.0.0" 1256 | } 1257 | }, 1258 | "regexpp": { 1259 | "version": "3.1.0", 1260 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", 1261 | "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", 1262 | "dev": true 1263 | }, 1264 | "resolve": { 1265 | "version": "1.17.0", 1266 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 1267 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 1268 | "dev": true, 1269 | "requires": { 1270 | "path-parse": "^1.0.6" 1271 | } 1272 | }, 1273 | "resolve-from": { 1274 | "version": "4.0.0", 1275 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1276 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1277 | "dev": true 1278 | }, 1279 | "rimraf": { 1280 | "version": "2.6.3", 1281 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1282 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1283 | "dev": true, 1284 | "requires": { 1285 | "glob": "^7.1.3" 1286 | } 1287 | }, 1288 | "semver": { 1289 | "version": "7.3.2", 1290 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 1291 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", 1292 | "dev": true 1293 | }, 1294 | "shebang-command": { 1295 | "version": "2.0.0", 1296 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1297 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1298 | "dev": true, 1299 | "requires": { 1300 | "shebang-regex": "^3.0.0" 1301 | } 1302 | }, 1303 | "shebang-regex": { 1304 | "version": "3.0.0", 1305 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1306 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1307 | "dev": true 1308 | }, 1309 | "slice-ansi": { 1310 | "version": "2.1.0", 1311 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 1312 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 1313 | "dev": true, 1314 | "requires": { 1315 | "ansi-styles": "^3.2.0", 1316 | "astral-regex": "^1.0.0", 1317 | "is-fullwidth-code-point": "^2.0.0" 1318 | } 1319 | }, 1320 | "spdx-correct": { 1321 | "version": "3.1.1", 1322 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", 1323 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", 1324 | "dev": true, 1325 | "requires": { 1326 | "spdx-expression-parse": "^3.0.0", 1327 | "spdx-license-ids": "^3.0.0" 1328 | } 1329 | }, 1330 | "spdx-exceptions": { 1331 | "version": "2.3.0", 1332 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", 1333 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", 1334 | "dev": true 1335 | }, 1336 | "spdx-expression-parse": { 1337 | "version": "3.0.1", 1338 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", 1339 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", 1340 | "dev": true, 1341 | "requires": { 1342 | "spdx-exceptions": "^2.1.0", 1343 | "spdx-license-ids": "^3.0.0" 1344 | } 1345 | }, 1346 | "spdx-license-ids": { 1347 | "version": "3.0.6", 1348 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", 1349 | "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", 1350 | "dev": true 1351 | }, 1352 | "sprintf-js": { 1353 | "version": "1.0.3", 1354 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1355 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1356 | "dev": true 1357 | }, 1358 | "string-width": { 1359 | "version": "3.1.0", 1360 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1361 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1362 | "dev": true, 1363 | "requires": { 1364 | "emoji-regex": "^7.0.1", 1365 | "is-fullwidth-code-point": "^2.0.0", 1366 | "strip-ansi": "^5.1.0" 1367 | }, 1368 | "dependencies": { 1369 | "ansi-regex": { 1370 | "version": "4.1.0", 1371 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1372 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1373 | "dev": true 1374 | }, 1375 | "strip-ansi": { 1376 | "version": "5.2.0", 1377 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1378 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1379 | "dev": true, 1380 | "requires": { 1381 | "ansi-regex": "^4.1.0" 1382 | } 1383 | } 1384 | } 1385 | }, 1386 | "string.prototype.trimend": { 1387 | "version": "1.0.1", 1388 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", 1389 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", 1390 | "dev": true, 1391 | "requires": { 1392 | "define-properties": "^1.1.3", 1393 | "es-abstract": "^1.17.5" 1394 | } 1395 | }, 1396 | "string.prototype.trimstart": { 1397 | "version": "1.0.1", 1398 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", 1399 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", 1400 | "dev": true, 1401 | "requires": { 1402 | "define-properties": "^1.1.3", 1403 | "es-abstract": "^1.17.5" 1404 | } 1405 | }, 1406 | "strip-ansi": { 1407 | "version": "6.0.0", 1408 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1409 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1410 | "dev": true, 1411 | "requires": { 1412 | "ansi-regex": "^5.0.0" 1413 | } 1414 | }, 1415 | "strip-bom": { 1416 | "version": "3.0.0", 1417 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1418 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1419 | "dev": true 1420 | }, 1421 | "strip-json-comments": { 1422 | "version": "3.1.1", 1423 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1424 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1425 | "dev": true 1426 | }, 1427 | "supports-color": { 1428 | "version": "5.5.0", 1429 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1430 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1431 | "dev": true, 1432 | "requires": { 1433 | "has-flag": "^3.0.0" 1434 | } 1435 | }, 1436 | "table": { 1437 | "version": "5.4.6", 1438 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1439 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1440 | "dev": true, 1441 | "requires": { 1442 | "ajv": "^6.10.2", 1443 | "lodash": "^4.17.14", 1444 | "slice-ansi": "^2.1.0", 1445 | "string-width": "^3.0.0" 1446 | } 1447 | }, 1448 | "text-table": { 1449 | "version": "0.2.0", 1450 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1451 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1452 | "dev": true 1453 | }, 1454 | "tsconfig-paths": { 1455 | "version": "3.9.0", 1456 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", 1457 | "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", 1458 | "dev": true, 1459 | "requires": { 1460 | "@types/json5": "^0.0.29", 1461 | "json5": "^1.0.1", 1462 | "minimist": "^1.2.0", 1463 | "strip-bom": "^3.0.0" 1464 | } 1465 | }, 1466 | "type-check": { 1467 | "version": "0.4.0", 1468 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1469 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1470 | "dev": true, 1471 | "requires": { 1472 | "prelude-ls": "^1.2.1" 1473 | } 1474 | }, 1475 | "type-fest": { 1476 | "version": "0.8.1", 1477 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 1478 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 1479 | "dev": true 1480 | }, 1481 | "uri-js": { 1482 | "version": "4.4.0", 1483 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", 1484 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", 1485 | "dev": true, 1486 | "requires": { 1487 | "punycode": "^2.1.0" 1488 | } 1489 | }, 1490 | "v8-compile-cache": { 1491 | "version": "2.1.1", 1492 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", 1493 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", 1494 | "dev": true 1495 | }, 1496 | "validate-npm-package-license": { 1497 | "version": "3.0.4", 1498 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 1499 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 1500 | "dev": true, 1501 | "requires": { 1502 | "spdx-correct": "^3.0.0", 1503 | "spdx-expression-parse": "^3.0.0" 1504 | } 1505 | }, 1506 | "which": { 1507 | "version": "2.0.2", 1508 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1509 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1510 | "dev": true, 1511 | "requires": { 1512 | "isexe": "^2.0.0" 1513 | } 1514 | }, 1515 | "word-wrap": { 1516 | "version": "1.2.3", 1517 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1518 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1519 | "dev": true 1520 | }, 1521 | "wrappy": { 1522 | "version": "1.0.2", 1523 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1524 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1525 | "dev": true 1526 | }, 1527 | "write": { 1528 | "version": "1.0.3", 1529 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 1530 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 1531 | "dev": true, 1532 | "requires": { 1533 | "mkdirp": "^0.5.1" 1534 | } 1535 | } 1536 | } 1537 | } 1538 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reading-list", 3 | "version": "1.0.0", 4 | "description": "Setup is very simple as all the content as of now is static.", 5 | "main": "index.js", 6 | "scripts": { 7 | "lint": "eslint ./ --fix", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://aundus@github.com/EbookFoundation/reading-lists.git" 13 | }, 14 | "author": "", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/EbookFoundation/reading-lists/issues" 18 | }, 19 | "homepage": "https://github.com/EbookFoundation/reading-lists#readme", 20 | "devDependencies": { 21 | "eslint": "^7.11.0", 22 | "eslint-config-standard": "^14.1.1", 23 | "eslint-plugin-import": "^2.22.1", 24 | "eslint-plugin-node": "^11.1.0", 25 | "eslint-plugin-promise": "^4.2.1", 26 | "eslint-plugin-standard": "^4.0.1" 27 | } 28 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ## Setup Instructions 2 | 3 | Setup is very simple as all the content as of now is static. 4 | 5 | 1. Pull the github repository 6 | 2. Open index.html in your browser 7 | 3. Note the new *My Booklist* link in the Search and Browse tab. 8 | 4. Navigate to any of the books that have a red outline which have the static pages linked. Any other book links are dead links. 9 | 5. Press the new *Add to Booklist* button to add the book to your list and have it be visible under the new *My Booklist* tab. --------------------------------------------------------------------------------